Я работаю над GeoTagger , инструментом для геотегирования фотографий на основе GPS-позиции пользователя во время фотосъемки (в настоящее время он использует данные GPS с https://www.moves-app.com/ ).
Процесс включает в себя добавление метаданных EXIF GPS в файлы фотографий.
Одна из проблем, с которыми я столкнулся, связана с Lightroom: когда метаданные фотографий, которые были импортированы в каталог Lightroom, изменяются извне, Lightroom предлагает только два варианта:
Мне нужен третий вариант: сделать так, чтобы внешне добавленные/измененные теги добавлялись в каталог Lightroom, не связываясь ни с одним из существующих. Или надежный/задокументированный способ обновления каталога напрямую. Возможно ли это достичь?
Если вы измените настройки LR, чтобы сохранить ваши изменения в файлах sidecar (что в любом случае является хорошей идеей), они не потеряются.
Однако обратите внимание, что некоторые метаданные влияют на результаты редактирования — например, используемый объектив -> примененные исправления; и т.п.
Я не знаю прямого способа сделать это.
Вы можете посмотреть инструменты Джеффри Фридля, возможно, некоторые из них могут вам помочь: http://regex.info/blog/lightroom-goodies .
Если вам нравится ваш код, взгляните на руководство по SDK от Adobe:
Разве вы не можете сделать это через модуль карты LR-5?
Нажмите «Карта», затем в нижнем колонтитуле модуля карты: нажмите значок с зигзагообразной линией, затем нажмите «Загрузить треклог», Загрузите файл GPX, исправьте любое смещение часового пояса, нажмите «Автоматическая пометка фото". (Это все элементы контекстного меню значка Zig-Zag)
Другой, более трудоемкий вариант — дважды импортировать файлы в разные папки. Затем в модуле «Карта» на полосе пленки щелкните фотографию, содержащую данные GPS, которые необходимо импортировать, затем щелкните фотографии, на которых отсутствуют эти метаданные GPS, затем нажмите «Синхронизировать метаданные...», установите флажки для координат GPS. По желанию удалите фотографии из второй папки, теперь ненужные.
Я не знаю, соответствует ли это вашим требованиям (я знаю, что ваш вопрос более общий), но, возможно, это все же помогает.
В частности, для геотегов: если вы сначала добавите геотеги, а затем импортируете их в LR, LR сохранит данные и включит их. Если вы попытаетесь изменить данные после импорта, LR будет жаловаться.
Функции « Сохранить метаданные в файлы» и «Чтение метаданных из файла » сделают то, что вам нужно.
Lightroom предоставляет возможность записи библиотечных метаданных в файлы XMP вместе с исходными изображениями, поэтому должна быть возможность написать вашу программу для просмотра этих дополнительных файлов и редактирования существующих данных.
Метаданные можно записывать в файлы с помощью интуитивно понятной команды «Сохранить метаданные в файлы» в меню «Метаданные». Результирующий XMP-файл является внешним как по отношению к библиотеке, так и по отношению к внутренним метаданным исходного изображения. После этого отдельными полями XMP можно манипулировать программно (например, exif:GPSLatitude
полем). Это позволяет избежать перезаписи текущих метаданных старыми метаданными в любой момент, а также сохранит изменения, внесенные в изображения в Lightroom, а также любые метаданные, введенные вручную в библиотеку. После редактирования XMP Lightroom может прочитать изменения обратно в библиотеку с помощью пункта меню «Чтение метаданных из файла».
Предупреждение 1 : Сохранение метаданных библиотеки в файл XMP перезапишет существующий файл в том же месте. Это хорошая вещь. Это означает, что нет простого способа иметь два набора метаданных в разных состояниях. Как программисту наличие двух состояний метаданных может быть удобно для некоторых забавных трюков, но как фотограф я могу лично сказать, что я бы предпочел быть уверенным в том, что существует только одно состояние.
Предупреждение 2 : Lightroom API (начиная с версии 6), по-видимому, не предоставляет ни удобного способа сохранения метаданных текущей библиотеки в файлы перед операцией с ними, ни способа чтения новых метаданных в библиотеку после завершения работы вашей программы. Это означает, что нет простого способа программно гарантировать, что ваш код будет работать с файлами метаданных, состояние которых совпадает с метаданными в каталоге Lightroom. У меня сложилось впечатление, что это гарантия сохранения состояния метаданных библиотеки Lightroom на вершине иерархии, поскольку для многих пользователей библиотека будет представлять достоверное состояние данных.
Обходной путь: возможно, вам придется смириться с тем, чтобы просить пользователя вручную сохранить метаданные перед запуском вашей программы и инструктировать пользователя прочитать обновленные метаданные после завершения. Я сам не программист плагинов LR, но я использовал несколько плагинов, которые используют этот шаблон, так что вполне может быть то, что нужно. К счастью, при обычном использовании это не доставляет больших хлопот, так как пункты меню «Сохранить метаданные в файл» и «Читать метаданные из файлов» находятся всего в одном щелчке мыши в меню «Метаданные» и, вероятно, будут использоваться только один раз после выбора всех изображения, которые будут включены в операцию.
Оливье
Якуб Розточил
Оливье
Якуб Розточил
Аганджу
инкиста