📜  Python | 反向地理编码以使用地理坐标获取地图上的位置

📅  最后修改于: 2020-05-20 02:52:32             🧑  作者: Mango

反向地理编码是从给定的一对地理坐标(纬度和经度)中查找地点或位置地址的过程。
所需模块:

reverse_geocoder:用于离线反向地理编码的Python库。

Pprint:一个模块,可帮助“漂亮地打印”任意Python数据结构。

安装:
可以使用pip轻松安装模块。

pip install reverse_geocoder
pip install pprint

例子:

输入 : (36.778259, -119.417931)
输出 :
[OrderedDict([('lat', '36.72384'),
              ('lon', '-119.45818'),
              ('name', 'Minkler'),
              ('admin1', 'California'),
              ('admin2', 'Fresno County'),
              ('cc', 'US')])]
输入 : (28.644800, 77.216721)
输出 :
[OrderedDict([('lat', '28.63576'),
              ('lon', '77.22445'),
              ('name', 'New Delhi'),
              ('admin1', 'NCT'),
              ('admin2', 'New Delhi'),
              ('cc', 'IN')])]

下面是实现:

# 用于反向地理编码的Python3程序.
# 导入必要的库
import reverse_geocoder as rg
import pprint
def reverseGeocode(coordinates):
    result = rg.search(coordinates)
    # 结果是包含有序字典的列表.
    pprint.pprint(result)
# 测试代码
if __name__=="__main__":
    # Coorinates tuple.Can contain more than one pair.
    coordinates =(28.613939, 77.209023)
    reverseGeocode(coordinates)

输出:

[OrderedDict([('lat', '28.63576'),
              ('lon', '77.22445'),
              ('name', 'New Delhi'),
              ('admin1', 'NCT'),
              ('admin2', 'New Delhi'),
              ('cc', 'IN')])]