前言
Mapillary是一個透過眾包建立的街景服務,其目標是建立一個群眾外包的平台分享具空間坐標的照片影片,2013年建立以來,這個平台於2016年11月15日到達一億張相片,除了昨天使用的Google街景以外,我們也可以選擇使用Mapillary的街景,Mapillary計畫透過將其使用者生成的資料授權給其他公司使用來獲利(wiki),目前Mapillary的資料已授權OpenStreetMap使用。
Mapillary是一個透過眾包建立的街景服務,其目標是建立一個群眾外包的平台分享具空間坐標的照片影片,2013年建立以來,這個平台於2016年11月15日到達一億張相片,除了昨天使用的Google街景以外,我們也可以選擇使用Mapillary的街景,Mapillary計畫透過將其使用者生成的資料授權給其他公司使用來獲利(wiki),目前Mapillary的資料已授權OpenStreetMap使用。
今天要來接Google路徑導航資訊,Google Maps API有很多很棒的東西可以用在WebGIS,路徑規劃就是其中之一,他的完整名稱是Directions API,把它整合進我們的地圖。
前幾天研究了內插、TIN、 Voronoi Diagram、Contours(等高線)、Heatmaps(熱區圖)與Clustering(群聚圖),這些都是很常見的webGIS資料視覺化應用,今天要來研究的是前陣子很常看到的全球風場圖,看一下到底做了些什麼…
今天延續昨天內插的議題,準備研究一下webGIS中的Contours(等高線)、Heatmaps(熱區圖)與Clustering(群聚圖)等方法,用來增進原本只是點資料的資訊呈現方式。
要算等高線(contours)或等值線我們可以使用turf.js的isobands,要產製一個等值線圖的流程是:1.離散的資料 2.內插(turf.js要使用規則的points) 3.使用isobands。
所以,延續昨天的IDW內插,我們內插一組gridType為points的資料後,想進一步將等值的範圍做整合,這個過程可以採用computer vision中的Marching squares。
這個方法主要需設定的東西是breaks,也就是要分值的斷點,例如0, 5, 10, 15, 20, 25, 30)。
今天的主題是空間資料內插(interpolation),內插是GIS很重要的課題,因為我們拿到的資料(例如觀測站資料)很常是point,內插可以幫助我們把這些離散的資料變成面狀成果,這樣除了方便資料視覺化,也可以進一步進行空間分析。
昨天我們建立了一個初步的地圖,webGIS中,除了基本工具的建立,加入主題性POI資料是主要功能,除了加入地圖以外,也必須有瀏覽POI列表及瀏覽詳細資料的操作功能。
今天就繼續昨天的成果,使用Leaflet實作前述事件及資料綁定的工作,資料部分,就以我們團隊成員建立的網球場資料(僅放部分)作為webGIS POI瀏覽範例吧。
今天開始要逐步建立一個webGIS,練習一下使用Leaflet等API的實戰能力,在開始之前,先設定這個系統的基本功能:
網格(raster)資料是指以規則網格的方式呈現空間資料,可能是長這樣。
上面是試圖以geojson模擬網格資料,網格間隔大概是一英里(1.6km),並且有一個solRad屬性,像這樣用geojson這種向量格式表達網格看起來沒有什麼問題,但是…
假設今天網格的間隔更密一些,範圍在大一些,其資料量可能會很可觀,這時候無論在計算或是前端展示上,GIS傾向會使用影像方式儲存。
再者,上述案例在網格式資料是單一波段的資料(也就是只有solRad這個屬性),網格資料大多都是三個波段的資料(例如正射影像、衛星影像),相關討論我們在[Day 6] 常見的GIS資料格式有探討過。
在webGIS中,我們可能比較少直接處理網格資料,通常都是使用它,今天我們試著使用Leaflet的raster圖層功能。