4

如果我用 points: 创建一个多边形层[{"lat":51.509,"lng":-0.08},{"lat":51.503,"lng":-0.06},{"lat":51.51,"lng":-0.047},{"lat":"51.500","lng":"-0.039"}],我会得到如下渲染的东西:

在此处输入图像描述

这不是我所需要的。我也在添加/删除点,并且看不到从多边形中删除相交线的方法,基本上创建了一个填充形状。有人做过吗?我还注意到谷歌地图也有同样的问题。如果真的只是带阴影的折线,那么真正的“多边形”又有什么意义?!

文档: http: //leaflet.cloudmade.com/reference.html#polygon

使用一个简单的多边形,我仍然得到这个,理想情况下,所有最外面的坐标都是填充的边缘。:在此处输入图像描述

4

1 回答 1

1

我对您显示的多边形感到非常困惑,因为它似乎与您的坐标不匹配,所以我将它们放入传单中并得到了这个。

多边形

这对我来说似乎是正确的行为。允许多边形中的线相交。因此,Leaflet 或 Google Maps 没有问题。这就是定义多边形的方式。换句话说,多边形不仅由一组点定义,还由点的顺序定义。

在我看来,您想要的是包含所有点的最小简单多边形(非相交多边形)。您可以重新排序点以获得此信息。但是我不知道有任何算法可以解决这个问题,但这个答案似乎表明问题是 NP 难的。我不是这方面的专家,所以也许其他人可以提供帮助,或者您可以尝试在 Maths 或 GIS stackexchange 中提问。

是的,多边形只是一个填充的折线,第一个点和最后一个点连接在一起。

查看您发布的第二个多边形,听起来您想要的是一组有限点的凸包。如果这是你的问题,有很多算法可以解决这个问题,而且它们也很快。

于 2012-05-25T14:15:09.153 回答