GeoMesa(4)

查询配置

一、设置查询提示

查询提示可以通过两种方式设置——编程方式或通过GeoServer请求。

1.编程方式

import org.geotools.data.Query;

Query query = new Query("typeName");
query.getHints().put(key, value);

2.GeoServer请求

通过修改URL中的查询参数(viewparams )

...&viewparams=key1:value1;key2:value2;

3.命令行工具
当通过GeoMesa命令行工具导出features时,可以使用–hint参数设置查询提示。值为key1=value1;key2=value2。

二、宽松边界

默认情况下,GeoMesa对主边界框查询使用一个不太精确的过滤器。这更快,并且在大多数情况下不会更改返回的结果。然而,某些用例需要一个精确的结果。这可以在数据存储配置级别设置,也可以在每个查询中重写。

需要将QueryHints.LOOSE_BBOX设置为true或false

import org.locationtech.geomesa.index.conf.QueryHints

query.getHints.put(QueryHints.LOOSE_BBOX, false)

三、精确数量

默认情况下,GeoMesa使用计数的估计值。需要通过geomesa.force来获取精确数值。但精确的计数计算更加复杂。
通过将QueryHints.EXACT_COUNT设置为true或false

import org.locationtech.geomesa.index.conf.QueryHints

query.getHints.put(QueryHints.EXACT_COUNT, true)

四、查询索引

GeoMesa可以使用几个不同的索引来满足特定的查询。例如,带有空间过滤器和属性过滤器的查询可能使用主空间索引或属性索引。GeoMesa使用基于成本的查询规划来选择最佳索引,也可以自己重写。

需要将QueryHints.QUERY_INDEX设置为index name或者name:version

import org.locationtech.geomesa.accumulo.index.z2.Z2Index
import org.locationtech.geomesa.index.conf.QueryHints

query.getHints.put(QueryHints.QUERY_INDEX, Z2Index)

过滤器函数

1.currentDate
以java.util.Date的形式返回当前日期。

2.dateToLong
将java.util.Date类型的日期转换为Long类型的毫秒值

3.jsonPath

4.proxyId
将当前featureId转换为Int。这可以用于最小化数据大小,同时提供一个惟一的查找机制。特别是,当使用 Arrow编码返回数据时,可以将featureId设置为4个字节。当检索完整的feature时,时空值可用于提供快速查找,代理ID可用于消除歧义。

5.visibility

根据feature的可见性标记判断当前用户的授权。接受一个可选参数来指定包含可见性标记的feature属性,否则将使用默认的用户数据位置。

  • 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、付费专栏及课程。

余额充值