У меня есть файл GPS, содержащий такие данные, как
<trkpt lat="56.9359839838" lon="-4.4651045874">
<ele>30.42</ele>
<time>2021-03-30T20:09:56Z</time>
</trkpt>
Затем я могу использовать exiftool в строке cmd (машина на базе Windows), чтобы сделать следующееexiftool -xmp:gpslongitude=-4.4651045874 -xmp:gpslatitude=56.9359839838 -GPSAltitude=30.42 DSC00320_b.JPG
Обратите внимание, что это не работает — exiftool -exif:gpslongitude=-4.4651045874 -exif:gpslatitude=56.9359839838 -GPSAltitude=30.42 DSC00320_a.JPG
это отбрасывает отрицательное значение долготы и помещает метку GPS в неправильное положение (как если бы значение было +ve).
После выполнения команды на основе xmp и загрузки файла, скажем, на Flickr, он поместит его точно в то же место, как если бы значение долготы было положительным! Итак, после проверки другого инструмента (GeoSetter), который имеет предварительный просмотр карты, он загружает то же изображение и помещает его в правильное положение?
Таким образом, Flickr ошибается, но GeoSetter делает это правильно из того же самого изображения.
Покопавшись, я обнаружил, что причина в этом.
Если я использую GeoSetter для установки часового пояса, а затем загружаю его на Flickr, он теперь помещает его в правильное положение.
Итак, проще говоря, как мне установить часовой пояс для данных GPS? Я пробовал следующие команды и ряд других, но все они терпят неудачу.
"-gpstimestamp<${createdate}-00:00"
"-GPSTimeStamp<${DateTimeOriginal}" -n
-Geotime<DateTimeOriginal# -n
"-gpsdatestamp<${DateTimeOriginal}"
Наконец, если я делаю визуальное сравнение данных из одного и того же файла с действительными данными часового пояса (справа) и файлом без него (слева), добавление «Дата/время оцифровано» выделяется как добавленное, поэтому я предполагаю, что именно поэтому файл работает. (есть также значительное количество других изменений в метаданных после добавления часового пояса через GeoSetter, я не думаю, что это имеет отношение к этому вопросу, но по запросу я могу добавить больше деталей)
Обновление информации для всех, кто заинтересован, так как отличный ответ ниже. На этом изображении показана разница в метаданных между рабочим файлом (слева) и файлом, который работает не везде (обратите внимание, что Flickr ошибается) справа. Вы можете видеть, что оба файла содержат правильные данные, но рабочий файл содержит все правильные данные внутри одной группы, в то время как в другом они распределены по разным группам.
Я не могу объяснить, что именно происходит с Flickr, но я могу помочь исправить некоторые детали проблемы.
Вы не можете установить часовой пояс для меток времени GPS ( GPS:GPSDateStamp
и GPS:GPSTimeStamp
), потому что метки времени GPS должны быть в формате UTC. Всегда будет +00:00.
Причина, по которой ваш пример команды GPS не работает, заключается в том, что координаты GPS разделены на шесть отдельных тегов, каждый из которых содержит абсолютное значение для каждой координаты ( / / ), GPSLatitude
а GPSLongitude
другой GPSAltitude
- опорное направление ( GPSLatitudeRef
/ GPSLongitudeRef
/ GPSAltitudeRef
с N/S/ E/W/сверху/снизу). Вам нужно установить оба, чтобы получить точную координату GPS. К счастью, с помощью exiftool вы можете использовать подстановочный знак, чтобы установить оба параметра одновременно.
exiftool -GPSLatitude*=56.9359839838 -GPSLongitude*=-4.4651045874 -GPSAltitude*=30.42 DSC00320_a.JPG
Обратите внимание, что это относится только к GPS-координатам, которые появляются в блоке EXIF (который exiftool группирует в группу GPS
). Теги GPS в XMP-exif
группе включают опорное направление в одном и том же теге, но не все программы могут читать эти теги.
В выходных данных exiftool могут отсутствовать дополнительные сведения, поскольку вы не показываете имена групп и, возможно, повторяющиеся имена тегов. Вы всегда должны использовать команду ExifTool FAQ #3 , чтобы получить всю возможную информацию из файла, чтобы сделать точное сравнение до/после.
Делп
СтарГик
Composite
группы можно игнорировать, так как это данные, которые exiftool создает на основе других тегов. На самом деле его нет в файле в таком виде. Например,Composite
метки GPS состоят из комбинации числовой метки и опорного направления, а не для самостоятельного комбинирования данных. Это делает данные более доступными и читаемыми.