geodocker-geomesa安裝指南

背景

    geotrellis作為一個處理遙感數據的框架,對於遙感數據支持的很棒,但是對於矢量數據卻有些不足,首先它的樣式選擇單一,不能像geoserver使用sld自定義出各種樣式,其二就是對與矢量的支持稍弱。那為啥麼要用geomesa呢?這個框架資料還是比較多的,支持矢量操作,geoserver支持,能提供WFS、WMS服務,所以還是比較看好的。

操作

    我們直接看看github地址,按照提示一步步來安裝。下載項目,到geodocker-accumulo-geomesa,運行docker-compose(需要自行安裝),下載數據(如http://data.gdeltproject.org/events/20170710.export.CSV.zip),拷貝數據到docker上,進入容器環境,執行導入數據命令,數據導入後會自動解析出geom,並建立索引

<code>git clone https://github.com/geodocker/geodocker-geomesa.git

cd geodocker-accumulo-geomesa;

docker-compose up

docker ps

docker cp 2016.export.csv geodocker-accumulo-geomesa_accumulo-master_1:/tmp/2016.export.CSV

docker exec -ti geodockeraccumulogeomesa_accumulo-master_1 /usr/bin/bash

cd /opt/geomesa/bin

$ ./geomesa-accumulo ingest -C example-csv -c example -u root -p GisPwd -s example-csv ../examples/ingest/csv/example.csv
/<code>

    按照github的說明就能成功了,然後打完收工。。。好吧事實沒有那麼理想,官網的鏡像有坑,按照他們的方法會發現,根本導不進去數據,出現如下錯誤,缺jar了

geodocker-geomesa安裝指南

原因是導入腳本有問題識別zookeeper.jar出現問題,會把指向具體zookeeper.jar的軟連接和原來的zookeeper.jar識別出來(我也是請教了官方大佬才知道)

    cd /opt/geomesa/bin執行後,使用vi geomesa-accumulo修改

<code>ZOOKEEPER_JAR="$(find -L $ZOOKEEPER_HOME -maxdepth 1 -type f -name *zookeeper*jar)"
/<code>

    為

<code>ZOOKEEPER_JAR="$(find -L $ZOOKEEPER_HOME -maxdepth 1 -type f -name *zookeeper*jar | head -n 1)"
/<code>

    接著就導入成功了

geodocker-geomesa安裝指南

    最後就是使用geoserver發佈服務(http://localhost:9090/geoserver/web,admin:geoserver),根據以下的設置設置數據源,併發布服務。

  • accumulo.instance.id = accumulo
  • accumulo.zookeepers = zookeeper
  • accumulo.user = root
  • accumulo.password = GisPwd
  • accumulo.catalog = geomesa.ingest

最後成果

    我分別使用了三份數據,數據量分別是88w、122w、288w,訪問wms服務分別需要的時間為4.79s、6.04s、7.27s,速度還是很可觀的,還有很大優化空間(目前是單機)。

geodocker-geomesa安裝指南

geodocker-geomesa安裝指南

geodocker-geomesa安裝指南

geodocker-geomesa安裝指南

PS:如果你是用linux導入數據可能會出現超時的現象,需要添加zookeeper超時設置,延長時間(https://github.com/geodocker/geodocker-geomesa/issues/8)

<code>

instance.zookeeper.timeout

15000

timeout limit for zookeeper


/<code>

參考鏈接:

https://github.com/geodocker/geodocker-geomesa

http://planet.qgis.org/planet/tag/geomesa/

https://www.geomesa.org/documentation/tutorials/geodocker-geomesa/geodocker-geomesa-local.html


分享到:


相關文章: