Работа с метаданными при помощи Metatools для QGIS

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/metatools.html


Описание инструмента редактирования и просмотра метаданных для QGIS.

В настоящее время доступно более 150 расширений для QGIS. Функционал ядра системы тоже растет необычайно быстро. Но не смотря на это, в QGIS до недавних пор не было возможности работать с такой важной информацией как метаданные. Это не давало полноценно обрабатывать массивы геоданных, так как нет возможности ни просматривать, ни подготавливать сопряженную метаинформацию.

До недавнего времени единственным инструментом, позволяющим открывать и частично редактировать метаданные, являлось расширение MetaEdit (автор Alex Mandel). Но его разработка была прекращена более года назад, а большая часть заложенного функционала так и не была реализована.

Для исправления ситуации силами NextGIS был разработан новый модуль для QGIS — Metatools, позволяющий создавать, редактировать и просматривать метаданные.

Разработка расширения выполнена NextGIS по заказу Linfiniti Consulting.

Nextgis.png Создание открытого ПО ГИС и реализация проектов

Замечания по установке

Расширение доступно из репозитория ГИС-Лаб.

Metatools разработан для QGIS версии 1.5.0 и старше. Для своей работы требует наличия Qt 4.6.0 или старше и соответствующую версию PyQt, кроме того необходимо наличие GDAL и её привязок (bindings) к Python. Все необходимые компоненты доступны в как при использованиии standalone установщика, так и при использовании OSGeo4W.

Исходный код модуля можно получить через репозиторий на GitHub или выполнив команду:

git clone git@github.com:nextgis/metatools.git

Работа с расширением

После подключения расширение создает две панели и добавляет вложенное меню в пункт «Модули».

Metatools-01.png
Metatools-02.png

Расширение позволяет создавать, просматривать и редактировать метаданные в формате ISO19115/ISO19139, а также просматривать и редактировать метаданные в формате FGDC. Поддержка других форматов и стандартов, таких как Dublin Core, планируется в следующих версиях. Желающие помочь в добавлении новых стандартов и проспонсировать их добавление будут встречены с распростертыми объятиями.

Возможна работа с метаданными как растровых, так и векторных слоёв (в данный момент поддерживаются shape-файлы). Если слой не имеет метаданных, то при попытке их просмотра или редактирования модуль создаст новый пустой файл на основе профиля, выбранного пользователем.

Просмотр метаданных

Metatools-03.png

Просмотр метаданных реализован путем их транслирования в html-представление. Это позволяет достаточно просто изменять внешний вид формы вывода путем редактирования файла преобразования XSLT. Файлы преобразований хранятся в каталоге xsl папки расширения, например в ~/.qgis/python/plugins/Metatools/xsl/iso19115.xsl. Для редактирования этого файла достаточно базовых познаний в XSLT и любого текстового редактора. Пример стандартного оформления приведен ниже.

Metatools-04.png

Используя контекстное меню можно копировать все метаданные или только выделенный текст, что позволяет копировать информацию в другие редакторы как в текстовом, так и в HTML-представлении. Кроме того, из контекстного меню можно отправить метаданные на печать.

Редактирование метаданных

Metatools-05.png

Форма редактирования имеет два режима работы: отображение всего дерева узлов («Full view»)

Metatools-06.png

и отображения отфильтрованных полей («Filtered view»)

Metatools-07.png

Такое поведение позволяет быстро редактировать заранее выбранные поля (например, фильтр можно использовать для быстрого доступа к наиболее востребованным полям), а при необходимости изменять любые другие, найдя их в иерархическом списке.

Фильтров может быть сколько угодно, активный фильтр задается в настройках расширения. Описание фильтра хранится в текстовом виде, поэтому для создания нового фильтра необходимо создать новый текстовый файл и вписать в него полный путь к необходимым узлам по одному узлу в каждой строке. Например, так

MD_Metadata -> fileIdentifier
MD_Metadata -> contact -> CI_ResponsibleParty -> individualName
MD_Metadata -> contact -> CI_ResponsibleParty -> organisationName

Узнать полный путь просто: при просмотре полного дерева метаданных над полем редактирования значения в правой части формы выводится полный путь до соответствующего узла. Скопировать путь можно вызвав контекстное меню по правой клавише мыши.

Полученный текст без завершающего описания типа и будет искомой строкой фильтра. Например, узел выглядит так

MD_Metadata -> dateStamp -> gco:Date

последняя часть (gco:Date) — идентификатор типа данных, который при создании строки фильтра необходимо отбросить. Таким образом, в файл фильтра попадет строка

MD_Metadata -> dateStamp

После этого, сохраняем файл в удобном месте, и в окне настроек расширения в поле «Файл фильтра» указываем этот файл.

Metatools-08.png

В каталоге filter папки расширения находится файл с примером набора фильтров.

