情况
我有一个包含 2,000,000
个城市的数据库。所有这些都有市中心的坐标,并且大部分都有 GeoJSON 边界。我正在尝试实现一个地理编码服务,该服务将使用 node.js
、mongodb
、redis
、memcached
(和 golang
,如果有必要的话,因为我对它完全陌生)来查找与给定点相交的城市
问题
我知道如何使用点(纬度和经度),因为 MongoDB
和 Redis
都支持地理索引,但我从未见过有关多边形的任何内容。
我猜MongoDB不会因为它的速度而真正有帮助(因为它在磁盘上工作),但是任何内存数据库都应该处理这个问题。问题是我什至想不出任何方法来实现它。
如果有人指出我如何制作它,我会很高兴。谢谢。
最佳答案
您可以自己实现多边形点算法。我在 https://api.3geonames.org 上做了类似的事情
首先创建边界框来识别候选多边形,然后运行 PIP。 https://en.wikipedia.org/wiki/Point_in_polygon
关于node.js - 如何创建地理编码服务(查找与给定点相交的多边形),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59230360/