问题标签 [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 投票
2 回答
2368 浏览

javascript - 来自 OpenLayers3 Draw 的自相交多边形的 turf.js 相交错误

我正在使用 OpenLayers3ol.interaction.Draw让用户在地图上绘制一个形状,可以通过单击顶点或通过 Shift+Drag 来绘制自由多边形(这对我的应用程序很重要)。绘制形状后,我使用 turf.js 将绘制的形状与客户端中的 WFS 图层进行比较,运行intersect()以查看 WFS 特征是否与绘制的形状相交。但是,如果手绘形状有最轻微的自相交,turf.jsintersect()函数会失败并出现以下错误(我调用的是第 326 行intersect())。

turf.min.js:9 未捕获 [object Object]
getResultGeometry @ turf.min.js:9
si.overlayOp @ turf.min.js:9
交点 @ turf.min.js:15
e.exports @ turf.min.js :16
(匿名函数)@main.js:326

以下是我的代码草图。

我尝试同时使用 turf.jssimplify()ol.geom.Geometry.simplify()无济于事。有人对让 turf.jsintersect()处理手绘自相交多边形有什么建议吗?或者在运行交叉路口之前删除自交叉路口的方法?

0 投票
1 回答
2832 浏览

javascript - 使用 turfjs 在 Polygon 和 Multipolygon 之间相交

我使用 turfjs 执行 turfjs 的相交函数时出错

在此处输入图像描述

绘制的图层是“多边形”,而我希望它与“多多边形”图层相交。

这是我的代码片段:

0 投票
1 回答
276 浏览

javascript - 重新排序 LineString 坐标 GeoJson

我有大量由许多 LineStrings 组成的 GeoJson 数据。我需要重新排序所有 LineStrings 的坐标,以便尽可能少地出现之字形。所以例如我有这组坐标:

这导致了这一行

在此处输入图像描述

相反,它应该像这样重新排序

这使得这个

在此处输入图像描述

这是一条更明智的路线。

我意识到“明智”在这里是主观的,另一种看待它的方式是,如何重新排列坐标以便获得最直线?

这是我可以使用 turf.js 的东西吗?我浏览了文档,但找不到合适的功能(或者我想错了)

提前致谢!

0 投票
1 回答
948 浏览

angularjs - 如何将 turf.js 与 ionic 一起使用?

我是 ionic 新手,并试图在 ionic 应用程序中使用草皮。首先我通过 npm 使用

这在节点模块中添加了 turf 文件夹。我将它复制到 lib 文件夹中。然后我在索引页面中添加了指向 turf.min.js 的链接。

它给出了这个错误

使用的代码 -

0 投票
2 回答
850 浏览

javascript - TurfJS 将点添加到 MapBox 地图

Turf JS 的新手,一直在研究通过 MapBox API 进行集成。使用默认的 MapBox.Outdoors 地图并一直遵循一些示例 TurfJS 文档http://turfjs.org/docs/#point但似乎无法将我的观点绘制在地图上。非常感谢任何建议,错误似乎在我与 FeatureLayer.setGeoJSON 相关的代码列表行中,但我无法弄清楚。如果我将最后一行保持活动状态,则地图不会加载,如果我将其注释掉,地图会加载但没有显示图钉?

0 投票
1 回答
742 浏览

javascript - 点“内部”许多多边形

我正在尝试使用turf.jsleafletjsturf-inside()的功能。我已经用一个 geojson 点和一个多边形准备了基本示例,但我不能对两个以上的多边形(geojson)做同样的事情。有任何想法吗?

0 投票
1 回答
604 浏览

javascript - 使用 Turf、Leaflet 对六角网格进行分类

我有一个过滤的十六进制网格,我想对其进行分类。

我创建了十六进制

我汇总了价值

其中 myGeoJson 是一个多点 FeatureCollection,MyValue 是一个特征属性,要么为 null 要么 > 0

我过滤了十六进制

每个十六进制对象都可以使用

然后每个对象都有 .feature.properties.NewCol[n] 并且每个数组都有索引 (0, 1, 2) 和值 (null, 1 +)

如何用数组值的总和对每个十六进制网格进行分类?

我已经用本机 javascript 尝试过这个,但我能实现的只是一个包含每个值的字符串。

我哪里错了?有没有更简单的方法?

0 投票
2 回答
2313 浏览

geospatial - Turf.js 与 Polygon、MultiPolygon、GeometryCollection 相交的缓冲区

这是在前端。我正在使用turf.js

场景:获取当前位置 10 公里范围内的所有警告和事件。

我正在获取包含警告或事件的实时 geojson 提要,其中包含许多具有geometry.type='Point' || geometry.type='MultiPolygon' || geometry.type='GeometryCollection'.

到目前为止我做了什么:

使用我当前的坐标创建一个缓冲区特征区域,并比较我附近是否发生了事件(10 公里)。

如果 geometry.type='Point' 我正在使用 turf.inside(point, bufferPolygon) 进行比较,这工作正常。

挑战在于当它不是一个点时,比如 MultiPolygon 或 GeometryCollection,其中包含 MultiPolygons。

我可以用来查找在两个参数中都接受多边形的唯一其他方法是turf.intersect(polygon, bufferPolygon).

在这里,我没有进入geometry.type ='Polygon'我的提要,但它是一个MultiPolygonGeometryCollection(具有 MultiPolygons)。

此外,尝试将 multiPolygon 转换为 Polygon,效果不佳。

任何人都可以建议一种将bufferFeature与一组具有点、多面体和GeometryCollection的特征集合进行比较的方法吗?

0 投票
1 回答
558 浏览

php - 在传单的缓冲区内获取点

我试图让最近的农民(点)到特定的客户(点)。我为该客户制作了一个缓冲区,然后使用 turf-inside 获取缓冲区内的点,但它不起作用,我收到此错误:

未捕获的错误:需要坐标、特征或点几何

这是我的代码

0 投票
1 回答
627 浏览

ajax - Turf.within 不工作

我有一个函数可以让最近的点(农民)到一个特定的点(客户),我在客户周围做了一个与用户有距离的缓冲区,然后我使用 turf.within 来获取这个缓冲区内的所有点(农民) . 如果我在变量中给出特征集合中的坐标数组,它工作正常searchWithin,但是当我将它作为变量(数组)给出时,在这种情况下,缓冲区的点bufresult不起作用。