2

我希望能够确定 GPS 位置是在有人居住的区域还是无人居住的区域。

我已经尝试了几个反向地理编码 API,比如 Nominatim,但都没有得到好的结果。它总是返回最近的可能地址,即使我选择了森林中间的位置。

有没有办法以合理的准确性确定这一点?是否有任何数据库或网络服务?

4

2 回答 2

1

由于您使用的是 Nominatim,因此您将在回复中获得最近地址的坐标。

由于可以计算两个坐标之间的距离,因此您可以使用它来计算到找到的最近地址的距离,并从中确定您是否靠近人口稠密的地区。

于 2013-01-16T22:14:26.387 回答
1

如果您必须自己计算,那么有趣的事情就开始了:

一个地区是否有人居住的信息存储在“ Land_Use”层的数字地图中。有森林、水、工业、墓地等的值。

您必须将这些 Land_use 多边形导入一个特殊的 DB ( PostGres)。这样的空间数据库提供了快速的地理索引,用于仅搜索相关的多边形。

一些国家可能也适合主内存,但是您需要某种地理空间索引,例如Quad-Treek-d tree存储多边形。

导入多边形后,它就是一个简单的“多边形中的点”查询,或“半径 r 内的多边形”。epolygon 的拼写表示土地用途。

OpenStreetMap 免费提供这些多边形。

否则,您必须从TomTom或可能从 NavTeq ( Nokia Maps) 购买它们。但这仅对大公司有意义。

于 2013-01-22T21:36:00.240 回答