【问题标题】:How to get L.polygon border, excluding inner points如何获得 L.polygon 边界,不包括内部点
【发布时间】:2019-05-04 17:54:45
【问题描述】:

我正在使用Leaflet.js 库。我有一组地理点,由纬度和经度和一个多边形描述,基于这些点。如何删除多边形的内部点并仅绘制它的外部边界?

点数组

[[53, 31], [51.4, 31.2], [51.3, 32] ... etc.] //it's length ~ 500 points.

初始化地图

L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(mymap);

设置多边形

L.polygon(points, {color: 'red'}).addTo(mymap);

这就是我现在所拥有的。这里显示了所有 500 点。

我期待的结果。这里所有的内部点都被删除了,显示了被覆盖的区域。

【问题讨论】:

    标签: javascript arrays leaflet openstreetmap


    【解决方案1】:

    听起来您正在寻找凸包算法:它会为您提供点的“包络”。

    您可以使用例如草皮:https://turfjs.org/docs/#convex

    但请注意,它需要处理转换为 GeoJSON 对象的数据。

    你也可以看看 Leaflet.markercluster 插件是如何实现的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      相关资源
      最近更新 更多