2015-08-27 3 views
0

Я пытаюсь получить географическое местоположение из изображения, чтобы показать, где оно сделано. Я использую exifread libriary и эту функцию:Данные Exif не достаточны для информации о местоположении геоданных

def info(image): 
    f = open(image, 'rb') 
    tags = dict(exifread.process_file(f)) 
    for tag in tags.keys(): 
     if "GPS" in tag: 
      print "Key: %s, value %s" % (tag, tags[tag]) 
    return 

Он возвращает мне эту информацию:

Key: GPS GPSLatitudeRef, value N 
Key: GPS GPSLatitude, value [42, 51, 28] 
Key: GPS GPSProcessingMethod, value [65, 83, 67, 73, 73, 0, 0, 0, 71, 80, 83] 
Key: GPS GPSDate, value 2015:08:18 
Key: GPS GPSVersionID, value [2, 2, 0, 0] 
Key: Image GPSInfo, value 722 
Key: GPS GPSAltitudeRef, value 0 
Key: GPS GPSTimeStamp, value [17, 42, 7] 
Key: GPS GPSLongitude, value [74, 19, 35] 
Key: GPS GPSLongitudeRef, value E 
Key: GPS GPSAltitude, value 694 

Я использую GPSLatitude (42.5128) и GPSLongitude (74.1935), как координаты, но точность очень низкая , потому что после запятой есть только 4 числа. Что мне делать, чтобы получить более точные результаты?

ответ

0

Предполагая, что местоположение было определено с помощью не-военного снаряжения на уровне потребителя без какой-либо другой коррекции, 4 десятичных знака настолько точны, насколько вы сможете получить.

Некоторые полезные ссылки:

+0

Фото сделано с хорошей точностью, около 5 метров. И местоположение хорошо определено на некоторых онлайн-ресурсах. Спасибо за ссылки. –

0

Exif хранит широта/долгота данных с помощью рациональных чисел. т.е. A/B. Библиотека, которую вы используете, преобразует их в HMS для вас и, возможно, потеряет некоторую информацию. Проверьте, так ли это, запустив изображение через другой просмотрщик Exif, в идеале прочитав необработанные рациональные значения. Затем вы можете узнать, имеет ли метаданные изображения больше точности, чем вы получаете от exifread.

Смежные вопросы