如何在elasticsearch中处理自相交的geojson多边形

0lvr5msh  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(569)

我们在ElasticSearch中使用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
            ]
          ]
        ]
      }

这个堆栈溢出帖子似乎表明正确的方法是将自相交的多边形分割成几个多边形,这样上面的多边形就会被分割成2个三角形。然而,上面的帖子也发现了lucene中的一个bug,所以我们对预期的结果有点困惑。
那么,我们的问题是,在elasticsearch中索引自交多边形的建议方法是什么?
提前谢谢!

i5desfxk

i5desfxk1#

在elasticsearch中索引自交多边形的建议方法是什么?
不能索引自交多边形。它们必须符合ogc规范(http://portal.opengeospatial.org/files/?artifact_id=25355).
此外,您共享的多边形使我怀疑您生成这些多边形的方式是否存在问题。在将这样一个多边形拆分为两个三角形之前,我会尝试理解为什么会生成这样的形状?

相关问题