【问题标题】:How to optimize leaflet path?如何优化传单路径?
【发布时间】:2015-10-22 18:00:59
【问题描述】:

我的路径包含超过 13,000 个纬度/经度点。在本地测试它工作正常,但是一旦在设备上它是超级征税和滞后。路径如此密集,因为路径已被捕捉到道路。

我可以做些什么来优化事情,让我的应用运行得更顺畅?根据缩放级别定义路径密度?我该怎么做?

【问题讨论】:

  • 许多 GIS 数据库都具有多边形简化功能。您的主要数据源是什么?
  • 我只是使用谷歌地图来布置路径。您可以推荐一些可能有帮助的工具吗?
  • 使用谷歌地图?请详细说明

标签: angularjs ionic-framework ionic leaflet angular-leaflet-directive


【解决方案1】:

Leaflet 有一个smoothFactor 选项用于L.Polyline 向量:

在每个缩放级别上简化多段线。更多意味着更好的性能和更流畅的外观,更少意味着更准确的表示。

http://leafletjs.com/reference.html#polyline-smoothfactor

【讨论】:

    【解决方案2】:

    您可以将路径简化为 GeoJSON 文件,例如使用在线工具 mapshaper。该网站使用起来非常简单。

    从源头简化也节省了下载时间,而不是获取整个 13k 点并在客户端使用 Leaflet 进行简化。

    【讨论】:

      【解决方案3】:

      如果您正在寻找 JavaScript 解决方案 geojson-mend。前用:

      var geomend = require("geojson-mend");
      var isMended = geomend.nReduce(<GEOJSON OBJECT>, <TOLERANCE>);
      console.log(isMended);
      

      &lt;GEOJSON OBJECT&gt; 替换为您的GeoJSON 对象,将&lt;TOLERANCE&gt; 替换为您想要的分辨率。 0.0001 大致等于11.1m

      在您的场景中,您可以使用此插件的变体来获取和保存有关缩放级别更改的不同级别的详细信息?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-09
        相关资源
        最近更新 更多