Расчет основных пространственных характеристик объектов в QGIS

Материал из GIS-Lab
Перейти к навигации Перейти к поиску

В статье описываются особенности получения основных пространственных характеристик объектов (координат, длин, площадей) хранящихся в shape-файлах при использовании свободной ГИС QGIS.

Вводные замечания

Технически, получить координаты, длины или площади пространственных объектов в современных ГИС достаточно просто. Гораздо сложнее понять насколько точны значения которые мы получили, и что сделать для улучшения качества получаемых данных. В настоящее время в QGIS возможность рассчета пространственных характерик непосредственно на сфере не реализована, по этому каждый раз, при расчете площадей необходимо выбирать проекцию, которая обеспечивала бы максимальное приближение спроектированных данных к поверхности геоида. Более того, поскольку QGIS не поддерживает расчеты пространственных характеристик в проекции вида, то перед расчетами все данные должны быть перепрецированы. В общих чертах, алгоритм получения пространственных характеристик следующий:

  • выбор проекции для расчетов (подробно принципы ее выбора будут освещены в отдельной статье)
  • перепроецирование слоев
  • расчет координат, длин и площадей с использованием одного из двух доступных инструментов (fTools или Field Calculator)

Результаты расчетов заносятся в автоматически создаваемые атрибутивные колонки (в случае использования инструментария fTools), либо в заранее созданные пользователем колонки (в случае использования Field Calculator).

Расчет пространственных характеристик объектов средствами QGIS

В расчетах, для проверки сходимости результатов, будем использовать Geosample: Открытый набор геоданных для различного ПО ГИС. Готовый проект для QGIS, включающий все необходимые для данной обучающей статьи Shape-файлы можно скачать здесь.

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

Расчет координат точечных объектов

Координаты точечных объектов можно получить в виде десятичных градусов или в метрической системе. В первом случае исходные данные должны находиться в географической системе координат. Во втором - должны быть спроектированы.

Вычисление координат точек в десятичных градусах

Использование инструмента "Добавить поле геометрии" (fTools)

  1. Загрузим в QGIS слой poi-osm.shp (точечные объекты OSM) из геосэмпла.
  2. Проверим в какой проекции находится данный слой: Для этого в менеджере слоев щелкнем по нему правой кнопкой мыши и в выпадающем меню выберем пункт "свойства". В открывшемся диалоговом окне выберем вкладку "Метаданные". Запись Layer Spatial Reference System: +proj=longlat +datum=WGS84 +no_defs означает, что данные находятся в географической системе координат. Таким образом, для того чтобы получить координаты точек в десятичных градусах, перепроецировать ничего не нужно.
  3. Выполним VectorОбработка геометрииЭкспортировать/Добавить поле геометрии

AddGeometryColumn.jpg

  1. Следующее диалоговое окно предлагает выбрать слой для которого необходимо расчитать пространственные характеристики. Из выпадающего списка выберем poi-osm.shp и укажем куда сохранить новый файл в котором будут добавлены атрибутивные колонки с координатами. Нажмем "ОК". После пересчета координат будет предложено добавить новый слой на карту. Жмем "Yes".

CreateNewShape.jpg

  1. Проверим результат. Откроем таблицу атрибутов нового слоя. Появилось две новых колонки XCOORD (долгота) и YCOORD (широта) выраженные в десятичных градусах.

NewLatLonColumn.jpg

Вычисление координат точек в метрической системе

Перепроецирование векторного слоя

Для того, чтобы получить координаты точек в метрической системе, необходимо перепроецировать имеющийся точечный слой в какую-нибудь прямоугольную систему кординат.

  1. Перепроецируем имеющийся слой poi-osm в проекцию UTM zone 44N (данные геосемпла лежат в трех зонах UTM, с 43N по 45N, для уменьшения искажений расчетов мы возьмем центральную Вообще говоря, это не самый удачный вариант выбора проекции, но в случае с геосемплом, для более точных расчетов требуется создание пользовательской проекции, чему также нужно посвятить отдельную статью). Для этого, правой кнопкой мыши щелкнем в менеджере слоев по poi-osm и из списка выберем "Сохранить как". В открывшемся диалоговом окне в графе "Сохранить как" указываем название и путь для сохранения нового перепроецированого слоя, а в графе "Система координат", нажав кнопку "Обзор" выбираем прямоугольную систему координат WGS84/UTM zone 44N. Облегчить поиск нужной системы координат можно путем ввода букв UTM в строку "Filter" (Остануться только те СК, которые содержат в названии это сочетание букв). Жмем "ОК".


ChangeCoordinateSystem2.jpg


ChangeCoordinateSystem.jpg


После создания нового слоя, добавим его в проект и повторим для него процедуру расчета координат описанную в разделе об использовании инструмента "Добавить поле геометрии". Открыв таблицу атрибутов нового слоя с добавленными полями геометрии, можно убедиться, что координаты выражены в метрах в установленной нами СК (WGS84/UTM zone 44N).


NewUTMColumn.jpg

Расчет длин линейных объектов

Расчет площадей, периметров и центроидов полигональных объектов

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

Ссылки

  1. Geosample: Открытый набор геоданных для различного ПО ГИС
  2. Получение основных пространственных характеристик объектов в Arcview GIS
  3. Получение основных пространственных характеристик объектов в ArcGIS