1. 程式人生 > >學習筆記第二章 GIS之 瓦片地圖

學習筆記第二章 GIS之 瓦片地圖

網際網路地圖發展

在2000年左右,網際網路地圖採用CS架構。使用者需要預先在本地安裝客戶端軟體,並且下載儲存向量地圖資訊的.shp檔案才能瀏覽使用地圖。客戶端軟體有Arcmap、MapInfo等。

當Ajax技術興起後,BS架構的網際網路地圖隨之興起。Google最初推出WebGIS。使用者不用安裝客戶端軟體,可以通過瀏覽器直接瀏覽地圖。

瓦片地圖

瓦片技術也是BS架構網際網路地圖服務實現的原因之一。

對於地圖使用者來說,他關注的是由向量資料渲染出來的地圖圖片,但一張包含世界地物資訊的地圖何其之大,若使用者每次使用瀏覽地圖時都要下載和顯示這張地圖明顯是不現實的。瓦片技術就是將已經渲染好的不同縮放等級的地圖圖片按固定大小切片(為了節省儲存空間,一般256*256),並順序命名(比如“2,0,0”,代表第二個圖層x軸第1張,y軸第一張圖片)。這樣當用戶檢視地圖時,只需要請求目前瀏覽部分的圖片即可。

瓦片技術又分為柵格瓦片和向量瓦片。柵格瓦片就是圖片切片,向量瓦片是地圖點線面向量資料(為了減少客戶端計算量,儲存的不是座標位置而是相對位置)。向量瓦片使用的記憶體更小且互動性更強,目前移動端大部分軟體都是使用向量瓦片或柵格向量結合,瀏覽器因為計算能力弱,所以大多使用柵格瓦片。

向量地圖渲染

Shape檔案儲存了地圖中所有點線面的地理座標位置。將shp檔案渲染到電腦螢幕上時,第一個要素是座標系轉換,因為座標使用座標系和電腦螢幕使用座標系是不同的。如圖(左地理座標)


第二個要素是單位轉換,地理座標系每個單位是度量單位,而螢幕座標系單位是畫素,必須要通過某個轉換率進行轉換。參考網站:map.geoq.cn/ArcGIS/rest/services

地圖縮放拖動功能

地圖縮放和拖動是瀏覽地圖必不可少的操作。在沒有瓦片技術時,每次縮放和拖動,客戶端軟體會先計算目前螢幕的座標範圍,然後遍歷shp檔案,將其中屬於該範圍的點線面資料渲染出來,所以每次放大和拖動速度很慢且耗費效能。

當瓦片技術興起後,放大和拖動只需要根據層級和顯示範圍,就可以根據每個瓦片檔名請求相應資料,再加入快取技術,縮放拖動速度都很快。

Openlayer

OpenLayers 是一個專為Web GIS 客戶端開發提供的JavaScript 類庫包,用於實現標準格式釋出的地圖資料訪問。

map:代表一個地圖實體,是最上層結構

layer:圖層,是map的子元素。可以有多個圖層,比如道路圖層,邊界線圖層,資訊點圖層,疊加在一起成一個地圖。

feature:要素,可以理解為資料庫一條記錄,一個地物資訊。是layer子元素。

ArcGIS for Android 

1.GraphicLayer,圖形圖層,只有一個子類

中自形繪製要素,通過樣式與色彩繪製點、線、面。

Layer 載入網路的切片圖層。

 下面的主要來介紹一下Arcgis的主要圖層。

1.GraphicLayer,圖形圖層,只有一個子類

自形繪製要素,通過樣式與色彩繪製點、線、面。

Layer載入網路的切片圖層。

  1. ArcGISLocalTiledLayer local = new ArcGISLocalTiledLayer("/sdcard/<CacheName>/Layers");   
  2. ArcGISLocalTiledLayer local = new ArcGISLocalTiledLayer("/sdcard/<CacheName>.tpk");

3.FeatureLayer,要素圖層,沒有子類,可載入本地shp檔案。通過要素的特性,快速查詢具體的要素資訊

快速載入。

LayerWMSLayer前面兩個用來載入網路動態圖層與網路影象圖層。

