use*_*596 17 javascript point-in-polygon geojson d3.js topojson
是否可以使用JavaScript(通过d3,topojson或任何其他方式)确定给定lat,lon中的GeoJSON点是否位于给定的GeoJSON多边形内?
例如,我可以根据这里的教程绘制一张显示英国国家的地图.
然后我有一些点有坐标但没有迹象表明它们在哪个国家.
我想显示每个国家的总点数.
我可以确定哪个国家/地区包含浏览器中的每个点,或者我是否需要使用PostGIS或类似方法在服务器上预处理我的点数据?
the*_*ude 12
好像d3
你已经介绍过:https://github.com/d3/d3-geo#geoContains
d3.geoContains(对象,点)
当且仅当指定的GeoJSON对象包含指定的点时返回true,如果对象不包含该点,则返回false.必须将该点指定为以度为单位的双元素数组[经度,纬度].对于Point和MultiPoint几何,使用精确测试; 对于一个球体,总是返回true; 对于其他几何图形,应用epsilon阈值.
Turf.js提供了一个名为boolean-point-in-polygon的函数
例如:
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8616 次 |
最近记录: |