GeoMesa是一款开源的基于分布式计算系统的面向海量时空数据查询与分析的工具包,它支持多种可扩展的、基于云端的数据存储架构,包括Apache Accumulo, HBase,Cassandra,Google Bigtable,以及用于流计算的Apache Kafka 。同时GeoMesa还可以和Apache Storm一起处理流数据,并使用Spark进行空间分析。 同时,GeoMesa以GeoServer插件的形式为GeoServer提供了读取GeoMesa表的功能。在GeoServer中,GeoMesa表作为一种数据源存在,通过GeoServer,用户可以通过WMS/WFS的形式访问GeoMesa的数据。下图展示了GeoMesa for Accumulo的一个应用架构,可以看到,GeoMesa的定位是一个基于分布式数据库的用于海量空间数据处理的数据引擎产品(SDE)。

(图片来自:http://www.geomesa.org/documentation/user/architecture.html)
GeoMesa的源码可以在GitHub官方页面下到,目前最新版分别为2.0.0. 下载完成后在Scala IDE中导入为Maven工程,可以看到如下图所示的代码结构。GeoMesa代码库本身比较复杂,包含了大量的子模块,除了自身所带的一些基础工具模块外,还提供了基于目前主流的分布式存储系统的扩展模块,但是在了解了GeoMesa的架构之后,读者应该不难看出整个工程还是有规律可循的,比如geomesa-index-api提供了最核心的空间数据索接口(GeoMesaFeatureIndex)与数据访问(GeoMesaDataStore)等基础接口类,然后基于此模块分别有geomesa-accum

GeoMesa是一个用于海量时空数据处理的开源工具包,支持多种分布式存储系统,如Accumulo、HBase、Cassandra等。它与GeoServer集成,提供WMS/WFS服务。GeoMesa源码由多个模块组成,如geomesa-index-api提供核心空间索引接口,geomesa-accumulo等模块实现不同数据存储的DataStore。关键组件包括GeoMesaFeatureIndex和GeoMesaDataStore,用于空间索引和数据访问。后续分析将聚焦于空间索引技术和数据访问机制。
最低0.47元/天 解锁文章
584

被折叠的 条评论
为什么被折叠?



