В онлайне: 3 (гостей - 3, участников - 0)  Вход | Регистрация

 

УДК 004.422.8

Разработка плагина на языке Python для построения точек в геоинформационной системе QGIS

Скрыль Д.С., магистрант, Яковлев В.Н., доцент

Северный (Арктический) федеральный университет имени М.В. Ломоносова, Россия

 

Рассмотрены основные процедуры разработки программы для построения точек по координатам в геоинформационной системе QGIS

 

С ростом популярности картографических веб-сайтов и пространственно ориентированных устройств и приложений методы разработки геопространственного программного обеспечения образовали быстро развивающуюся область информатики – геоинформатику. Рассмотрим написание плагина (программы) на языке Python для геоинформационной системы QGIS.

Python – это современный, высокоуровневый язык программи­ рования, подходящий для широкого спектра задач программирования. Он часто используется в качестве языка сценариев для автоматизации и упрощения задач на уровне операционной системы и одинаково подходит для создания больших и сложных программ. Python использовался при написании веб-систем, настольных приложений, игр, научных программ, утилит и других высокоуровневых элементов различных операционных систем.

Python поддерживает широкий спектр идиом программирования от прямого процедурного программирования до объектно-ориентированного и функционального программирования.

QGIS – это свободная кроссплатформенная геоинформационная система предназначенная для создания, редактирования, визуализации, анализа и публикации геопространственной информации. Написана на двух языках программирования – C++ и Python.

В качестве интерфейса в QGIS используется Qt. Qt – это фреймворк для разработки кроссплатформенного программного обеспечения на C++. Библиотеки Qt для Python – PyQt и PySide. Qt позволяет запускать написанное с его помощью программное обеспечение в большинстве современных операционных систем путём простой компиляции программы для каждой системы без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Является полностью объектно-ориентированным, расширяемым и поддерживающим технику компонентного программирования.

Для создания плагина использовался модуль Plugin Builder. С его помощью создавались все необходимые базовые файлы и шаблонный код для работы. Его можно найти во вкладке «Модули» в QGIS. В нем нужно указать стандартную информацию: имя класса, название плагина, краткое описание функции плагина, имя модуля, версию плагина, версию QGIS для которой предназначен плагин, автора и адрес электронной почты. Далее настраивается тип плагина и конфигурируются дополнительные компоненты, которые рекомендуются, но не являются строго обязательными. Далее остается заполнить информацию о публикации: ссылку на трекер ошибок, репозиторий и домашнюю страницу. На последнем этапе выбрать местоположение плагина и сгенерировать плагин.

Следующим этапом будет компиляция файла resources.qrc с помощью pyrcc5. Выполняется это следующей командой в консоли:

Теперь после успешной компиляции плагин можно запустить найти во вкладке «Модули» и запустить в QGIS.

Чтобы написать плагин для построения точек по координатам понадобится в QT Creator создать интерфейс с нужными полями и кнопками. Предположим, что нам понадобится два поля для ввода координат, кнопка для построения (Создать точку) и кнопка очистки полей. Для этого создаем два поля Plain Text и две кнопки типа Button. Нужно дать имена каждому объекту, чтобы обращаться к ним в коде плагина. Например, для поля координаты X – spValueX, для координаты Y – spValueY.

Теперь в коде плагина напишем функцию для извлечения значений из полей:

Далее проверяем, что введено валидное число и если это так, то вызывать функцию createpoint(). В противном случае выводим окно с ошибкой:

           

С помощью функции createpoint() будет создаваться точка. Ее реализация следующая:

Очистка полей реализована с помощью функции сlear():

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

На рис. 1 приведено окно разработанного плагина для построения точек в QGIS.

 

Рисунок 1 - Окно плагина «Point creator»

 

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

 


 

Разделы конференции »

  1. Единый государственный реестр недвижимости и земельно-имущественные отношения
  2. Мониторинг природных ресурсов и охрана окружающей среды
  3. Комплексное использование природных ресурсов
  4. Современные вопросы геологии
  5. Новые технологии в природопользовании
  6. Применение современных информационных технологий
  7. Экономические аспекты недвижимости
  8. Топографо-геодезическое обеспечение кадастровых работ
  9. Современные технологии в профессиональном образовании