使用 turf.js 插值路径点时出错

编程入门 行业动态 更新时间:2024-10-05 15:34:14

使用 turf.js 插值<a href=https://www.elefans.com/category/jswz/34/1771438.html style=路径点时出错"/>

使用 turf.js 插值路径点时出错

我正在使用 leaflet、node 和 turf.js 进行 gis 计算。我正在尝试在地图上绘制一条道路,每 200 米有一个点。

在客户端页面(脚本标签内)我有以下内容:

  (async function buildMap(params) {
    const o = await getGeoJSONArr();
    console.log('getGeoJSONArr ',o);
    const polyline1 = o.jsonArr;
    const centerCoords = o.reversedCoords;
    L.tileLayer("https://{s}.tile.openstreetmap/{z}/{x}/{y}.png", {
      attribution:
        'Map data &copy; <a href="/">OpenStreetMap</a> contributors',
      maxZoom: 18,
    }).addTo(mymap);

    mymap.setView(centerCoords, 13);

    console.log("polyline1 ", polyline1);

    const reversedPolyLine1 = polyline1.map((coord) => coord.reverse());

    // have to reverse openstreetmap lat/long for leaflet

    L.polyline(reversedPolyLine1, { color: "blue" }).addTo(mymap);

    var road = turf.lineString(reversedPolyLine1);

    const roadLength = turf.length(road, {
      units: "meters",
    });
    console.log("RL ", roadLength);

    let pointList = [];
    for (let distance = 0; distance < roadLength; distance += 200) {
      const point = turf.along(road, distance, { units: "meters" });
      console.log('point ',point);
      pointList.push(point.geometry.coordinates);
    }
    console.log('pointlist ',pointList);
    L.polyline(pointList, { color: 'red' }).addTo(mymap);

  })();

我在亚利桑那州工作,那里的纬度/经度大约为 (31.xx, -112.xx)。您可以看到第一个点看起来是正确的,但“插值”点的其余部分显示为:

31.x,-67.x ,离亚利桑那州很远。我做错了什么?

回答如下:

更多推荐

使用 turf.js 插值路径点时出错

本文发布于:2024-05-31 01:28:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771132.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:路径   插值   turf   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!