Я пытаюсь написать сценарий Automator, который включает, среди прочего, получение данных о местоположении GPS из изображения. Это будет служба поиска.
Из того, что мне удалось обнаружить до сих пор, это включает в себя запуск AppleScript и общение с безголовым Image Events
приложением.
Отсюда, как мне получить широту и долготу изображения?
Я знаю, что есть приложения, которые могут читать эти данные, в том числе из командной строки, но мне было интересно, доступно ли это для MacOS без добавления чего-либо.
Я не верю, что 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
элементом, поэтому эта команда выведет: Does Not Exist
вместо (null)
.
Другими словами, если, например, у фотографии нет kMDItemLatitude
информации, и вы запрашиваете ее, вывод будет (null)
при использовании mdls -name kMDItemLatitude -raw
. Чтобы изменить это, используйте −nullMarker markerString
.
Если a kMDItem
не существует, и вы не хотите, чтобы вывод при использовании использовался, mdls -name attar -raw
используйте mdls -name attar -raw −nullMarker '' /path/to/photo
.
пользователь3439894
mdls
может это сделать, например,mdls -name kMDItemLatitude -name kMDItemLongitude /path/to/photo
однако все зависит от того, что именно вы пытаетесь сделать с этой информацией. Я лично предпочитаю использовать,exiftool
однако вам придется установить его. Если бы вы предоставили больше информации о том, что вы пытаетесь сделать, и были бы немного более явными и конкретными, было бы легче написать и ответить.Маннго
пользователь3439894
Маннго
-nullMarker
опцию (похоже, она не работает для меня, даже когда я использую этуraw
опцию) или есть ли альтернатива для файлов RAW, это будет бонусом. В противном случае это хорошо.