備註:主要是學習相關連線 http://www.cnblogs.com/arxive/p/7751847.html

相關推薦

學習筆記第二 GIS 瓦片地圖

網際網路地圖發展 在2000年左右,網際網路地圖採用CS架構。使用者需要預先在本地安裝客戶端軟體,並且下載儲存向量地圖資訊的.shp檔案才能瀏覽使用地圖。客戶端軟體有Arcmap、MapInfo等。 當

《呂鑫:VC++6.0就業培訓寶典MFC視頻教程》學習筆記 -- 第二 MFC原理介紹

第一個 寶典 數據類型 對話 視頻 資源管理 bsp 程序開發 第二章 第二章 MFC原理介紹 2.1 第一個Win32軟件 2.2 Win32對話框程序開發 2.3 程序資源管理和Windows數據類型 2.4 Win32環境下的多對話框管理 2.5 初步學習MFC軟件

網絡是怎樣連接的學習筆記-第二-連接服務器

開頭 串操作 tcp con com png 還需要 什麽 如果 2.2 連接服務器 2.2.1 連接是什麽意思 連接時發生了什麽 客戶端創建套接字告知服務器我要通信 創建套接字之後,應用程序就會調用 connect。隨後協議棧會將本地的套接字與服務器的套接字進行連接。 在

網路是怎樣連線的學習筆記-第二-收發資料(上)

2.3 收發資料 2.3.1 將 HTTP 請求訊息交給協議棧 當控制流程從 connect 回到應用程式之後,接下來就進入資料收發階段了。 資料收發操作是從應用程式呼叫 write 將要傳送的資料交給協議棧開始的,協議棧收到 資料後執行傳送操作,這一操作包含如下要點。 協議棧並不關心應用程式傳來的

網路是怎樣連線的學習筆記-第二-從伺服器斷開並刪除套接字

2.4 從伺服器斷開並刪除套接字 2.4.1 資料傳送完畢後斷開連線 收發資料結束的時間點應該是應用程式判斷所有資料都已經發送完畢的時候。 這時,資料傳送完畢的一方會發起斷開過程,但不同的應用程式會選擇不同的斷開時機。 以 Web 為例,瀏覽器向 Web 伺服器傳送請求訊息,Web 伺服器再

網路是怎樣連線的學習筆記-第二-IP與乙太網的包收發操作(二)

2.5.3 生成包含接收方 IP 地址的 IP 頭部 IP頭部包含的內容 IP 模組接受 TCP 模組的委託負責包的收發工作,它會生成 IP 頭部並附加在 TCP 頭部前面。 IP 頭部包含的內容如表 2.2 所示,其中最重要的內容就是 IP 地址,它表示這個包應該發到哪裡去。 接受方IP地址:應用程

網絡是怎樣連接的學習筆記-第二-IP與以太網的包收發操作(四)

出現 init 信號 height 這樣的 介質 操作系統 初始化 關於 2.5.9 向集線器發送網絡包 發送信號的半雙工和全雙工模式 加上報頭、起始幀分界符和 FCS 之後,我們就可以將包通過網線發送出去了。 發送信號的操作分為兩種,一種是使用集線器的半雙工模式,另一種是

網路是怎樣連線的學習筆記-第二-IP與乙太網的包收發操作(四)

2.5.9 向集線器傳送網路包 傳送訊號的半雙工和全雙工模式 加上報頭、起始幀分界符和 FCS 之後,我們就可以將包通過網線傳送出去了。 傳送訊號的操作分為兩種,一種是使用集線器的半雙工模式,另一種是使用交換機的全雙工模式。 傳送和接收同時並行的方式叫作“全雙工”,相對地,某一時刻只能進行傳送或

網絡是怎樣連接的學習筆記-第二-UDP協議的收發操作

復雜 tro 圖像 單純 火墻 返回 查錯 block 6.2 2.6 UDP 協議的收發操作 2.6.1 不需要重發的數據用 UDP 發送更高效 大多數的應用程序都像之前介紹的一樣使用 TCP 協議來收發數據,但當然也有例外。 有些應用程序不使用 TCP 協議,而是使用

