前言
记录一下学习Python过程中的有趣的小程序,仅供娱乐。
本文章是 2020.01.21 时候水的,技术含量大概只有1㎝那么高,各位看官看看就好。
知识点📖📖
知识点 | 释义 | 链接 |
---|---|---|
exifread | 从tiff和jpeg文件中读取Exif元数据,以获取图片中的信息 | |
百度地图API | 功能好多 |
实现
百度地图开放平台:https://lbsyun.baidu.com/apiconsole/key#/home
注册一个应用即可,
调用逆地理编码API
import json
import requests
key = '你的key'
url = f'https://api.map.baidu.com/reverse_geocoding/v3/?ak={key}&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194'
resp = requests.get(url)
result = json.dumps(resp.json()['result']['addressComponent'], indent=4, ensure_ascii=False)
print(result)
运行结果如下图所示:
另外插一句,使用 exifread
模块,可以查看照片的详细信息。
import exifread
def get_long_and_lot(photo):
"""
:param photo: 传入图片路径
:return:
"""
f = open(photo, 'rb') # 二进制打开图片
msg = exifread.process_file(f)
try:
exif_longitude = msg['GPS GPSLongitude'] # 图片经度
exif_latitude = msg['GPS GPSLatitude'] # 图片纬度
exif_create_date = msg['EXIF DateTimeOriginal'] # 创建图片日期
print(exif_longitude, exif_latitude, exif_create_date)
# 返回的值 [113, 20, 1574707/62500] [23, 8, 4155487/200000] 2019:12:09 14:57:32
except:
print('Error!!图片中不包含Gps信息')
get_long_and_lot('图片路径')
exifread模块返回的数据类型为dict,可以看到其中包含了经纬度的信息。
后话
本文借助了百度地图的API实现了逆地理编码,只需要注册百度地图就能申请使用,真香!!!
本次的分享到此结束,
🐱🏍🐱🏍