如何在服务器端从多边形列表中找到包含给定 GPS 坐标的多边形?

问题描述

背景信息

我正在使用 Node JS 和 MongoDB 作为数据库,为收集地理空间数据的移动应用程序构建 API。数据包括纬度和经度信息以及与应用程序相关的其他数据。

问题陈述

该移动应用程序从印度的不同州收集数据,在每个州内,将区域划分为分区和范围。每个分区和范围的形状文件可以使用 KML 文件[{lat,long}] 数组格式。应用程序必须找出 gps 位置来自哪个分区/范围,因为该分区/范围是一个多边形。有 15 个州可以运行应用程序,每个州大约有 12-15 个部门。每个分区由 6-10 个范围组成。

我的问题是:-

  1. 如果将 GPS 坐标作为 API 的输入给出,我希望输出是点所在的状态、分区和范围名称。如果它不在任何多边形内(状态/分区/范围),保存在数据库中,API 应该返回 null。

  2. 鉴于我有 [{lat,long}] 数组格式的分区和范围列表,如何将其存储在 MongoDB 中以解决上述问题。

A rough drawing of what I expect

假设 1、2 和 3 是一个州内不同的划分/范围多边形(假设整个白皮书代表印度的一个州),

  1. 当输入点 A (lat : x1,long : y1) 时,输出应该为空,因为它不在任何分区/范围内
  2. 当输入为点 B (lat : x2,long : y2) 时,输出应为多边形 3,因为该点位于多边形 3 内。

提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)