python《資料科學入門》學習筆記第二 2018-8-17開始

昨天早晨發現新買不到一週的自行車被偷了,我的2000大洋啊,心在滴血,小偷我草你媽,去學校安保處與派出所報警也花了一上午,下午接到朋友電話,被告知那個她找了新的男朋友,生活真是日了狗了。苟延殘喘。 經過三個來月的python程式設計,雖然能夠寫一些複雜的演算法。但是編寫速度很慢,原因是基本功不紮

js學習筆記-第二變數、作用域和記憶體問題-執行環境和作用域

//執行環境:執行環境(execution context,為簡單起見,有時也稱為“環境”)是 JavaScript 中最為重要的一個概念。執行環境定義了變數或函式有權訪問的其他資料,決定了它們各自的行為 //變數物件:。每個執行環境都有一個與之關聯的變數物件(variable object

《ESL》學習筆記-第二 監督學習概述

文章目錄 變數的型別 定量變數Y 定性變數G 分類 舉例 編碼方式 兩種最簡單的估計模型 線性模型(使用最小二乘估計) 線性模型 最

《Web前端黑客技術揭祕》學習筆記 第二(二)

Dom樹: <html>是樹根,其他是樹的每個節點 標籤節點以<xxx>表示,屬性節點以@xxx表示,而文字節點以xxx表示 隱私資料可能儲存在: HTML內容中 瀏覽器本地儲存中,如Cookies等 URL地址中 很多網站通過ifram

周志華西瓜書《機器學習筆記學習筆記第二《模型的評估與選擇》

本章是西瓜書的第二章,周志華老師在這一部分基礎對機器學習中的基礎知識進行介紹,主要闡述了誤差、過擬合的相關概念和模型的評估度量方法。 博主在今年元旦之後就要正式開始做畢業設計了,所以我會努力在今年元旦假期結束之前把西瓜書的所有內容更新。也希望大家可以監督我嘻嘻。 一、經驗誤

Nginux學習筆記 第二

檢視所有的程序和埠使用情況檢視80端口占用情況:netstat -apn | grep 80 linux檢查某個埠是否被使用的命令是 netstat -tunlp 會顯示所有埠和所有對應的程式,用grep管道可以過濾出想要的關鍵欄位. 4. 執行 sbin/nginx 命令來啟動 Nginx

《Python自然語言處理》學習筆記-第二

第二章:獲得文字語料和詞彙資源 2.1 獲取文字語料庫 古滕堡語料庫 (1)首先載入nltk包。 (2)使用nltk.corpus.gutenberg.fileids方法能夠獲取古滕堡語料庫中所有的文字識別符號。 (3)使用nltk.corpus.

第一行程式碼學習筆記第二——探究活動

知識點目錄 知識點回顧 2.1 活動是什麼 是一種包含使用者介面的元件,主要用於和使用者進行互動。 2.2 活動的基本用法 Android Studio一個工作區間只允許開啟一個專案,故點選導航欄File –> Close

c++ primer 第五版學習筆記-第二 變數和基本型別

本文為轉載,出處:https://blog.csdn.net/libin1105/article/details/48157115                              https://blog.csdn.net/sunhero2010/article/d

搜尋引擎學習筆記-第二 Web搜尋引擎工作原理和體系結構

搜素引擎,應用軟體系統,網路應用軟體系統。三個功能模組,或說三個子系統:即網頁蒐集、預處理和查詢服務。相互獨立它們的工作形成了搜尋引擎工作的三個階段,通常分別由人工啟動。第二章 Web搜尋引擎工作原理和體系結構基本要求能夠接受使用者通過瀏覽器提交的查詢詞或者短語,記作q。在一個可以接受的時間內返回一個和使用

【Oracle效能診斷藝術】學習筆記----第二:關鍵概念

2.1選擇性和基數 cardinality = selectivity * num_rows 2.2.0 概念 #遊標:    指向私有sql區、及其關聯的共享sql區的控制代碼。 #私有sql區     儲存繫結變數、查詢執行狀態資訊等資料。屬於具體回話 #使用者全域性