У клиента есть банк изображений с большим количеством изображений. Они классифицировали эти изображения в иерархии. Теперь они хотят переместить изображения в новый банк изображений, и меня просят поместить эту иерархию в данные EXIF или XMP внутри изображений. Технически, используя exiftool, это очень просто, но я не могу найти никаких соглашений о том, какое поле использовать и как. Итак, кто знает, как хранить такие иерархические данные в EXIF?
Итак, немного покопавшись и с помощью подсказки Мурата я нашел на некоторых картинках следующее поле. По сути, это способ, которым Adobe Lightroom хранит информацию, и его можно использовать в качестве стандарта де-факто в вашем проекте. Мы уже использовали подобное решение с нашим собственным именем поля и без использования rdf, но чтобы закрыть этот вопрос, вот решение Lightroom, экспортированное exiftool:
<XMP-lr:HierarchicalSubject>
<rdf:Bag>
<rdf:li>general|mission|ISAF</rdf:li>
<rdf:li>Army|vehicle|Fennek</rdf:li>
<rdf:li>Army|personnel|troops</rdf:li>
<rdf:li>general|mission</rdf:li>
<rdf:li>Army</rdf:li>
</rdf:Bag>
</XMP-lr:HierarchicalSubject>
На этой странице вы можете найти список имен полей XMP, используемых обычным программным обеспечением для работы с фотографиями .
Например, digiKam использует TagsList
имя поля в метаданных XMP для хранения своей иерархии тегов. Поэтому, когда я помечаю изображение вложенным тегом «Брайтон», который вложен в вложенный тег «Восточный Суссекс», вложенный в вложенный тег «Великобритания», вложенный в тег верхнего уровня «расположенный», и а также вложенный тег «Друзья», вложенный в «заполненный» тег верхнего уровня, digiKam добавляет его в поле «Список тегов»:
populated/Friends, located/UK/East-Sussex/Brighton
Этот формат запрещает, чтобы значения отдельных тегов содержали пробелы или косую черту, но я считаю, что теги должны быть компактными и уникальными токенами с определенным значением, а не подробным свободным текстом, поэтому это ограничение не должно быть проблемой.
Честно говоря, не должно иметь значения, как вы решите хранить информацию, если это работает для вас в данный момент и пока вы документируете свои решения, чтобы будущие пользователи могли перенести метаданные в новый формат в будущем, если возникнет необходимость. возникает.
Я бы сказал, что более важно выбрать формат, а затем последовательно его придерживаться. Согласованные данные могут быть переведены и автоматически перенесены из одного формата в другой. Противоречивые данные — это мусор, который требует часов вмешательства человека каждый раз, когда его необходимо обработать. (И я должен знать: обычно мне приходится обрабатывать это.)
Вы можете предложить своему клиенту использовать систему управления цифровыми активами для управления его банком изображений. Самые современные решения DAM могут автоматически сохранять иерархию тегов в XMP.
EXIF в основном используется для хранения технической информации о камере и съемке изображений.
Другим стандартом является IPTC, но он устарел и имеет значительные ограничения на длину полей.
Иерархическая информация поддерживается спецификацией XMP/MWG, но я знаю очень мало программ, которые ее хорошо поддерживают.
Самый популярный подход — хранить иерархические данные внутри вашего XMP (MWG), разделяя каждый уровень символом «|». разделитель. Эти символы используются во многих решениях DAM (неофициально), включая Daminion, Lightroom, IdImager, MS Photogallery, iView/MediaPro и т. д.
Так что не изобретайте велосипед и подумайте о хорошем решении DAM!
Таксономия? Exiftool уже некоторое время поддерживает запись Darwin Core как XMP.
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/DarwinCore.html
Resource Space — это бесплатное программное обеспечение DAM, которое использует exiftool в качестве серверной части метаданных. Вы можете настроить его для поддержки Darwin Core.
титусн
Бобулус
Джеймс Снелл
титусн
Джеймс Снелл