确定GPS位置是否在城市范围内?

时间:2013-01-16 21:50:50

标签: gps location geocoding reverse-geocoding

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

我尝试了几种反向地理编码API,比如Nominatim,但未能取得好成绩。它总是返回最近的可能地址,即使我在森林中间​​选择了一个位置。

有没有办法以合理的准确度来确定?是否有任何数据库或Web服务?

2 个答案:

答案 0 :(得分:1)

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

the distance between two coordinates can be calculated开始,您可以使用它来计算到找到的最近地址的距离,如果您接近人口稠密区域,则可以从中计算出来。

答案 1 :(得分:1)

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

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

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

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

导入多边形后,它是一个简单的“多边形点”查询,或“半径为r的多边形”。 epolygon的错字表示土地使用。

OpenStreetMap免费提供这些多边形。

否则您必须从TomTom或NavTeq(Nokia Maps)购买。但这只对大公司有意义。