问题标签 [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 回答
1955 浏览

geometry - 确定一个点是否在 GEOJSON 多边形的一定距离内的最佳方法是什么?

确定一个点是否在 GEOJSON 多边形的一定距离内的最佳方法是什么?是否应该使用 TurfJS 缓冲方法(https://github.com/Turfjs/turf-buffer#turf-buffer)?可以对缓冲多边形执行查询吗?

我很清楚可以使用 TurfJS 的内部方法 ( https://github.com/Turfjs/turf-inside ) 来确定一个点是否在多边形内。我只是好奇找出一个点是否在缓冲多边形内的最佳方法是什么。

例如:我有一些作为 GEOJSON 多边形文件提供的社区。我还有一组员工的位置/地址(已经地理编码为纬度/经度坐标)。查看我的员工是否居住在给定邻域多边形 10 英里范围内的最佳方法是什么?

谢谢!

0 投票
1 回答
287 浏览

mapbox - 使用 Mapbox Studio Baselayer 缓慢加载 Turf.JS Hexbin 和 Count

我一直在缓慢加载我一直在寻找在 Mapbox 博客上分叉的项目(链接在这里)。

我已经替换了我自己的 mapbox 键,重新定义了 bbox 以专注于乌克兰,并将地图重新​​居中于我自己的 mapbox studio baselayer 上。但是,当我在计算机上的本地 MAMP 中呈现页面或将其上传到 S3 存储桶时,页面加载缓慢。

不知道我做错了什么,或者我可以改变什么以使其渲染得更快,就像在 bl.ocks.org 示例中一样。

在此处链接我的上述项目版本:https ://s3.amazonaws.com/conflict.donbass/ukraine2.html

0 投票
2 回答
1000 浏览

javascript - Turf.buffer 和一个可拖动的标记

到目前为止,我已经创建了一个标记,将其传输到 geoJSON,并使用 Turf.buffer 在它周围创建了一个缓冲区。当我在地图上拖动它时,如何让这个缓冲区“粘”到标记上?

0 投票
1 回答
2264 浏览

maps - 传单:如何在 geoJSON 折线上使用`getLatLngs`?

bezier我使用turf.js创建了一个 geoJSON 折线对象,如下所示:

然后,我曾经bezier.geometry.coordinates访问它的点数组。但是我真正需要的是LatLng对象数组(因为L.animatedMarker这个插件中需要 latlngs),我想知道是否有一种方法可以像在传单对象上所做的那样提取LatLng数组getLatLngs.

0 投票
1 回答
1086 浏览

coordinates - 查找纬度/经度坐标是否在任何 Leaflet 多边形内

我想检查哪个多边形层(如果有)包含给定的纬度/经度(由map.locate()).

我知道你可以使用 Turf 的inside()功能来做到这一点,但是纯 Leaflet 可以吗?

0 投票
1 回答
557 浏览

javascript - 拖动标记并更新 Turf.js 缓冲区

我正在尝试创建一个标记可拖动的地图,并且它可以缓冲移动。与这个问题所处理的非常相似(几乎相同),在我的情况下,我没有使用 Mapbox.js 只使用普通传单。我目前的代码是:

这给了我一个缓冲区并允许我拖动点和缓冲区,但是,所有以前的缓冲区都保留在地图中。

我做了一些更改以替换该问题中的 mapbox.js 函数,所以我的猜测是这可能是原因。

0 投票
1 回答
845 浏览

leaflet - Leaflet-Omnivore 使外部 file.geojson 可用于 javascript 变量

我正在使用Omnivore 扩展将我的 GeoJSON 文件加载到 Mapbox/Leaflet 地图中。后来,我在这个数据上使用了 Turf.js。

我正在将外部 GeoJSON 文件作为 customLayer 加载到地图中,但无法在变量中提供 GeoJSON 数据以pts供以后使用。

这是我所拥有的 GIST,包括 GeoJSON 文件。

0 投票
0 回答
257 浏览

javascript - Web Worker 不返回执行操作的结果

我有一个网络工作者没有返回执行计算的结果,该方法如下所示:

我调用这样的方法:

我这样调用 nessecary 库:

0 投票
1 回答
1705 浏览

google-maps-api-3 - turf.js / turf.buffer 和 Google Maps API

我有一个简单的谷歌地图。我在给定的 lat, lng 添加了一个标记。

我想使用 turf.js 计算一个 1km 的缓冲区,然后我可以将其显示为 Google Maps 多边形。

turf.buffer() 返回的路径是一个椭圆。从标记到边界的距离在纬度上是正确的。然而,它的纵向距离不足1公里。投影似乎有问题,但是 Google Maps API 和 turf.js 文档都表明 WGS84 是默认投影。

在此处输入图像描述

最终游戏是使用 turf.js 来缓冲点、折线和多边形,所以不幸的是,我不能只画一个谷歌地图圆圈作为解决方法。我会考虑迁移到 Leaflet,但是我们已经在开发 Google Maps API 方面投入了大量资金

我在这里创建了一个显示问题 的 htm 文件

0 投票
1 回答
566 浏览

javascript - 使用 Browserify 构建 turf.js

我正在尝试构建turf-buffer的最新副本,它是turf.js的一个模块。我跑了npm install turf-buffer,然后browserify turf-buffer/index.js > turf.js。但是,在将生成的 turf.js 包含在 html 文件中(它肯定存在)并调用时,var buffered = turf.buffer(originalData, buf, 'meters');我得到了消息turf is not defined。我也尝试过turfjs.xxxturf-buffer.xxx以及其他各种组合。如果我尝试 turfxxxx.yyy,那么我仍然会得到turf is not defined这表明缺少基本的草皮对象。我认为这是 browserify 构建的问题。我需要给 browserify 一个标志,还是缺少特定于包的说明?