是否可以使用JavasScript确定GeoJSON点是否在GeoJSON多边形内
Is it possible to determine if a GeoJSON point is inside a GeoJSON polygon using JavasScript?
是否可以仅使用JavaScript(通过d3、topojson或任何其他方式)确定给定lat、lon处的GeoJSON点是否位于给定GeoJSON多边形内?
例如,我可以根据这里的教程绘制一张显示英国国家的地图。
然后我有一些点,它们有坐标,但没有指示它们位于哪个国家。
我想显示每个国家的总点数。
我可以在浏览器中计算出哪个国家包含每个点吗?或者我需要使用PostGIS或类似软件在服务器上预处理我的点数据吗?
似乎d3
已经涵盖了:https://github.com/d3/d3-geo#geoContains
d3.geoContains(对象、点)
如果且仅当指定的GeoJSON对象包含指定的点时返回true,如果对象不包含该点则返回false。该点必须指定为以度为单位的双元素数组[经度,纬度]。对于点和多点几何图形,使用精确的测试;对于Sphere,总是返回true;对于其他几何形状,应用ε阈值。
扩展@thedude答案,如果需要对给定的geojson进行多次检查,也可以使用geojson查找。
Turf.js在多边形中提供了一个称为布尔点的函数
例如:
var pt = turf.point([-77, 44]);
var poly = turf.polygon([[
[-81, 41],
[-81, 47],
[-72, 47],
[-72, 41],
[-81, 41]
]]);
turf.booleanPointInPolygon(pt, poly);
//= true
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何检测是否有溢出
- jQuery中是否内置了任何字符串格式化函数
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 测试索引值是否等于某个数字的倍数
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 是否可以禁用jquery中的单个单选按钮
- 是否可以从父类访问子类的属性
- d3.js,是否可以将超链接附加到GeoJSON文件
- Node.js/Javascript库来测试点是否在geojson多极子中
- 如何知道给定的latlng是否在geojson多边形坐标内
- 谷歌地图上是否存在GeoJSON加载事件
- 是否可以使用JavasScript确定GeoJSON点是否在GeoJSON多边形内