问题标签 [turfjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 未捕获的错误:坐标只能包含数字(Turf 和 Mapbox)
当我在我的 mapbox 上使用 turf 时,它会产生一个错误,特别是这一行:var nearestBuilding = turf.nearest(currentLocation, geoJson);
。我使用 mapbox-gl 和草皮来获得最近的建筑物。当我手动输入数据时它可以工作,object.push()
但我需要数据库中的信息。
openlayers - openlayers 和 turfjs(缓冲区)
我正在使用 OL v4.3.2 和 turfjs。我想使用草皮缓冲区功能根据半径围绕单击的特征创建缓冲区,但结果不准确,缓冲区比应有的小得多。所以有人可以帮助我吗?我将不胜感激。
});
javascript - Google 地图和 Turf.js 折线集成
我正在研究一个示例 google maps 和 turf js 集成。我添加了带有 GeoJson 数据的行。附加了工作片段。但我想从草皮线位置创建一条折线。
我尝试创建一条路径,然后根据这条路径创建我的折线,但无法从草皮线阵列中创建一条路径。
有什么想法我该怎么做?
提前致谢!
javascript - 复制点图层以进行仿真
我正在尝试模拟城市交通运动(目前我只进入车辆)但我遇到了问题。
发生的情况是,我试图在地图上的每个点模拟 1 辆车,但我不知道如何复制某个图层(并且每个图层都有不同的路线),例如这个:
我不知道我是否可以循环并生成具有不同名称的 N 个点,或者以其他方式进行。
这是我到目前为止所做的视频(为了模拟它,我创建了 2 个不同的图层,因为我不知道如何复制它们):
javascript - 将多边形分解为线串的算法(地块中的海角)
从这个多边形中,我想提取地块的“岬角”,即用于打开场地的多边形(维基百科)的连续线(边)。虽然通常只考虑垂直于场地布局的行,但我需要多边形的所有边。
这里,连续线是指任意一组坐标,其中任意两个坐标之间的夹角不大于值X(例如30度)。对于给定的示例,生成的岬角应如下所示:
我编写了一个小算法来尝试实现这一点,基本上检查两个坐标之间的角度,如果角度低于 X 度,则将给定坐标推送到现有的 lineString,否则创建新的 lineString(地头)。 查看以下要点
但是,在某些情况下,场的角落是圆形的,因此可能由彼此相距很短的许多坐标组成。然后相对角度可能小于值X,即使拐角太尖而不能在不转动的情况下实际耕种。为了克服这个问题,我添加了一个索引,当坐标太接近而无法比较时,该索引就会增加,以便将下一个坐标与初始坐标进行检查。查看以下要点。
这适用于示例中的简单图,但是我正在努力处理更复杂的图,如下所示。
在这里,底部地头与右侧的地头一起被识别为一个线串,即使在光学上给出了一个尖角。此外,发现右上角的两个坐标是一个单独的岬角,即使它们应该连接到右侧的岬角。因此,结果应产生以下结果:
我想知道的是,如果有一种方法可以有效地将任何多边形分解成它的岬角,给定一个特定的转向角度。我在这里为代码设置了一个 repo,如果有帮助的话,这里还有一个包含许多示例的在线测试页面。
javascript - *pointsWithinPolygon* 在 Trufjs 上
我正在尝试使用turfjs中的pointsWithinPolygon在多个多边形内获取一些点,但结果出乎意料。
pointsWithinPolygon是否有可能与FeatureCollection不兼容?
这是我的用法示例。
javascript - 检查两个 GeoJSON 是否重叠
我有两个有效的 GeoJSON。我试图了解它们是否重叠。我一直在尝试使用 Turf.js 中的 line-intersect,如下所示:
不幸的是,这只会带回一个空的功能集合。
例如,这里有两个重叠的特征(一个包含另一个),但是当我对它们运行 lineIntersect 时,我得到一个空结果: