GeoMesa架构

GeoMesa架构

GeoMesa支持多种可扩展的、基于云端的数据存储架构,包括Apache Accumulo, Apache HBased,Google Cloud Bigtable以及用于流计算的Apache Kafka 。同时GeoMesa还可以和Apache Storm一起处理流数据,并使用Spark进行空间分析。 GeoMesa架构如图1:

GeoMesa和GeoServer

GeoMesa以GeoServer插件的形式为GeoServer提供了读取GeoMesa表的功能。在GeoServer中,GeoMesa表作为一种数据源存在,通过GeoServer,用户可以通过WMS/WFS的形式访问GeoMesa的数据。 GeoMesa表作为数据源,如图2:

与GeoMesa集成

为了方便用户使用GeoMesa中存储的数据,GeoMesa通过实现GeoTools接口,提供了使用OGC标准服务接口访问数据的能力,实现的OGC标准有:
  • Web Feature Service (WFS)
  • Web Mapping Service (WMS)
  • Web Processing Service (WPS)
  • Web Coverage Service (WCS)
GeoMesa提供了多种导入数据的方式,包括GeoMesa命令行工具,Hadoop的map-reduce作业以及Apache Storm的实时数据流,如图3: GeoMesa的查询流程图如图4,通过GeoMesa API或GeoTools API,查询操作从Accumulo中数据读出:

键值对存储和Z曲线

GeoMesa的数据存储使用 key-value数据库。key-value数据库是一种NoSQL数据库,其数据按照键值对的形式进行组织、索引和存储。 Accumulo,HBase和Google Cloud Bigtable对这些键进行排序,并可将它们存储在任意数量的节点(服务器)上。 当使用key-value数据库时,Key的良好设计可以使应用程序更高效的运行。与关系数据库不同的是,key-value数据库中会频繁的使用key进行查询。例如在订单数据库中,会以订单号作为key进行存储,当用户查询订单的时候,即可用通过订单号直接查询到订单数据并返回该条数据。Accumulo,HBase和Cloud Bigtable都是使用类似的机制进行工作,GeoMesa同样也是使用该机制来进行数据组织。GeoMesa根据时空数据的特点,实现了生成包含时空信息的Key的算法,算法的基本思想如图5: 图中的红线被称为空间填充曲线,又称为Z曲线。该线顺序访问每个单元格一次,并且能够保证访问次序的唯一性。 Z曲线也能用于高分辨率地图,如图6: Z曲线上的每个点都可以赋予一个顺序值,通过这个顺序值,GeoMesa将经纬度表示为一个整数,这样就将二维数据降为一维数据,可以作为key-value数据库中的key使用。因为Z曲线支持多维数据,所以GeoMesa也支持将多维数据降为一维数据,作为key使用。

GeoMesa 索引

GeoMesa 索引的基本原理计算将三维(经度、纬度、时间)的数据按照Z曲线进行降维,得到一维数据作为Key使用,方便在key-value数据库中进行查询。 实际的Key结构比简单的键值对更复杂。在Accumulo中GeoMesa索引的结构如图7:

查看原文:http://www.giser.net/?p=1551
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Geomesa是一个开源的地理空间分析工具和库,它提供了高效的空间数据处理功能。Geomesa Windows教程是针对使用Windows操作系统的用户提供的教学材料,旨在帮助他们快速上手和使用GeomesaGeomesa Windows教程通常涵盖以下几个方面: 1. 环境准备:首先,需要确保Windows操作系统已经安装和配置好,并且具备一定的计算资源、存储空间和网络连接。 2. Geomesa安装和配置:接下来,需要下载和安装Geomesa软件包,并进行相应的配置。Geomesa可以与Apache Hadoop、Apache Spark和Apache Accumulo等配套使用,所以也需要相应的安装和配置。 3. 数据导入和查询:通过Geomesa,可以将地理空间数据导入到相应的数据存储中,如Hadoop分布式文件系统(HDFS)或者Accumulo数据库。然后,可以使用Geomesa提供的查询功能来进行地理空间数据的分析和检索。常见的操作包括空间范围查询、属性过滤、空间关系分析等。 4. 可视化和结果展示:Geomesa还提供了一些可视化工具和库,可以将地理空间数据进行可视化展示。通过这些工具,可以将结果以地图的形式展示出来,增加用户对数据的直观理解和分析。 需要注意的是,Geomesa Windows教程通常会基于具体的版本和使用场景来进行详细说明,所以用户需要根据自己的实际情况选择合适的教程和资料。另外,Geomesa的学习和使用还需要一定的地理空间数据和编程基础,对于初学者来说可能需要一些时间和精力来学习和掌握。但一旦熟悉了Geomesa的使用方法和技巧,将可以更高效地进行地理空间数据处理和分析工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值