【发布时间】:2018-12-23 09:21:21
【问题描述】:
使用 piexif 我得到了纬度和经度的 DMS,我试图将其转换为十进制度,但对于某些图像,我得到的纬度值是 184.62583333333333,它超出了 [-90,90] 范围。
查看下面的代码,
exif_dict = piexif.load('images/DJI_0026.JPG')
long = 0
latt = 0
value = exif_dict['GPS']
if value:
lat = value[2]
lon = value[4]
for i in range(3):
if i == 1:
latt += lat[i][0]/60.0
elif i == 2:
latt += lat[i][0]/3600.0
else:
latt += lat[i][0]
for i in range(3):
if i == 1:
long += lon[i][0]/60.0
elif i == 2:
long += lon[i][0]/3600.0
else:
long += lon[i][0]
print(latt, long)
值 = {0: (2, 3, 0, 0), 1: b'N', 2: ((19, 1), (8, 1), (595773, 10000)), 3: b 'E', 4: ((73, 1), (0, 1), (131775, 10000)), 5: 0, 6: (70989, 1000)}
我关心的是纬度和经度,它们存储在键 2 和 4 的值中。
纬度 = 19+8/60.0+595773/3600.0
经度 = 73+0/60.0+131775/3600.0
这就是输出。
输出:184.62583333333333 109.60416666666666
请告诉我如何在 [-90,90] 范围内标准化纬度。
【问题讨论】:
-
原始EXIF数据是如何编码的?
-
@ThierryLathuille,像这样 {0: (2, 3, 0, 0), 1: b'N', 2: ((19, 1), (8, 1), (595773 , 10000)), 3: b'E', 4: ((73, 1), (0, 1), (131775, 10000)), 5: 0, 6: (70989, 1000)}
-
当您使用调试器单步执行代码时,值与您预期的不同?将坐标与其他程序显示的坐标进行比较。
-
@RolandIllig,我得到了正确的输出,但我想标准化我得到的纬度经度,cz 当你在地图上搜索时,没有这样的纬度和经度的地方。