我希望能够确定GPS位置是否在有人或无人居住的区域。
我已经尝试了几个反向地理编码API,比如Nominatim,但没有得到好的结果。它总是返回最近的可能地址,即使我选择了一个位于森林中心的位置。
发布于 2013-01-23 05:36:00
如果你必须自己计算,那么有趣的事情就开始了:
是否有人居住的信息存储在数字地图的"Land_Use“层中。有森林、水、工业、墓地等值。
您必须将这些Land_use多边形导入到特殊的DB (PostGres)中。这样的空间数据库提供了快速的地理索引,只搜索相关的多边形。
有些国家可能也可以存储在主内存中,但是您需要某种地理空间索引,比如Quad-Tree或k-d tree来存储多边形。
一旦导入了多边形,它就是一个简单的“点在多边形”查询,或“半径r内的多边形”。多边形的字体表示土地用途。
OpenStreetMap免费提供了这些多边形。
否则,你必须从TomTom或NavTeq (Nokia Maps)购买。但这只对大公司有意义。
发布于 2013-01-17 06:14:26
由于您使用的是Nominatim,因此您将在回复中返回最近地址的坐标。
由于the distance between two coordinates can be calculated,您可以使用它来计算到找到的最近地址的距离,并由此计算出您是否靠近人口聚居区。
https://stackoverflow.com/questions/14368529
复制相似问题