javascript - 在 geoJson 多边形中查找位置
问题描述
嗨,我有一个geoJSON
区域的文件
(科罗拉多州)美国
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-109.0283203125,
37.020098201368114
],
[
-102.06298828125,
37.020098201368114
],
[
-102.06298828125,
40.9964840143779
],
[
-109.0283203125,
40.9964840143779
],
[
-109.0283203125,
37.020098201368114
]
]
]
}
}
]
}
和一个位置
-105.8544607,39.1160152
我有很多不同地区的geoJSON文件,所以我想知道收到的Condinates的位置
我的问题
如何验证-105.8544607,39.1160152
多边形中是否存在位置()?
解决方案
虽然科罗拉多州是一个微不足道的案例(只需将东/西角与您的点经度和北/南与纬度进行比较),我假设您也希望能够处理非方形状态。
我会使用turf.js
library,特别是BooleanContains
方法:
var line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);
var point = turf.point([1, 2]);
turf.booleanContains(line, point);
var pt = turf.point([-77, 44]);
var poly = turf.polygon([[
[-81, 41],
[-81, 47],
[-72, 47],
[-72, 41],
[-81, 41]
]]);
turf.booleanPointInPolygon(pt, poly);
我看不出有太大的区别,但这可能取决于您的数据来自哪里以及它是几何图形还是特征。
推荐阅读
- python - Python Prefect 上的 MySQL 连接
- javascript - 在选择多个复选框时将属性附加到变量
- html - 如何设置动态div高度
- javascript - 在 React.js 中,何时使用 `${}` 将 Javascript 代码注入 JSX,我们何时使用常规 {}?
- plsql - 编写一个 PLSQL 块,如果部门表中没有 emp 表中的 dept_id 可用记录,该块将引发异常
- ios - React Native xCode 巨大的构建时间
- python - 模拟流行病传播的元胞自动机代码
- flutter - 如何解决 Hive 中的动态列表类型转换错误?
- python - 如何分配会话 ID 以记录 pandas 中的数据?
- javascript - 如何在 ejs 文件中更新 javascript-times-ago?