如何创建地理编码服务(查找与给定点相交的面)



情况

我有一个包含2,000,000城市的数据库。它们都有市中心的坐标,而且大部分都是GeoJSON边界。我正在尝试实现一种地理编码服务,该服务将使用node.jsmongodbredismemcached(和golang,如果有必要,因为我对它完全陌生(

问题

我知道如何使用点(纬度和液化天然气(,因为MongoDBRedis都支持地理索引,但我从未见过任何关于多边形的信息。

我想MongoDB不会真正帮助它的速度(因为它可以在磁盘上工作(,但是任何内存数据库都应该处理这个问题。问题是我什至想不出任何实现它的方法。

如果有人指出我如何制作,我会很高兴。谢谢。

您可以自己实现多边形中的点算法。我在 https://api.3geonames.org 上做过类似的事情

首先执行边界框以标识候选多边形,然后运行 PIP。 https://en.wikipedia.org/wiki/Point_in_polygon

geo.lua (https://github.com/RedisLabs/geo.lua( 符合您在此处的要求,但它的性能不是很好(不确定自上次我检查以来发生了什么变化(。

相关内容

最新更新