AppleScript: получить данные о местоположении изображения

3

Я пытаюсь написать скрипт Automator, который включает, помимо прочего, получение данных о местоположении GPS из изображения. Это будет служба поиска.

Из того, что я смог обнаружить до сих пор, это включает запуск AppleScript и разговор с Image Events обезглавленное приложение.

Отсюда, как я могу получить Широту и; Долгота изображения?

Я знаю, что есть приложения, которые могут читать эти данные, в том числе и из командной строки, но я задавался вопросом, было ли это доступно для MacOS без добавления чего-либо.

Manngo
источник
Я не верю, что Image Events может получить метаданные этого типа из фотографии, однако mdls может сделать это, например mdls -name kMDItemLatitude -name kMDItemLongitude /path/to/photo однако все зависит от того, что именно вы пытаетесь сделать с этой информацией. Я лично предпочитаю использовать exiftool Однако вам придется установить его. Если бы вы предоставили больше информации о том, что вы пытаетесь сделать, и были бы более точными и конкретными, было бы легче написать и ответить.
user3439894
@ user3439894 выглядит хорошо. Можете ли вы изменить свой комментарий в ответ, чтобы я мог принять его?
Manngo
Я могу, однако, вам нужна какая-то дополнительная информация или вы хорошо знаете только то, что я сказал?
user3439894
@ user3439894 Ваш комментарий ответил на вопрос, который я задал, так что этого должно быть достаточно. Однако, если вы знаете, как использовать -nullMarker вариант (это не работает для меня, даже когда я использую raw вариант), или есть ли альтернатива для файлов RAW, это было бы бонусом. В противном случае это хорошо.
Manngo

Ответы:

2

Я не верю, что Image Events может получить метаданные этого типа из фотографии, однако mdls может сделать это, например mdls -name kMDItemLatitude -name kMDItemLongitude /path/to/photo однако все зависит от того, что именно вы пытаетесь сделать с этой информацией. Я лично предпочитаю использовать exiftool Однако вам придется установить его.

Чтобы ответить на вопрос в вашем комментарии:

Если вы запросите attributeName когда используешь -raw и attributeName не существует выход буквально (null) и если вы хотите, чтобы это было что-то еще, используйте −nullMarker markerStringНапример: −nullMarker "Does Not Exist"

mdls -name kMDItemFake -raw -nullMarker "Does Not Exist" /path/to/photo

В приведенном выше примере команды kMDItemFake это подделка kMDItem item, так что команда выведет: Does Not Exist вместо (null),

Другими словами, если в качестве примера фотография не имеет kMDItemLatitude информация, и вы запросите его, вывод будет (null) когда используешь mdls -name kMDItemLatitude -raw, Чтобы изменить это, используйте −nullMarker markerString,

Если kMDItem не существует, и вы не хотите выводить при использовании mdls -name attar -raw затем используйте mdls -name attar -raw −nullMarker '' /path/to/photo,

user3439894
источник
Спасибо за Ваш ответ. У меня есть связанный вопрос: apple.stackexchange.com/questions/271289/... для которого вы могли бы иметь некоторое представление.
Manngo