我希望能够确定GPS位置是否位于有人居住或无人居住的区域。
我尝试了几种反向地理编码API,比如Nominatim,但未能取得好成绩。它总是返回最近的可能地址,即使我在森林中间选择了一个位置。
有没有办法以合理的准确度来确定?是否有任何数据库或Web服务?
答案 0 :(得分:1)
由于您正在使用Nominatim,因此您将在回复中获得最近地址的坐标。
从the distance between two coordinates can be calculated开始,您可以使用它来计算到找到的最近地址的距离,如果您接近人口稠密区域,则可以从中计算出来。
答案 1 :(得分:1)
如果你必须自己计算,那么有趣的事情就会开始:
区域是否有人居住的信息存储在图层“Land_Use
”中的数字地图中。有森林,水,工业,公墓等的价值。
您必须将这些Land_use多边形导入特殊数据库(PostGres
)。
这样的空间数据库提供了快速的地理信息,仅用于搜索相关的多边形。
某些国家/地区也可能适合主内存,但您需要某种地理空间索引,例如Quad-Tree
或k-d tree
来存储多边形。
导入多边形后,它是一个简单的“多边形点”查询,或“半径为r的多边形”。 epolygon的错字表示土地使用。
OpenStreetMap免费提供这些多边形。
否则您必须从TomTom
或NavTeq(Nokia Maps
)购买。但这只对大公司有意义。