geotrellis使用(二十六)實現(xiàn)海量空間數(shù)據(jù)的搜索處理查看

目錄

  1. 前言
  2. 前臺實現(xiàn)
  3. 后臺實現(xiàn)
  4. 總結

一、前言

       看到這個題目有人肯定會說這有什么可寫的,最簡單的我只要用文件系統(tǒng)一個個查找、打開就可以實現(xiàn),再高級一點我可以提取出所有數(shù)據(jù)的元數(shù)據(jù),做個元數(shù)據(jù)管理系統(tǒng)就可以實現(xiàn)查找功能,有必要用geotrellis用分布式嗎?這不是殺雞用牛刀嗎?理論上是這樣的,但是要看我們考慮問題的尺度,如果你只是一些簡單的數(shù)據(jù)用傳統(tǒng)方法當然好,省事、省時、簡單、速度快,但是當我們將數(shù)據(jù)的量放大到一個區(qū)域乃至全球的時候恐怕事情就不是那么簡單了,比如我們有了全球Landsat數(shù)據(jù),如何查看某一地區(qū)此數(shù)據(jù)的情況,傳統(tǒng)方法可能要自己先計算出此區(qū)域的Landsat的帶號,然后再找到此數(shù)據(jù)并打開之。如果覺得這海不麻煩,那么當用戶需要考察Landsat的云量或者NDVI的時候是不是又要用戶自己打開數(shù)據(jù)并使用Arcgis等自行計算?是不是很麻煩,而本文介紹的方法是只需要用戶輸入有關此點的信息(帶號或者點位信息),系統(tǒng)能夠自動呈現(xiàn)此區(qū)域的數(shù)據(jù)(或者云量、NDVI等結果),這樣是不是逼格立馬上去了呢?

二、前臺實現(xiàn)

       此功能的前臺也不可謂不復雜,但是難不倒我這個全棧工程師(請忽略此話),費了半天勁,基本實現(xiàn)了前臺的功能??傮w就是一個搜索框加一個按鈕,然后發(fā)送搜索關鍵詞到后臺,后臺返回數(shù)據(jù)列表,前臺逐條展示之,單機每條數(shù)據(jù)的時候在地圖中(地圖框架采用leaflet)呈現(xiàn)此數(shù)據(jù)的情況,類似Google、百度。這里面我主要介紹以下知識點。

2.1 在地圖中添加、刪除標記

       要給用戶呈現(xiàn)數(shù)據(jù)情況,最重要的就是數(shù)據(jù)的空間范圍,簡單的說就是將四個(或多個)頂點逐一連成線在地圖中顯示出來。leaflet可以簡單的使用如下語句實現(xiàn)該功能:

geoJsonOverlay = L.geoJson(geoJson); geoJsonOverlay.addTo(map);

       其中map為L.map('map')對象,geoJson就是想

網(wǎng)友評論