Для редактирования необходимо выделить нужный узел в левой части диалогового окна, значение узла отобразится в поле «Редактировать значение» в правой части окна, где его и необходимо откорректировать. Нажатие на кнопку «Применить» приведет к обновлению метаданных, отменить изменения можно нажав «Отменить». Внимание! Все изменения хранятся в памяти, запись на диск выполняется по нажатию на кнопку «Сохранить».

При редактировании необходимо помнить, что в настоящее время расширение не выполняет проверку введенных значений на соответствие со схемой стандарта т.к. существуют некоторые ограничения платформы разработки. Но будем надеяться, что в скором времени появится возможность реализовать эту функциональность.

Работа с шаблонами

Metatools-09.png

Для удобства подготовки метаданных для большого количества слоев предусмотрен механизм шаблонов. Благодаря ему, пользователь, заполнив один раз информацию об организации, лицензии, процессах обработки и типе контента, может применять эти данные сразу к нескольким слоям.

Примечание: шаблоны работают только при использовании метаданных в формате ISO19115, поддержка шаблонов для FGDC находится в разработке.

Metatools-10.png

Можно создавать неограниченное число шаблонов, нажатие на кнопку «Manage» вызовет окно управления соответствующими шаблонами

Metatools-11.png

Файлы шаблонов хранятся во вложенных каталогах папки templates внутри каталога расширения.

При записи информация из шаблона будет сохранена в документ метаданных в соответствии со стандартом.

Помимо применения шаблонов к загруженным слоям, имеется возможность применять шаблоны к наборам геоданных, которые хранятся на локальном носителе, без непосредственной загрузки их в QGIS. Для этого необходимо установить флажок «Выбрать файлы на диске» и выбрать необходимые файлы на диске

Metatools-12.png

При необходимости, можно активировать автоматическое заполнение таких полей метаданных как максимальный охват слоя, количество каналов, тип данных, максимальное и минимальное значение для каждого из каналов растра. Эта возможность включается установкой флага «Извлечь информацию о слое в файл метаданных». Так же, при обработке растровых слоёв модуль способен автоматически генерировать так называемые preview-файлы для растров, в формате выбранном пользователем (задается в настройках модуля). За это отвечает переключатель «Сгенерировать preview изображение».

При наличии текстовых логов автоматизированной обработки данных, пользователь может присоединить их к метаданным. Для этого перед началом применения шаблонов необходимо указать файл с логом на диске, после чего модуль добавит информацию из него ко всем метаданным выбранных слоёв или файлов.

Импорт и экспорт метаданных

Metatools-13.png
Metatools-14.png

Инструменты импорта предназначен для загрузки метаданных слоя из уже существующего файла метаданных (полезно, если метаданные слоёв практически идентичны). Инструмент экспорта позволяет сохранить метаданные слоя в отдельный файл с произвольным именем.

Проверка метаданных

Metatools-15.png

Инструмент предназначен для валидации (проверки на соответствие выбранному стандарту) файлов метаданных. В настоящее время инструмент находится в разработке и поддерживает только метаданные в формате FGDC, информативность сообщений об ошибках также оставляет желать лучшего.

Metatools-16.png

Работа с метаданными в формате FGDC

Так как части функций для полноценной работы с метаданными расширение пока не имеет, в его состав временно включены два внешних инструмента: USGS Tkme — редактор FGDC метаданных от Peter N. Schweitzer и mp — валидатор для этого же стандарта. Для удобства, кнопки вызова этих инструментов вынесены на отдельную панель.

Metatools-17.png
USGS Tkme
Metatools-18.png
mp

Эти утилиты помогают редактировать документы с учетом специфики стандарта FGDC, а также проверять уже существующие наборы метаданных на соответствие стандарту. Запуск утилит производится непосредственно из интерфейса QGIS, что позволяет удобно обрабатывать метаданные, связанные с загруженными слоями.

Metatools-19.png
Metatools-20.png

Настройки модуля

Metatools-21.png

Здесь задаются параметры фильтра для режима редактирования «Избранные поля», формат preview-изображений, профиль метаданных по умолчанию и настраиваются стили просмотра (параметры преобразования в HTML-представление) метаданных.

Metatools-08.png

Заключение

На данном этапе развития расширение не является идеальным инструментом работы с метаданными. Не хватает валидации по стандарту и расширенной работы с узлами. Нет возможности работать со свойствами узлов, что часто бывает необходимым условием. Помог бы при работе и полнотекстовый поиск по документу.

Но даже в таком виде расширение получилось достаточно функциональным и удобным. Разработчики продолжают работать над функционалом и добавлением поддержки новых стандартов. Будем надеяться, что в новых версиях перечисленные выше недостатки будут устранены.

Контакты

Если вы нашли ошибку, у вас есть предложения по улучшению расширения или просто вопросы по использованию — напишите нам.

Nextgis.png Создание открытого ПО ГИС и реализация проектов