Модуль eVis

Управлением информатики биоразнообразия в Центре охраны природных ресурсов и биоразнообразия (CBC) (раздел взят из Руководства пользователя eVis (v1.1.0), Horning, N., K. Koy, P. Ersts. 2009. Американский музей естественной истории, Центр охраны биоразнообразия и природных ресурсов. Данный документ доступен по адресу http://biodiversityinformatics.amnh.org/ и выпущен под лицензией GNU FDL.) Американского музея естественной истории (AVNH) было разработано расширение Event Visualization Tool (eVis), программное обеспечение, расширяющее набор инструментов, используемых для мониторинга окружающей среды и поддержки принятия решений в области, связанной с охраняемыми природными территориями и ландшафтным планированием. Данное расширение позволяет легко связывать геокодированные (то есть, привязанные к координатам широты и долготы иnли X и Y) фотографии и прочие документы поддерживаемых форматов с векторными данными в QGIS.

В новых версиях QGIS расширение eVis устанавливается и включается автоматически. И по аналогии с остальными расширениями может быть отключено или включено в Менеджере модулей (см. раздел Управление модулями).

В состав eVis входит три модуля: инструмент подключения к базе данных, инструмент определения событий и обозреватель событий. Все эти модули работают совместно, позволяя просматривать геокодированные фотографии и прочие документы, связанные с объектами, хранящимися в векторных файлах, базах данных и таблицах.

Обозреватель событий

Модуль «Обозреватель событий» предназначен для отображения геокодированных фотографий, ссылающихся на векторные объекты карты, открытой в QGIS. Например, на точечные данные, загруженные в проект из векторного файла или в результате запроса к базе данных. Такие векторные объекты должны содержать атрибутивную информацию, описывающую местоположение, имя файла фотографии и (не обязательно) направление компаса камеры в момент съёмки. Векторный слой должен быть загружен в QGIS до запуска модуля «Обозреватель событий».

Запуск модуля «Обозреватель событий»

Модуль «Обозреватель событий» можно запустить двумя способами: нажав кнопку event_browser Обозреватель событий eVis или выбрав База данных ‣ eVis ‣ Обозреватель событий eVis. Откроется окно Обозреватель событий.

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

Назначение окна «Вывод»

Для просмотра окна Вывод щёлкните на вкладке Вывод в окне Обозреватель событий. Данное окно предназначено для просмотра геокодированных фотографий и связанной с ними атрибутивной информации.

Figure eVis 1:

../../../_images/evisdisplay.png

Окно «Вывод» расширения eVis

  1. Область вывода изображения: Область отображения фотографий.

  2. Кнопка «Увеличить»: Увеличьте фотографию для просмотра мелких деталей. Если изображение полностью не помещается в окно просмотра, воспользуйтесь полосами прокрутки, расположенными с левой и с нижней стороны окна и позволяющими перемещаться по изображению.

  3. Кнопка «Уменьшить»: Уменьшите фотографию для просмотра больших территорий.

  4. Увеличить до полного охвата: Отобразить полный охват фотографии.

  5. Окно атрибутивной информации: Вся атрибутивная информация объекта, с которым связана фотография, представлена здесь. Если файл, связанный с объектом, не является изображением, но его тип определён во вкладке Внешние приложения, то при двойном щелчке на значении поля, содержащего путь до файла, запустится соответствующее приложение для просмотра или прослушивания содержимого файла. Если тип файла определён, то значение поля, содержащего путь до него, будет подсвечено зелёным цветом.

  6. Навигационные кнопки: Если выделено более одного объекта, то используйте кнопки [Предыдущее] и [Следующее] для перехода между ними.

Назначение окна «Параметры»

Figure eVis 2:

../../../_images/evisoptions.png

Окно «Параметры» расширения eVis

  1. Путь к файлу: Выпадающий список для определения атрибутивного поля, содержащего путь/URL фотографии или иного документа, предназначенного для отображения. Если расположение представлено в виде относительного пути, то должен быть отмечен соответствующий пункт. Текстовое поле Базовый путь предназначено для определения базового пути до файлов в случае использования относительных путей. Информация о различных настройках расположения файлов представлена в разделе Определение местоположения и названия фотографий ниже.

  2. Магнитный азимут: Выпадающий список для определения атрибутивного поля, содержащего значение магнитного азимута, связанное с отображаемой фотографией. Если значение магнитного азимута присутствует в атрибутике слоя, то необходимо отметить пункт checkbox Показывать азимут.

  3. Магнитное склонение: Сдвиг компаса можно использовать для компенсации магнитного склонения (позволяет адаптировать магнитные азимуты для определения истинных географических). Отметьте пункт radiobuttonon Вручную, чтобы задать значение сдвига компаса самостоятельно в соответствующем текстовом поле или выберите пункт radiobuttonon Из атрибута для определения поля, содержащего данное значение. В обоих случаях для восточных склонений следует использовать положительные величины, а для западных — отрицательные.

  4. Базовый путь: Базовый путь, относительно которого определяются относительные пути, определённые, как показано на рисунке Figure_eVis_2 (A).

  5. Полностью заменить путь на базовый: Если отмечен этот пункт, то из значения атрибута будет взято только имя файла и добавлено к базовому пути.

  6. Применить правило ко всем документам: Если отмечен данный пункт, то все правила, относящиеся к настройке расположения изображений, будут использованы и для других типов файлов, таких, как видео, текстовых документов и звуковых файлов. Если данный пункт не отмечен, то все настройк расположения файлов будут применены только к фотографиям, другие типы документов будут игнорировать параметр «Базовый путь».

  7. Сохранить параметр: Если отмечен этот пункт, то после закрытия окна или нажатия кнопки [Сохранить], значение соответствующего параметра будет сохранено для последующих сессий.

  8. Восстановить: Сбросить и установить параметр в значение по умолчанию.

  9. Восстановить по умолчанию: Сбросить значения всех полей и установить в значения по умолчанию. Данная операция эквивалентна последовательному нажатию кнопок [Восстановить] возле каждого параметра.

  10. Сохранить: Сохранить настройки, не закрывая вкладку Параметры.

Назначение окна «Внешние приложения»

Figure eVis 3:

../../../_images/evisexternal.png

Окно «Внешние приложения» расширения eVis

  1. Таблица сопоставления: Таблица содержит типы файлов, которые можно открыть, используя eVis. Для каждого типа представляется расширение и путь к приложению, позволяющему открыть файл данного типа. Таким образом, появляется возможность открыть практически любой файл, например, видео, звуковую запись или текстовый документ, а не только изображение.

  2. Добавить новый тип файлов: Добавить новый тип файлов с уникальным расширением и путь до приложения, которое его откроет.

  3. Удалить текущую строку: Удалить из таблицы выбранный тип файлов.

Определение местоположения и названия фотографий

Местоположение и название фотографий можно хранить, используя абсолютные или относительные пути, или URL, если фотография хранится на Web-сервере. Примеры различных подходов представлены в таблице evis_examples.

X        Y        FILE                                                BEARING
780596   1784017  C:\Workshop\eVis_Data\groundphotos\DSC_0168.JPG     275
780596   1784017  /groundphotos/DSC_0169.JPG                          80
780819   1784015  http://biodiversityinformatics.amnh.org/\
                  evis_testdata/DSC_0170.JPG                          10
780596   1784017  pdf:http://www.testsite.com/attachments.php?\
                  attachment_id-12                                    76

Определение местоположения и названия прочих документов поддерживаемых форматов

Помимо фотографий, используя eVis, можно воспроизвести или просмотреть текстовые документы, видео или звуковые файлы. Для этого в таблицу сопоставления, расположенную во вкладке Внешние приложения окна Обозреватель событий, необходимо добавить сопоставление расширения файла и приложения, с помощью которого этот файл можно будет открыть. Кроме того, в таблице атрибутов векторного слоя должен присутствовать путь или URL файла. При использовании URL следует соблюдать одно важное правило — URL не должен содержать расширение файла, вместо этого расширение указывается перед URL. Ссылка на файл будет иметь формат расширение:URL. То есть URL предшествует расширение и двоеточие, что особенно удобно при осуществлении доступа к документам Википедии и прочих Web-сайтов, в которых для управления Web-страницами используются базы данных (см. таблицу evis_examples).

Обозреватель событий

Если в атрибутике векторного слоя присутствует ссылка на фотографию и информация о местоположении файла корректно установлена во вкладке Параметры, то после открытия окна Обозреватель событий должна отобразиться фотография. Если фотография не появилась, то, возможно, следует проверить настройки во вкладке Параметры.

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

Если отображение азимута отключено во вкладке Параметры, то векторный объект, для которого открыта фотография, будет отмечен красной звёздочкой. Если отображение азимута включено, то появится стрелка, указыающая в направлении, соответствующем значению магнитного азимута. Стрелка будет отцентрирована относительно объекта с которым связана фотография или иной объект.

Чтобы закрыть окно Обозреватель событий, нажмите кнопку [Закрыть] во вкладке Вывод.

Определить события eVis

Модуль «Определить события eVis» позволяет отображать фотографии путём щелчка на объектах карты, открытой в QGIS. Такие векторные объекты должны содержать атрибутивную информацию, описывающую местоположение, имя файла фотографии и (не обязательно) направление компаса камеры в момент съёмки. Такой слой должен быть загружен в QGIS до запуска модуля определителя “событий.

Запуск модуля «Определить события»

Для запуска модуля «Определить события» нажмите кнопку event_id Определить события eVis или выберите База данных ‣ eVis ‣ Определить события eVis. После чего вид курсора изменится на стрелку с символом «i», что свидетельствует о том, что инструмент определения события включён.

Для просмотра фотографий, связанных с объектами активного векторного слоя, открытого в QGIS, поместите курсор на объект и щёлкните мышкой. После щелчка на объекте откроется окно Обозреватель событий и фотография, доступная для отображения в обозревателе, на месте щелчка или около него. Если доступно несколько фотографий, то для перемещения между различными объектами используйте кнопки [Предыдущее] и [Следующее]. Остальные управляющие элементы описаны в разделе Обозреватель событий данного руководства.

Соединение с БД

Модуль «Соединение с БД» представляет собой инструмент для соединения и запросов к базам данных или иным ресурсам ODBC, таким, как электронные таблицы.

eVis может напрямую соединяться с базами данных четырёх типов: Microsoft Access, PostgreSQL, MySQL, SQLite, а также считывать данные через ODBC-соединения. При считывании данных через ODBC-соединение (например, из электронных таблиц MS Excel) необходимо нужным образом сконфигурировать ODBC-драйвер в соответствии с типом используемой операционной системы.

Загрузка модуля «Соединение с БД»

Для запуска модуля содинения с базой данных нажмите кнопку evis_connect Подключить базу данных eVis или выберите База данных ‣ eVis ‣ Подключить базу данных eVis. После чего откроется окно Соединение с БД. Данное окно имеет три вкладки: Предопределённые запросы, Соединение с БД и SQL-запрос. Поле Консоль вывода, расположенное внизу окна, отображает статус действий, вызванных различными разделами данного модуля.

Соединение с БД

Откройте вкладку Соединение с БД, содержащую интерфейс подключения к базе данных. Затем в выпадающем списке Тип соединения selectstring выберите тип базы данных, к которой нужно подключиться. При необходимости укажите имя пользователя и пароль в оответствующих полях Пользователь и Пароль.

В поле Сервер БД укажите адрес сервера БД. Данная возможность недоступна, если выбран тип базы данных «MSAccess». Если база данных размещается локально, то в качестве адреса следует указать «localhost».

В поле База данных укажите имя базы данных. Если выбран тип «ODBC», то укажите здесь имя источника данных.

Когда все параметры заполнены, нажмите кнопку [Подключиться]. Если всё прошло успешно, то в поле :guilabel:’Консоль вывода` появится сообщение о том, что соединение было установлено. Если соединение не было установлено, проверьте корректность параметров, описанных выше.

Figure eVis 4:

../../../_images/evisdatabase.png

Окно «Соединение с БД» расширения eVis

  1. Тип соединения: Выпадающий список, содержащий перечень доступных типов баз данных.

  2. Сервер БД: Адрес сервера баз данных.

  3. Порт: Номер порта в случае выбора базы данных MySQL или PostgreSQL.

  4. База данных: Имя базы данных.

  5. Подключиться: Кнопка подключения к БД с использованием введёных настроек.

  6. Консоль вывода: Консольное окно, в котором отображаются сообщения, связанные с работой модуля.

  7. Пользователь: Имя пользователя, указываемое в случае защиты доступа к базе данных паролем.

  8. Пароль: Пароль, соответствующий имени пользователя.

  9. Предопределённые запросы: Вкладка Предопределённые запросы.

  10. Соединение с БД: Вкладка Соединение с БД.

  11. SQL-запрос: Вкладка SQL-запрос.

  12. Справка: Вызов окна справки.

  13. OK: Закрыть главное окно Соединение с БД.

Выполнение SQL-запросов

SQL-запросы используются для извлечения информации из базы данных или ODBC-ресурса. В eVis результатом выполнения таких запросов является векторный слой, добавляемый в окно карты QGIS. Перейдите во вкладку SQL-запрос для отображения интерфейса создания SQL-запросов. SQL-команды можно вводить прямо в открывшемся текстовом окне. Полезное руководство по использованию SQL-команд доступно по адресу http://www.w3schools.com/sql/. Например, для извлечения всех данных из рабочего листа таблицы Excel используется команда select * from [sheet1$], где sheet1 — имя рабочего листа.

Нажмите кнопку [Выполнить] для исполнения команды. Если запрос успешен, то появится окно Выбор файла БД. Если запрос некорректный, то в поле Консоль вывода появится сообщение об ошибке.

В окне Выбор файла БД в поле Имя нового слоя введите имя слоя, который будет создан на основе результатов выборки.

Figure eVis 5:

../../../_images/evissql_query.png

Вкладка «SQL-запрос» расширения eVis

  1. Текстовое поле «SQL-запрос»: Место ввода SQL-запросов.

  2. Выполнить: Кнопка выполнения SQL-запросов.

  3. Консоль вывода: Консольное окно, в котором отображаются сообщения, связанные с работой модуля.

  4. Справка: Вызов окна справки.

  5. OK: Закрыть главное окно Соединение с БД.

Используйте выпадающие меню X-координата selectstring и Y-координата selectstring для выбора полей базы данных, в которых хранится информация о координатах X (или долготе) и Y (или широте). После нажатия кнопки [OK] на основе результатов SQL-запроса создаётся векторный слой и добавляется в главное окно QGIS.

Чтобы сохранить векторный файл для будущего использования, примените команду «Сохранить как...», доступную через правый щелчок на имени слоя в списке слоёв QGIS.

Совет

Создание векторного слоя на основе данных листа Microsoft Excel

При создании векторного слоя из листа Microsoft Excel могут появиться строки с нежелательными нулями («0»), вставленные в таблицу атрибутов после корректных данных. Причиной может быть удаление значений этих ячеек в Excel клавишей Backspace. Для исправления проблемы необходимо открыть файл Excel (предварительно закрыв QGIS, если данный файл открыт на редактирование) и, используя инструмент Edit ‣ Delete, удалить пустые строки из файла. Во избежании такой проблемы, перед сохранением файла следует просто удалять пустые строки в Excel, используя инструмент Edit ‣ Delete.

Запуск предопределённых запросов

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

Чтобы загрузить набор предопределённых запросов, нажмите кнопку evis_file Открыть файл. Появится окно, предназначенное для определения расположения файла, содержащего SQL запросы. Когда запросы будут загружены, их заголовки согласно определению в XML-файле появятся в выпадающем списке, расположенном чуть ниже кнопки evis_file Открыть файл, полное описание выбранного запроса отобразится в текстовом поле, расположенном под выпадающим списком.

Из выпадающего списка выберите запрос, который вы хотите запустить, и перейдите во вкладку SQL-запрос, чтобы просмотреть детали запроса. Убедитесь, что соединение с базой данных установлено.

Для выполнения запроса во вкладке SQL-запрос нажмите кнопку [Выполнить]. Если запрос успешен, то появится окно Выбор файла БД. Если запрос некорректный, то в поле Консоль вывода появится сообщение об ошибке.

Figure eVis 6:

../../../_images/evispredefined.png

Вкладка «Предопределённые запросы» расширения eVis

  1. Открыть файл: Вызов окна Открыть файл для поиска XML-файла, содержащего предопределённые запросы.

  2. Предопределённые запросы: Выпадающий список, содержащий запросы, определённые в XML-файле.

  3. Описание запроса: Короткое описание запроса, берётся из XML-файла.

  4. Консоль вывода: Консольное окно, в котором отображаются сообщения, связанные с работой модуля.

  5. Справка: Вызов окна справки.

  6. OK: Закрыть главное окно Соединение с БД.

XML-формат предопределённых запросов eVis

XML-теги eVis

Тег

Описание

query

Определяет начало и конец запроса.

shortdescription

Короткое описание запроса, появляющееся в выпадающем меню eVis.

description

Более детальное описание запроса, отображается в текстовом поле вкладки Предопределённые запросы.

databasetype

Тип базы данных, соответствует выбору типа в выпадающем списке Тип соединения selectstring вкладки Соединение с БД.

databaseport

Порт, соответствует определению порта в текстовом поле Порт вкладки Соединение с БД.

databasename

Имя базы данных, соответствует определению имени базы данных в текстовом поле База данных вкладки Соединение с БД.

databaseusername

Имя пользователя базы данных, соответствует определению имени пользователя в текстовом поле Пользователь вкладки Соединение с БД.

databasepassword

Пароль базы данных, соответствует определению пароля в текстовом поле Пароль вкладки Соединение с БД.

sqlstatement

SQL-запрос.

autoconnect

Флаг (принимает одно из значений «true» или «false») для определения, должны ли вышеуказанные параметры автоматически использоваться для подключения к базе данных без запуска процедуры соединения через вкладку Соединение с БД.

Пример XML-файла, содержащего три запроса:

<?xml version="1.0"?>
<doc>
 <query>
   <shortdescription>Import all photograph points</shortdescription>
   <description>This command will import all of the data in the SQLite database to QGIS
      </description>
   <databasetype>SQLITE</databasetype>
   <databasehost />
   <databaseport />
   <databasename>C:\textbackslash Workshop/textbackslash
eVis\_Data\textbackslash PhotoPoints.db</databasename>
   <databaseusername />
   <databasepassword />
   <sqlstatement>SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec_id=Attributes.point_ID</sqlstatement>
   <autoconnect>false</autoconnect>
 </query>
  <query>
   <shortdescription>Import photograph points "looking across Valley"</shortdescription>
   <description>This command will import only points that have photographs "looking across
      a valley" to QGIS</description>
   <databasetype>SQLITE</databasetype>
   <databasehost />
   <databaseport />
   <databasename>C:\Workshop\eVis_Data\PhotoPoints.db</databasename>
   <databaseusername />
   <databasepassword />
   <sqlstatement>SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec_id=Attributes.point_ID where COMMENTS='Looking across
      valley'</sqlstatement>
   <autoconnect>false</autoconnect>
 </query>
 <query>
   <shortdescription>Import photograph points that mention "limestone"</shortdescription>
   <description>This command will import only points that have photographs that mention
      "limestone" to QGIS</description>
   <databasetype>SQLITE</databasetype>
   <databasehost />
   <databaseport />
   <databasename>C:\Workshop\eVis_Data\PhotoPoints.db</databasename>
   <databaseusername />
   <databasepassword />
   <sqlstatement>SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec_id=Attributes.point_ID where COMMENTS like '%limestone%'
      </sqlstatement>
   <autoconnect>false</autoconnect>
 </query>
</doc>