一起幫忙解決難題,拯救IT 人的一天
文章推薦指數: 80 %
向量圖磚(vector tiles). Vector tiles是這幾年webGIS發展的趨勢,它不像wmts是以影像為respond,而是使用geojson,也就是 ...
2018iT邦幫忙鐵人賽
DAY
14
1
ModernWeb
30天打造我的WebGIS系列第
14篇
[Day14]WebGIS中的網格資料
2018鐵人賽
leaflet
mapbox
googlemap
Chimin
2018-01-0201:44:355187瀏覽
前言
網格(raster)資料是指以規則網格的方式呈現空間資料,可能是長這樣:
上面是試圖以geojson模擬網格資料,網格間隔大概是一英里(1.6km),並且有一個solRad屬性,像這樣用geojson這種向量格式表達網格看起來沒有什麼問題,但是...
假設今天網格的間隔更密一些,範圍再大一些,其資料量可能會很可觀,這時候無論在計算或是前端展示上,GIS傾向會使用影像方式儲存。
再者,上述案例在網格式資料是單一波段的資料(也就是只有solRad這個屬性),網格資料大多都是三個波段的資料(例如正射影像、衛星影像),相關討論我們在[Day6]常見的GIS資料格式有探討過。
在webGIS中,我們可能比較少直接處理網格資料,通常都是使用它,今天我們試著使用Leaflet的raster圖層功能。
在地圖放影像:使用Leaflet-ImageOverlay
使用ImageOverlay之前我們先要有資料,這邊我們使用內政部20米DTM。
下載下來之後,原始檔案是*.grd,此時必須使用QGIS這套軟體稍作處理,將其轉為.tif或.jpg等。
原先內政部提供的為TWD97,我們把它轉為WGS84,透過crs設定記錄其範圍坐標(後面要用)。
把這張圖片加入地圖,使用imageOverlay,需要使用剛剛記錄的邊界
varimageUrl='/dist/DEM.tif';
varimageBounds=[[24.8737080,120.9426029],[24.847877,120.958343]];
varimglayer=L.imageOverlay(imageUrl,imageBounds).addTo(map);
成果:
另外,Leaflet也有VideoOverlay的類別,方法差不多,有需要可以自行參考。
介接圖磚服務(WMTS):使用Leaflet-TileLayer
我們在[Day3]談互操作性及WebMapService標準有提到WMS與WMTS,兩者在Leaflet中分別方法可以放入我們的地圖,以國土測繪中心的WMTS為例,我們從Capabilities的xml檔可以看到介接圖磚的資訊。
使用tileLayer實作:
L.tileLayer('https://wmts.nlsc.gov.tw/wmts/EMAP/default/GoogleMapsCompatible/{z}/{y}/{x}').addTo(map);
圖磚(webtiles)跟向量圖磚(vectortiles)
觀察一下剛剛前面增加的兩個圖層:
可以觀察到:
使用imageOverlay,request部分是把整張影像存取下來
而使用tileLayer可以發現整個地圖是以細碎的方式存取,這是兩者最大差異。
對地圖做縮放,imageOverlay並不會重新request資料,tileLayer則會,表示tileLayer是有高度(深度)的。
以上兩點正好可以拿來說明tileLayer,試想,如果我們一次要存取大範圍的影像,使用imageOverlay應該不太妥當,一來影像太大,二來不能依照深度或高度展示不同細節。
圖磚(webtiles)
TileLayer或是說WMTS的設計概念如下圖,簡單來講,就是將原始影像依不同深度切成不同大小的磚,並透過資料標準協定介接規格,所以client端可以根據不同坐標及深度(比例尺)request不同的資料,而不是一次request整張影像,以增加效率:
(取自QGIS)
向量圖磚(vectortiles)
Vectortiles是這幾年webGIS發展的趨勢,它不像wmts是以影像為respond,而是使用geojson,也就是說,過去我們使用的wmts(指通用版電子地圖這類的,不是指正射影像),是把點線面向量資料網格化成影像製成tiles,而vectortiles是以向量的方式respond給client端。
使用vectortiles具有這些優勢(取自mapbox):
可自行定義地圖樣式
vectortile資料小,存取更快
像是Googlemap也是採用vectortile的技術,因此可以使用snazzy這類工具產生樣式定義檔,並在地圖上使用。
其他像是cartodb、mapbox,OpenStreetMap的IDeditor也是利用vectortile技術,而Leaflet也有相關擴充。
留言
追蹤
檢舉
上一篇
[Day13]WebGIS中的向量資料-在Leaflet實作
下一篇
[Day15]wms,wmts資源彙整與OSM
系列文
30天打造我的WebGIS
共30篇
目錄
RSS系列文
訂閱系列文
73人訂閱
26
[Day26]在資料庫中操作空間資料-MongoDB
27
[Day27]WebGIS加入D3.js圖表互動
28
[Day28]WebGL與3DGIS概觀
29
[Day29]WebGIS大觀園
30
[Day30]最重要的回顧
完整目錄
尚未有邦友留言
立即登入留言
iT邦幫忙鐵人賽
參賽組數
1087組
團體組數
52組
累計文章數
20460篇
完賽人數
572人
鐵人賽最新文章
更新網格交易機器人
STM32的開發生態,Cube、HAL庫、LL庫
閒聊STM32CubeMX和STM32CubeIDE
建立第一個單元測試(golang)-1(Day20)
Day38-在AWSLambda中使用YOLO推估(Inference)
Day37-在AWSLambda建立OpenCVLayer
Day36-使用Container建立AmazonSageMaker端點
Day35-AmazonSageMaker簡介
今天來瞄一眼龍與雀的科技:知覺共享技術Body-sharing
更新網格交易機器人
前往鐵人賽
技術推廣專區
[Day2]抓取每日收盤價
[Day1]基本工具安裝
利用python取得永豐銀行API的Nonce
永豐金融API測試員
[Day03]tinyML開發板介紹
[Day01]在享受tinyML這道美食之前
[Day3]使用ta-lib製作指標
計算API所需要的參數:HashID
[Day4]函數打包與買進持有報酬率試算
計算API所需要的參數:IV
前往鐵人賽
熱門問題
請推薦台中IT委外廠商
css選擇器中的[]什麼意思,或怎麼解釋
test這是個測試
請問這個錯在哪?
請教光纖跳接線的選擇
新手程式提問
[MVC][C#]連結中央氣象局天氣,並以氣溫判別顯示對應圖片
請問是否有人有使用過VisualStudioIDE??
請益,每一筆商品資料內的圖片,儲存在資料庫內方式
htmljavascript值存入PHP
IT邦幫忙
站方公告
2021iThome鐵人賽精彩文章超過2萬篇,預計12月揭曉本屆獲勝鐵人
熱門tag
看更多
13th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
2018鐵人賽
javascript
2017鐵人賽
windows
php
python
windowsserver
linux
c#
程式設計
資訊安全
css
vue.js
sql
分享
熱門回答
test這是個測試
請問這個錯在哪?
到底API設計的方向該往哪裡去?
新手程式提問
急!傳值問題
請推薦台中IT委外廠商
[MVC][C#]連結中央氣象局天氣,並以氣溫判別顯示對應圖片
請問是否有人有使用過VisualStudioIDE??
htmljavascript值存入PHP
資料庫的數值sum加總後,數值仍然會少算?!
熱門文章
Day38-在AWSLambda中使用YOLO推估(Inference)
STM32的開發生態,Cube、HAL庫、LL庫
閒聊STM32CubeMX和STM32CubeIDE
建立第一個單元測試(golang)-1(Day20)
Day37-在AWSLambda建立OpenCVLayer
iPhone無法正常關機?可以試試這4個方法
從PDF刪除水印的5種最佳方法
12個類似LibraryGenesis的網站可以下載免費的PDF電子書
網路是怎樣連接的(十二)IP地址怎麼看
2021年6款最佳免費SoundCloud320kbps下載器
一週點數排行
更多點數排行
海綿寶寶(antijava)
raytracy(raytracy)
ccenjor(ccenjor)
Mao(TutelaryMao)
Felix(redqi)
rogeryao(rogeryao)
Homura(homura0731)
juck30808(juck30808)
緯大啊緯大人(mobetae47111)
一級屠豬士(hitomitanaka)
×
At
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{result.label}}
{{result.account}}
關閉
延伸文章資訊
- 1匯出向量式圖磚 - 統計地圖API範例網站
匯出向量式圖磚. 匯出向量式圖磚. 純影像輸出雖具較小的回傳量,但無法附加統計值屬性資訊,且有圖形失真的問題;. 而向量形式輸出,可直接將統計值屬性資料帶入,但在 ...
- 2可用的向量地圖
今年初,Esri 宣布計畫將向量圖磚(vector tiles) 帶入ArcGIS 平台,並分享正在發展中的向量底圖。隨著2015 年11 月ArcGIS Online 的更新,我們介紹了在We...
- 3【瑞竣電子報】No.0160 CARTO提供的向量圖磚服務體驗
在2018年的1月,CARTO為了提供更優質的產品服務,除了原先的CARTO的地圖圖磚技術之外,也整合了向量圖磚服務(MVT,Mapbox Vector Tile),讓使用者在建置 ...
- 4Day04 向量圖磚- iT 邦幫忙::一起幫忙解決難題,拯救IT 人的一天
這篇主要是測試一下如何在GIS應用中使用向量圖磚前面提到向量圖磚可以自行設計style,決定哪些圖層要顯示並給定樣式標準比較常用的的Vector Tile是 ...
- 5用向量圖磚(vector tiles) 自製陽春離線地圖 - 玩具烏托邦
後來發現 mapzen vector tile service 提供各種向量圖磚, 完全符合我的需要。 把一二十塊圖磚抓回來之後, 就可以用d3.js 自製陽春地圖了!