geopy项目基于 MIT 协议开源,代码托管在 Github 上。是一个关于地理编码的python库。主要有以下几个功能
-
地理编码:将字符串转换为地理位置 -
逆地理编码:用于将地理坐标转换为具体地址 -
计算两个点的距离:经纬度距离和球面距离
GitHub数据
-
3.7k stars -
96 watching -
597 forks
开源地址:https://github.com/geopy/geopy
安装
pip install geopy
举几个例子
地址与坐标计算
支持众多的电子地图服务,例如著名的 Google、Bing、百度、Here 等
from geopy.geocoders import Nominatim
geolocater = Nominatim(user_agent='demo_of_gnss_help')
location = geolocater.geocode('黄鹤楼, 湖北省')
print(location)
黄鹤楼, 和平大道南延, 黄鹤楼街道, 武昌区, 武汉市, 湖北省, 430060, 中国
坐标查询
from geopy.geocoders import Nominatim
geolocater = Nominatim(user_agent='demo_of_gnss_help')
location = geolocater.reverse('39.916527, 116.397128')
print(location.address)
东城区, 北京市, 100010, 中国
距离计算
geopy 的距离计算功能包含在
distance
中,下面计算北京到上海的距离。
# -*- coding:utf-8 -*-
from geopy.geocoders import Nominatim
from geopy import distance
dist = distance.distance((39.896989, 116.383048), (31.230525, 121.473667))
geolocator = Nominatim(user_agent="test_geo")
location = geolocator.reverse("39.896989, 116.383048")
print(location.address)
location = geolocator.reverse("31.230525, 121.473667")
print(location.address)
print(dist.kilometers)
大耳胡同, 大栅栏街道, 西城区, 北京市, 100032, 中国
延安高架路, 同益里, 南京东路街道, 黄浦区, 上海市, 200002, 中国
1066.0682022690328KM
更多功能广大网友可以继续挖掘。
微信公众号:[开源日记],分享10k+Start的优质开源项目。
原文始发于微信公众号(开源日记):3.7k stars Python实现的地理编码测量距离查询工具
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/49832.html