问题标签 [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.

0 投票
0 回答
3532 浏览

javascript - 未捕获的错误:坐标只能包含数字(Turf 和 Mapbox)

当我在我的 mapbox 上使用 turf 时,它会产生一个错误,特别是这一行:var nearestBuilding = turf.nearest(currentLocation, geoJson);。我使用 mapbox-gl 和草皮来获得最近的建筑物。当我手动输入数据时它可以工作,object.push()但我需要数据库中的信息。

0 投票
0 回答
516 浏览

openlayers - openlayers 和 turfjs(缓冲区)

我正在使用 OL v4.3.2 和 turfjs。我想使用草皮缓冲区功能根据半径围绕单击的特征创建缓冲区,但结果不准确,缓冲区比应有的小得多。所以有人可以帮助我吗?我将不胜感激。

});

0 投票
3 回答
1760 浏览

javascript - 一组多边形的外包络

我有一个包含多个多边形的 GeoJson 文件。像这样的东西。

在此处输入图像描述

我使用 Leaflet 在网站中呈现此 GeoJson。
我想在包围所有多边形的多边形周围画一个轮廓。像这样的东西。 在此处输入图像描述

我正在使用的 GeoJSOn 格式:

}

任何指针都会有所帮助:)谢谢

0 投票
2 回答
1461 浏览

javascript - Google 地图和 Turf.js 折线集成

我正在研究一个示例 google maps 和 turf js 集成。我添加了带有 GeoJson 数据的行。附加了工作片段。但我想从草皮线位置创建一条折线。

我尝试创建一条路径,然后根据这条路径创建我的折线,但无法从草皮线阵列中创建一条路径。

有什么想法我该怎么做?

提前致谢!

0 投票
4 回答
1428 浏览

javascript - 检查一个多边形是否与 Turf.js 中的另一个多边形相交

我在我的应用程序中使用Turf.js进行高级地理空间分析,但找不到检查两个多边形是否相互交叉的方法。Intersect方法不是我想要的,因为如果我有一个小多边形并且想要找到穿过这个小多边形的多边形,这个方法将返回包含这个较小多边形的大重叠多边形。

让我从视觉上解释一下。所以,这是我拥有的多边形:

在此处输入图像描述

在这种情况下,多边形彼此相交:

在此处输入图像描述

在这种情况下,我认为它们不相交:

在此处输入图像描述

在最后一种情况下,绿色多边形的边界不与较小的多边形相交,因此它们不相交。

而我的问题是,是否可以在 Turf.js 中实现这种交集函数?

0 投票
1 回答
1184 浏览

mapbox - 如何沿线放置正方形?(Geojson+地图框)

我有一个矩形,需要用正方形填充它。我找到了中心线,并想沿着这条线放置正方形。但是有没有什么简单的方法可以在 mapboxgl 中用任何其他库(如 turfjs)绘制一个正方形?比如设置正方形的中心和边长并获得正方形的坐标?有任何想法吗?因为用 geojson 放置圆圈不是问题,但对我来说,正方形似乎是个问题,因为我必须计算 4 个坐标。

在此处输入图像描述

0 投票
1 回答
36 浏览

javascript - 复制点图层以进行仿真

我正在尝试模拟城市交通运动(目前我只进入车辆)但我遇到了问题。

发生的情况是,我试图在地图上的每个点模拟 1 辆车,但我不知道如何复制某个图层(并且每个图层都有不同的路线),例如这个:

我不知道我是否可以循环并生成具有不同名称的 N 个点,或者以其他方式进行。

这是我到目前为止所做的视频(为了模拟它,我创建了 2 个不同的图层,因为我不知道如何复制它们):

https://www.youtube.com/watch?v=xWZD9aBUFlg

0 投票
0 回答
77 浏览

javascript - 将多边形分解为线串的算法(地块中的海角)

考虑以下多边形(农业地块) 一块农田

从这个多边形中,我想提取地块的“岬角”,即用于打开场地的多边形(维基百科)的连续线(边)。虽然通常只考虑垂直于场地布局的行,但我需要多边形的所有边。

这里,连续线是指任意一组坐标,其中任意两个坐标之间的夹角不大于值X(例如30度)。对于给定的示例,生成的岬角应如下所示:

以岬角为例

我编写了一个小算法来尝试实现这一点,基本上检查两个坐标之间的角度,如果角度低于 X 度,则将给定坐标推送到现有的 lineString,否则创建新的 lineString(地头)。 查看以下要点

但是,在某些情况下,场的角落是圆形的,因此可能由彼此相距很短的许多坐标组成。然后相对角度可能小于值X,即使拐角太尖而不能在不转动的情况下实际耕种。为了克服这个问题,我添加了一个索引,当坐标太接近而无法比较时,该索引就会增加,以便将下一个坐标与初始坐标进行检查。查看以下要点

这适用于示例中的简单图,但是我正在努力处理更复杂的图,如下所示。第二个示例图

在这里,底部地头与右侧的地头一起被识别为一个线串,即使在光学上给出了一个尖角。此外,发现右上角的两个坐标是一个单独的岬角,即使它们应该连接到右侧的岬角。因此,结果应产生以下结果:在此处输入图像描述

我想知道的是,如果有一种方法可以有效地将任何多边形分解成它的岬角,给定一个特定的转向角度。我在这里为代码设置了一个 repo,如果有帮助的话,这里还有一个包含许多示例的在线测试页面。

0 投票
1 回答
1239 浏览

javascript - *pointsWithinPolygon* 在 Trufjs 上

我正在尝试使用turfjs中的pointsWithinPolygon在多个多边形内获取一些点,但结果出乎意料。

pointsWithinPolygon是否有可能与FeatureCollection不兼容?

这是我的用法示例。

0 投票
2 回答
2008 浏览

javascript - 检查两个 GeoJSON 是否重叠

我有两个有效的 GeoJSON。我试图了解它们是否重叠。我一直在尝试使用 Turf.js 中的 line-intersect,如下所示:

不幸的是,这只会带回一个空的功能集合。

例如,这里有两个重叠的特征(一个包含另一个),但是当我对它们运行 lineIntersect 时,我得到一个空结果: