问题标签 [elasticsearch-geo-shape]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
123 浏览

elasticsearch - 如何查询包含具有至少一个多边形匹配地理形状过滤器的多边形数组的文档?

我有一个带有区域属性的文件。该属性是一个多边形数组。假设多边形代表某些城市的边界。

鉴于我有一个边界框,我想查询那些在边界框中至少有一个多边形的文档。

如果有一个与过滤器匹配的区域或边界框太大,所有多边形都在其中,我的查询有效。

示例区域属性如下所示:

0 投票
0 回答
240 浏览

elasticsearch - Elasticsearch geo_shape 查询给出错误的结果

我面临一个问题,我知道如何找到特定半径内的所有 geo_points,但我需要找到一个特定点所在的区域或 geo_shape。为了解决这个问题,我制作了以下索引:

而这个映射:

以下是示例文档:

我正在做的查询是:

现在,查询中的 latlongs 和 doc 之间的距离几乎是 110-112kms,因此上面的查询返回确切的结果,但是当我查询时[30.363157, 77.28755],即使距离超过 220kms,它仍然返回文档。

我究竟做错了什么?

0 投票
1 回答
384 浏览

google-maps - 谷歌自动完成多边形作为 GeoJson

我试图在谷歌地图文档中找到一种方法来搜索一个地方并得到它的 GeoJson 多边形,但我没有找到类似的东西。

我的目标是创建一个搜索栏来搜索地点,然后将 geojson 多边形发送到我们的后端。我不想把它画在地图或任何与前面有关的东西上。

Nominatim 正在做我想做的事,但Nominatim 政策非常有限,所以在我选择替代方案之前,我想检查谷歌地图是否可以提供相同的服务(特别是因为在谷歌地图上搜索一个国家会检索多边形并将其绘制在地图)。

谢谢你的帮助 !

0 投票
1 回答
618 浏览

elasticsearch - 未能创建有效的 geo_shape

geo_shape尝试在 ES 6.6.1 上创建一个奇怪的错误。

假设我的索引具有以下映射:

然后我尝试索引以下形状:

而且我收到以下错误,这对我来说没有意义,因为我发送的多边形显然有超过 4 个多边形点并且是封闭的。

在http://geojson.io上绘制相同的多边形会产生以下有效多边形:

在 geojson.io 上绘制的包裹

如果有人知道此错误的原因可能是什么,我将不胜感激。

0 投票
0 回答
144 浏览

elasticsearch - 如何为地理形状数据设计 ElasticSearch 文档?

我正在尝试使用 Elastic Search 构建 geoloc 服务(仅限法国)。我有几个索引要创建,例如国家、地区、县、市、包含自己的多边形的邻居。对于每个城市,我都有一个最近的城市列表。

我应该如何设计这种数据,我希望能够:

  1. 按坐标搜索
  2. 全文检索
  3. 按邮政编码、城市名称、邻居名称搜索
  4. 管理分面(例如 n 地区 n 县 n 市)
  5. ETC...

我不知道我是否必须使用path Hierarchy Tokenizer模式。

我试图通过从底部到顶部引用数据来构建唯一索引邻居(邻居 => 城市 => 县 => 地区 => 国家)。但我不知道关于数据量是否是个好主意。(1个国家,40个地区(旧+新),101个县,36000个城市和7700个邻居),尤其是多边形。

任何想法?

提前致谢!!

0 投票
1 回答
197 浏览

elasticsearch - 将 geo_shape 读取为 GeoJSON 文本

我目前通过 NEST 进行弹性搜索查询,该查询正在检索对象,例如

现在的查询正在工作,但我需要更改“Geometria”属性的类型(映射到 elasticseach 存储文档中的 geo_shape 字段)。现在它必须是一个包含 GeoJSON 字符串的字符串。我可以对 MultiPolygonGeoShape 属性进行后处理并根据其内容构建 GeoJSON 字符串,但我想知道......是否有更直接的方法?

据我所知,geo_shape 字段已作为 GeoJSON 字符串存储在 elasticsearch JSON 文档中,因此在我看来,从 JSON 文档中读取 geo_shape、反序列化为 MultiPolygonGeoShape 并后处理为 GeoJSON 是一种资源浪费,当 GeoJSON 从一开始就已经存在时。

0 投票
0 回答
809 浏览

elasticsearch - Elasticsearch geo_shape查询:查找相交/在给定圆内的多边形

弹性搜索 7.5.1

我试图找到所有相交或位于给定圆内的索引多边形/多多边形,而不是在给定多边形内。我的形状被索引为

当前的(多边形)查询看起来像

"type": "circle"如果可能的话,我宁愿提供一个查询,比如

我知道,因为不再支持 V6 圆中的重大更改,但这是否可能以某种方式或 ES 是否为给定的圆提供多边形近似?提前致谢

0 投票
3 回答
964 浏览

python - geojson 到 Elasticsearch:无法镶嵌形状

我正在将一些 geojson 文件(大约 4000 ~ 5000 个多面特征)索引到 Elasticsearch 中。

这是映射

我的索引代码如下所示:

索引操作(在块中)被此错误消息停止:

这个错误的原因是什么?
索引 geojson 文件时可以忽略此错误吗?

0 投票
0 回答
75 浏览

elasticsearch - Elasticsearch - 是否可以在查询中执行空间连接?

我想像在PostGIS中那样执行空间连接。到目前为止,我已经探索了Geo-shape query概述的各种方法,但它们只能通过使用单个形状或通过 id 访问不同索引中的形状来实现,如下所示:

有没有办法在空间上将索引与geo_point文档与另一个或与geo_shape文档相同的索引连接起来?

0 投票
1 回答
43 浏览

elasticsearch - 在多边形中查找坐标

如何找到存储在弹性索引中的多边形。简单映射:

和简单的多边形:

根据文档,只有当多边形包含在请求Geo-polygon query中时,我才能在多边形内搜索坐标,但我需要通过查询中的坐标查找多边形。弹性搜索 7.6 版本。

询问: