如何在Elasticsearch中处理自相交的GeoJson多边形

3
我们正在使用 Elastic Search 中的 shape 数据类型索引 geo-json 多边形。这些多边形是从外部来源提供给我们的。 在索引时,一些多边形会出现以下错误信息。

"无法对形状 [[12.775555, 61.54487] [12.797356, 61.53186] [12.795639, 61.549286] [12.832375, 61.54536] [12.775555, 61.54487] ] 进行分割。可能检测到畸形形状。"

我们认为问题与自相交的多边形有关。根据例如 https://geojsonlint.com 的标准,这些多边形似乎是有效的。下面是一个自相交多边形的示例:
{
        "type": "Polygon",
        "coordinates": [
          [
            [
              12.775554656982422,
              61.54486837329203
            ],
            [
              12.797355651855469,
              61.53186079051699
            ],
            [
              12.795639038085938,
              61.54928480379444
            ],
            [
              12.832374572753906,
              61.54535911881558
            ],
            [
              12.775554656982422,
              61.54486837329203
            ]
          ]
        ]
      }

这篇Stack Overflow帖子似乎表明正确的方法是将自相交的多边形分割成几个多边形,因此上述的多边形将被分割成2个三角形。然而,上述帖子还揭示了Lucene中的一个错误,因此我们有些困惑该期望什么。
因此,我们的问题是,在Elasticsearch中索引自相交的多边形的建议方法是什么?
提前致谢!
1个回答

2
什么是在Elasticsearch中索引自相交多边形的建议方法?
您不能索引自相交的多边形。它们需要遵循OGC规范(http://portal.opengeospatial.org/files/?artifact_id=25355)才能有效。
此外,您分享的多边形让我想知道您生成这些形状的方式是否存在问题。在将这样的多边形分成两个三角形之前,我会尝试了解为什么会生成这样的形状?

1
谢谢回复!很棒你提供了OGC规范的链接。弹性文档可以更清晰地表明OGC是要使用的定义。 我在多边形来源上添加了澄清,它们由外部来源提供给我们。 - Joel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接