geodocker-geomesa安装指南
最近研究geopyspark原本以为大数据研究能告一段落,因为。。。


开玩笑的,还要一起建设社会主义呢!!
### 背景
geotrellis作为一个处理遥感数据的框架,对于遥感数据支持的很棒,但是对于矢量数据却有些不足,首先它的样式选择单一,不能像geoserver使用sld自定义出各种样式,其二就是对与矢量的支持稍弱。那为啥么要用geomesa呢?这个框架资料还是比较多的,支持矢量操作,geoserver支持,能提供WFS、WMS服务,所以还是比较看好的。
### 操作
我们直接看看github地址,按照提示一步步来安装。下载项目,到geodocker-accumulo-geomesa,运行docker-compose(需要自行安装),下载数据(如http://data.gdeltproject.org/events/20170710.export.CSV.zip),拷贝数据到docker上,进入容器环境,执行导入数据命令,数据导入后会自动解析出geom,并建立索引
```
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
```
按照github的说明就能成功了,然后打完收工。。。好吧事实没有那么理想,官网的镜像有坑,按照他们的方法会发现,根本导不进去数据,出现如下错误,缺jar了

原因是导入脚本有问题识别zookeeper.jar出现问题,会把指向具体zookeeper.jar的软连接和原来的zookeeper.jar识别出来(我也是请教了官方大佬才知道)
cd /opt/geomesa/bin执行后,使用vi geomesa-accumulo修改
```
ZOOKEEPER_JAR="$(find -L $ZOOKEEPER_HOME -maxdepth 1 -type f -name *zookeeper*jar)"
```
为
```
ZOOKEEPER_JAR="$(find -L $ZOOKEEPER_HOME -maxdepth 1 -type f -name *zookeeper*jar | head -n 1)"
```
接着就导入成功了

最后就是使用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,速度还是很可观的,还有很大优化空间(目前是单机)。




PS:如果你是用linux导入数据可能会出现超时的现象,需要添加zookeeper超时设置,延长时间(https://github.com/geodocker/geodocker-geomesa/issues/8)
```
instance.zookeeper.timeout
15000
timeout limit for zookeeper
```
参考链接:
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
geodocker-geomesa安装指南的更多相关文章
- nGrinder安装指南
NGrinder 由两个模块组成,其运行环境为 Oracle JDK 1.6 nGrinder controller web 应用程序,部署在Tomcat 6.x 或更高的版本 nGrinder A ...
- postgresql pgsql最新版安装指南及数据存储路径更改及主从配置
postgresql pgsql最新版安装指南及数据存储路径更改及主从配置 安装指南 首先在apt的list添加你当前系统版本对应的apt列表 目前官网有16.04,14.04,12.04 分别对应下 ...
- 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)
注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...
- 全新 Mac 安装指南(通用篇)(推荐设置、软件安装、推荐软件)
注:本文将会不定期维护与更新,有需要的朋友请在 Github 上订阅该条 Issues:<全新 Mac 安装指南(通用篇)>. 在 Mac 电脑上只用 Windows 操作系统的同学请看到 ...
- ArchLinux安装指南
将ArchLinux作为进阶Linux发行版,主要看重滚动更新和深入理解Linux的安装过程. 由于是新手,所以先选择在公司电脑上用VMware来安装.然后渐进到借助U盘在win10笔记本上安装双系统 ...
- Linux环境中Openfire安装指南
Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_ ...
- scrapy3_ 安装指南
安装指南 安装Scrapy 注解 请先阅读 平台安装指南. 下列的安装步骤假定您已经安装好下列程序: Python 2.7 Python Package: pip and setuptools. 现在 ...
- storm 原理简介及单机版安装指南——详细版【转】
storm 原理简介及单机版安装指南 本文翻译自: https://github.com/nathanmarz/storm/wiki/Tutorial 原文链接自:http://www.open-op ...
- mac osx 系统 brew install hadoop 安装指南
mac osx 系统 brew install hadoop 安装指南 brew install hadoop 配置 core-site.xml:配置hdfs文件地址(记得chmod 对应文件夹 ...
随机推荐
- python_集合
>>> import random>>> import time>>> x=list(range(10000))>>> y=se ...
- OC和Swift中的UITabBar和UINaviGationBar的适配 [UITabbar在IPad中的适配]
作者 sundays http://www.cnblogs.com/sundaysgarden/ OC中UITabbar的适配[iphoneX和Ipad适配] 自定可以UITabar 自定义UITab ...
- PAT1133:Splitting A Linked List
1133. Splitting A Linked List (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Y ...
- linux查看系统的日志------健康检查特性
last https://www.cnblogs.com/anruy/articles/5541675.html Nginx反向代理,健康状态检测,过载保护及配置文件详 ...
- Myeclipse10.7.1 导出war包报错
myeclipse10.7.1 导出war问题解决办法myeclipse10破解后,导出war包时报"SECURITY ALERT: INTEGERITY CHECK ERROR" ...
- BigDecimal.setScale 处理java小数点
BigDecimal.setScale()方法用于格式化小数点setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接删除多余 ...
- 分布式任务系统gearman的python实战
Gearman是一个用来把工作委派给其他机器.分布式的调用更适合做某项工作的机器.并发的做某项工作在多个调用间做负载均衡.或用来在调用其它语言的函数的系统.Gearman是一个分发任务的程序框架,可以 ...
- jennifersoft,phantomjs
http://jennifersoft.com/en/ Real Value of APM (Application Performance Monitoring) http://npm.taobao ...
- 双层嵌套json字符串(即json对象内嵌json数组)解析为Map
之前我层写过一篇文章,介绍了json与map的相互转化,但当时只涉及到单一的json对象或json数组,对json对象内嵌套这json数组的json字符串无法处理,这篇文章主要解决这个问题. 之前的那 ...
- fixed元素随滚动条无抖动滚动
页面上用fixed定位一个元素,随滚动条滚动位置不变,最开始我只用了css给元素身上写上fixed属性,发现滚动时元素会发生抖动,随后我就在网上找到解决办法,封装了个方法,如下: Css部分 此部分是 ...