背景
,ArcGIS Server、Geoserver和普通空间数据库往往难以满足GIS实时数据分析和渲染的需求,总是让我感到压抑。此时,我们应该寻求大数据分布式框架的帮助。(ArcGIS中的ga还可以,但是太贵了)
现状
,我了解到有三个框架:Geomesa,Geotrellis,GeoWave geowave。GeoWave和Geomesa都可以支持Geoserver,但是Geotrellis可以支持这两个框架。Geotrellis是一个高性能的GIS数据应用,可以处理栅格和矢量数据,提供实时休息服务,渲染数据,提供切片服务。在本文中,我们将使用其py版本的geopyspark。
准备
首先,在linux(Centos 7)中安装docker,参考菜鸟教程(安装教程)。然后执行下面的命令,经过长时间的等待(安装了一整天,早上终于安装好了),项目完成后就要开始了。
quay.io/geodocker/jupyter-geopyspark:blog
浏览器访问链接localhost:8000/,并输入帐户名密码。hadoop.jupyter中有一个自成一体的例子,修改原来下载的数据代码,并在例子最后一格标注代码。程序会自动下载数据并读取数据,进行计算分析,生成切片,显示到前台界面(原来的数据因为墙的问题没有通过代码下载,所以我提前把数据放在github上)
!curl-o/tmp/bar . geojson https://raw . githubusercontent.com/t polong/geo bocker/master/bar . geojson!curl-o/tmp/caffes . geojson https://raw . githubusercontent.com/t polong/geo docker/master/caffes . geojson!curl-o/tmp/transit . geojson https://raw . githubusercontent.com/t polong/geo bocker/master/transit . geojson!curl-o/tmp/roads . geojson https://raw . githubusercontent.com/tpolong/geodocker/master/roads . geojson
成果

在本例中,主要实现了距离成本计算。距离成本根据酒吧、咖啡馆、换乘站结合道路的不同权重计算。从蓝色到黄色的变化表明成本从高到低的变化。
参考资料:
Geotrellis官网geospark的Github地址
如何用docker运行地质公园地质笔记本
介绍地理公园——一种绑定了python的地理公园