Расчет основных пространственных характеристик объектов в QGIS: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 1: Строка 1:
В статье описываются особенности получения основных пространственных характеристик объектов (координат, длин, площадей) хранящихся в shape-файлах при использовании свободной ГИС QGIS.
<p class="ann">В статье описываются особенности получения основных пространственных характеристик объектов (координат, длин, площадей) хранящихся в shape-файлах при использовании свободной ГИС QGIS.</p>


= Вводные замечания =
= Вводные замечания =
Строка 5: Строка 5:
В общих чертах, алгоритм получения пространственных характеристик следующий:
В общих чертах, алгоритм получения пространственных характеристик следующий:


*выбор проекции для расчетов (подробно принципы ее выбора будут освещены [[Выбор проекции для рассчета пространственных характеристик объектов|в отдельной статье]])
*выбор проекции для расчетов (подробно принципы ее выбора будут освещены [[Выбор проекции для расчета пространственных характеристик объектов|в отдельной статье]])
*перепроецирование слоев в эту проекцию <ref>[В настоящее время в QGIS возможность расчета пространственных характерик непосредственно на сфере не реализована, по этому каждый раз, при расчете площадей необходимо выбирать проекцию, которая обеспечивала бы максимальное приближение спроектированных данных к поверхности геоида. Более того, поскольку QGIS не поддерживает расчеты пространственных характеристик в проекции вида, то перед расчетами все данные должны быть перепрецированы.]</ref>
*перепроецирование слоев в эту проекцию <ref>[В настоящее время в QGIS возможность расчета пространственных характерик непосредственно на сфере не реализована, по этому каждый раз, при расчете площадей необходимо выбирать проекцию, которая обеспечивала бы максимальное приближение спроектированных данных к поверхности геоида. Более того, поскольку QGIS не поддерживает расчеты пространственных характеристик в проекции вида, то перед расчетами все данные должны быть перепрецированы.]</ref>
*расчет координат, длин и площадей с использованием одного из двух доступных инструментов (fTools или Field Calculator)
*расчет координат, длин и площадей с использованием одного из двух доступных инструментов (fTools или Field Calculator)
Строка 15: Строка 15:
В расчетах, для проверки сходимости результатов, будем использовать [http://gis-lab.info/qa/geosample.html Geosample: Открытый набор геоданных для различного ПО ГИС]. Готовый проект для QGIS, включающий все необходимые для данной обучающей статьи [[Shape-файл|Shape-файлы]] можно скачать [http://gis-lab.info/data/geosample/geosample-qgis.7z здесь].
В расчетах, для проверки сходимости результатов, будем использовать [http://gis-lab.info/qa/geosample.html Geosample: Открытый набор геоданных для различного ПО ГИС]. Готовый проект для QGIS, включающий все необходимые для данной обучающей статьи [[Shape-файл|Shape-файлы]] можно скачать [http://gis-lab.info/data/geosample/geosample-qgis.7z здесь].


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


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




Строка 31: Строка 38:




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




Строка 37: Строка 44:




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




Строка 46: Строка 53:
==== Перепроецирование векторного слоя ====
==== Перепроецирование векторного слоя ====
Для того, чтобы получить координаты точек в метрической системе, необходимо перепроецировать имеющийся точечный слой в какую-нибудь прямоугольную систему кординат.  
Для того, чтобы получить координаты точек в метрической системе, необходимо перепроецировать имеющийся точечный слой в какую-нибудь прямоугольную систему кординат.  
#Перепроецируем имеющийся слой '''poi-osm''' в проекцию UTM zone 44N (данные геосемпла лежат в трех зонах UTM, с 43N по 45N, для уменьшения искажений расчетов мы возьмем центральную <span style="color:red">Вообще говоря, это не самый удачный вариант выбора проекции, но в случае с геосемплом, для более точных расчетов требуется [[Создание пользовательской проекции  в QGIS|создание пользовательской проекции]], чему также нужно посвятить отдельную статью</span>). Для этого, правой кнопкой мыши щелкнем в менеджере слоев по '''poi-osm''' и из списка выберем '''"Сохранить как"'''. В открывшемся диалоговом окне в графе '''"Сохранить как"''' указываем название и путь для сохранения нового перепроецированого слоя, а в графе '''"Система координат"''', нажав кнопку '''"Обзор"''' выбираем прямоугольную систему координат WGS84/UTM zone 44N. Облегчить поиск нужной системы координат можно путем ввода букв UTM в строку '''"Filter"''' (Остануться только те СК, которые содержат в названии это сочетание букв). Жмем "ОК".
#Перепроецируем имеющийся слой '''poi-osm''' в проекцию UTM zone 44N (данные геосемпла лежат в трех зонах UTM, с 43N по 45N, для уменьшения искажений расчетов мы возьмем центральную <span style="color:red">Вообще говоря, это не самый удачный вариант выбора проекции, но в случае с геосемплом, для более точных расчетов требуется [[Создание пользовательской проекции  в QGIS|создание пользовательской проекции]], чему также нужно посвятить отдельную статью</span>). Для этого, правой кнопкой мыши щелкнем в менеджере слоев по '''poi-osm''' и из списка выберем '''"Сохранить как"'''. В открывшемся диалоговом окне в графе '''"Сохранить как"''' указываем название и путь для сохранения нового перепроецированого слоя, а в графе '''"Система координат"''', нажав кнопку '''"Обзор"''' выбираем прямоугольную систему координат WGS84/UTM zone 44N. Облегчить поиск нужной системы координат можно путем ввода букв UTM в строку '''"Filter"''' (Останутся только те СК, которые содержат в названии это сочетание букв). Жмем "ОК".
 
 
[[Файл:ChangeCoordinateSystem2.jpg|700px|thumb|center]]




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


В заключение, сделаем важное замечание: правилом хорошего тона считается документирование, какая проекция использовалась для рассчета пространственных характеристик объектов. Особенно это касается расчетов на картах глобального охвата.
В заключение, сделаем важное замечание: правилом хорошего тона считается документирование, какая проекция использовалась для расчета пространственных характеристик объектов. Особенно это касается расчетов на картах глобального охвата.
   
   
= Ссылки =
= Ссылки =
Строка 71: Строка 75:
#[http://gis-lab.info/qa/shapecalc.html Получение основных пространственных характеристик объектов в Arcview GIS]
#[http://gis-lab.info/qa/shapecalc.html Получение основных пространственных характеристик объектов в Arcview GIS]
#[http://gis-lab.info/qa/shapecalc-ag.html Получение основных пространственных характеристик объектов в ArcGIS]
#[http://gis-lab.info/qa/shapecalc-ag.html Получение основных пространственных характеристик объектов в ArcGIS]
= Примечания =
<references />


[[Категория:Пошаговые инструкции QGIS]]
[[Категория:Пошаговые инструкции QGIS]]

Версия от 14:18, 26 января 2012

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

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

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

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

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

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

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

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

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

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

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

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

Загрузим в QGIS слой poi-osm.shp (точечные объекты OSM) из геосэмпла. Проверим в какой проекции находится данный слой: Для этого в менеджере слоев щелкнем по нему правой кнопкой мыши и в выпадающем меню выберем пункт "свойства". В открывшемся диалоговом окне выберем вкладку "Метаданные".

Запись

Layer Spatial Reference System: +proj=longlat +datum=WGS84 +no_defs

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

Выполним VectorОбработка геометрииЭкспортировать/Добавить поле геометрии


AddGeometryColumn.jpg


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


CreateNewShape.jpg


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


NewLatLonColumn.jpg


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

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

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

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


ChangeCoordinateSystem.jpg


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


NewUTMColumn.jpg

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

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

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

Ссылки

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

Примечания

  1. [В настоящее время в QGIS возможность расчета пространственных характерик непосредственно на сфере не реализована, по этому каждый раз, при расчете площадей необходимо выбирать проекцию, которая обеспечивала бы максимальное приближение спроектированных данных к поверхности геоида. Более того, поскольку QGIS не поддерживает расчеты пространственных характеристик в проекции вида, то перед расчетами все данные должны быть перепрецированы.]