Javascript 从geojson围绕geojson中的每个点创建多边形

Javascript 从geojson围绕geojson中的每个点创建多边形,javascript,leaflet,maps,mapbox,geojson,Javascript,Leaflet,Maps,Mapbox,Geojson,创建与此处找到的地图类似的地图: 拥有所需的所有数据。 围绕每个多边形创建多边形,中间不留距离。没有重叠或类似 在geojson.io上手工绘制似乎是不可能的。以下是一些需要考虑的事项: 从点创建多边形非常简单。例如,您使用点作为正多边形的中心,按边数划分2PI,并逐步通过点来创建多边形。但是,半径是多少?这取决于您使用的投影。我碰巧使用并非常喜欢这个地图控件。它是默认投影,EPSG:3857。因此,坐标已经在米中了——非常简单。但是如果你的分数是长/纬度,那么你必须做一些数学计算。暂时转换

创建与此处找到的地图类似的地图:

拥有所需的所有数据。 围绕每个多边形创建多边形,中间不留距离。没有重叠或类似


在geojson.io上手工绘制似乎是不可能的。

以下是一些需要考虑的事项:

  • 从点创建多边形非常简单。例如,您使用点作为正多边形的中心,按边数划分2PI,并逐步通过点来创建多边形。但是,半径是多少?这取决于您使用的投影。我碰巧使用并非常喜欢这个地图控件。它是默认投影,EPSG:3857。因此,坐标已经在米中了——非常简单。但是如果你的分数是长/纬度,那么你必须做一些数学计算。暂时转换为不同的投影可能更容易。如果您需要一个开源库,它非常适合gis计算

  • 您还提到了非重叠多边形?在这种情况下,如果使用正多边形,会有很多间隙。如您所说,使非重叠多边形具有它们之间没有距离是一个有趣的约束。现在您正在处理不同形状的多边形。还有一个处理的算法,非常复杂。我知道MapInfo GIS具有将多边形调整为不重叠的功能。但是,在一个使用GeoJSON的JavaScript环境中,您可能正在讨论这方面的服务器端逻辑

  • 您正在查看的地图看起来像是与一起使用的

我想在每个[点]周围创建多边形,并确保它们之间没有距离

你在这里描述的是一个例子。根据您的数据,您可能会选择常规细分(即创建正方形或六边形网格,稍微注意一下坐标系的单位)或GIS人员熟知的细分。请注意,在点的规则栅格上创建的Voronoi细分将生成多边形的规则栅格


有很多用于Voronoi细分的工具。对于javascript和GeoJSON,我选择的工具是。

谢谢你的回答,我正在尝试。我会在几小时后通知你我一直收到一个错误“turf.voronoi不是Object的函数”你知道我做错了什么吗?非常感谢你详细的回答。草皮文件缺乏这种解释。例如,注释是世界上所有的钱:在点的规则网格上创建的Voronoi细分将生成多边形的规则网格。