当前位置:   article > 正文

GPS 校验和 代码_如何用一行Python代码,获取地址的GPS地理坐标

gps校验值

本文解释了:如何用一行代码,把“上海市”变成地图上的GPS坐标: (31.2252985, 121.4890497)

1ce8ebf830bd1561c2f9ff8c73a3d028.png

"青铜"做法

百度搜索。

258842f745ca5451addcdb5a6ba7a3bf.png

第一页都快翻完了,好像还是不太确定…

"王者"做法

一行Python代码搞定:

754782837392fac40bc46ac6d587606e.png

完整的、分步骤的详细代码解释,在本文末。

代码解释

上面的一行代码,是针对dataframe数据批量操作的。

下面,为了解释的更加清楚,看一个更简单的例子:针对"上海市"的单一查询。

GPS坐标的查询,本例子中使用了Python GeoPy包的Geocodor功能

Geocodor,既可以获取地址的地理GPS坐标,也可以根据GPS坐标倒推出地址。

1. 首先导入GeoPy 包Geocodor功能:

5b5f234a43908c6ebf6300947a603694.png

注意这里的Nominatim代表了使用的是openstreet的数据。

除了Nominatim,还有其他选择比如Google地图。但是Google地图关闭了开放的API后,使用openstreet更加方便。

2. 建立Geocodor:

17d169d9c1af0c2e6ee5082351ce21ee.png

使用user-agent可以避免openstreet服务器返回错误值。

3. 查询"上海市":

5d934f19e5d3a040ca901ef1f9c45132.png

geolocator.geocode("上海市")会返回一个geopy.location.Location对象,包含了place_ id、osm_type等多项信息。当然其中也包含我们要查询的地理坐标值:lat、lon。

location.raw可以查看其包含具体信息:

971b5dc4bec8e31e91f8cc9d9b187dc7.png

4. 调取location对象中包含的GPS坐标值:

1547cfbc720913b63bb34243fc29494b.png

完整代码和注释

以上四步骤的完整代码,并附加解释:

b271e68dd686df75b87ca6a58e23cfdf.png

如何在dataframe中做批量处理,见上文的"王者"做法中的那一行代码

如何计算地图上两个地点的距离,看我之前写的《Python:如何用一行代码,计算地图上两个地点的距离》:https://www.toutiao.com/item/6859325590843949581/

更多内容,可参考:https://pypi.org/project/geopy/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/997664
推荐阅读
相关标签
  

闽ICP备14008679号