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

确定GPS位置是否在城市范围内?,gps,location,geocoding,reverse-geocoding,Gps,Location,Geocoding,Reverse Geocoding,我希望能够确定GPS位置是在有人居住区还是无人居住区 我尝试了几种反向地理编码API,比如Namingm,但没有得到好的结果。它总是返回最近的可能的地址,即使当我在林中选择一个位置时。 有没有办法以合理的准确度来确定这一点?是否有任何数据库或web服务可用于此目的?因为您使用的是Namingm,所以您将在回复中获得最近地址的坐标 因为,你可以用它来计算到最近地址的距离,并由此计算出你是否靠近人口密集区。如果你必须自己计算,那么有趣的事情开始了: 一个地区是否有人居住的信息存储在数字地图的“土地使

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

我尝试了几种反向地理编码API,比如Namingm,但没有得到好的结果。它总是返回最近的可能的地址,即使当我在林中选择一个位置时。


有没有办法以合理的准确度来确定这一点?是否有任何数据库或web服务可用于此目的?

因为您使用的是Namingm,所以您将在回复中获得最近地址的坐标


因为,你可以用它来计算到最近地址的距离,并由此计算出你是否靠近人口密集区。

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

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

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

有些国家/地区可能也适合主内存,但您需要某种地理空间索引,如
四叉树
k-d树
来存储多边形

导入多边形后,即可进行简单的“多边形中的点”查询或“半径r内的多边形”。字母的类型表示土地的使用

OpenStreetMap免费提供这些多边形。


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

真是个好主意,这只会留下一个问题,即确定你必须离人口密集区多远才能被视为无人居住区;“这将证明是困难的,因为城市的大小差别很大。”雷克斯拉基奥的一个想法是尝试移动几百码,从那里搜索最近的地址。如果它不改变的话,这是一个不错的赌注,它的人口不是很密集。是的,但是当你在谷歌地图上搜索一个城市时,确切的城市区域和边界将被选择为红色。我当然希望能像谷歌那样,进入到准确的边界。我现在明白了,反向地理编码并不是为这个目的而设计的。我正在寻找替代品。