Вычисление протяжённости линейных объектов и Сводка Статистики

В QGIS имеются встроенные функции и алгоритмы, позволяющие вычислять характеристики, связанные с геометрией объектов: протяженность (длину), площадь, периметр и т.д. Данное Руководство содержит сведения об использовании модуля Add geometry attributess (Добавить атрибуты геометрии) с добавлением столбца с протяженностью каждого объекта.

Обзор задания

Нам дан слой поллиний, представляющих железнодорожную сеть Северной Америки, определим протяженность железных дорог в США.

Также Вы научитесь

  • Использовать выражения для фильтрации объектов.

  • Использовать панель Statistics для вычисления и просмотра статистики по столбцам.

Получение данных

Ресурс Natural Earth содержит общедоступный датасет с железными дорогами.

Загрузите файл North America supplement zip.

Вы можете напрямую скачать копию набора данных, пройдя по ссылке ниже:

ne_10m_railroads_north_america..zip

Источник данных: [NATURALEARTH]

Методика

  1. Найдите в панели Browser загруженный файл ne_10m_railroads_north_america.zip и перетащите его в полотно карты.

../../_images/130.png
  1. В панели Layers появится новый слой ne_10m_railroads_north_america. На этом слое представлена железнодорожная сеть всей Северной Америки. Теперь вычислим протяженность каждого объекта. Перейдите в Processing ‣ Toolbox.

../../_images/220.png
  1. Найдите пункт Vector geometry ‣ Add geometry attributes. Дважды щелкните по нему, чтобы запустить.

../../_images/318.png
  1. В диалоговом окне Add Geometry Attributes в качестве Input layer укажите ne_10m_railroads_north_america. Система координат (CRS) вашего слоя: EPSG:4326 WGS84. Это географическая система координат, оперирующая широтой и долготой в градусах относительно эллипсоида WGS84. Поскольку единицы измерения - градусы, измерить длину и площадь на плоскости в линейных единицах мы не можем. К счастью, QGIS позволяет точно вычислять расстояния на эллипсоиде, что более корректно для протяженных (больших) объектов. В меню Calculate using укажите Ellipsoidal. Нажмите Run. Когда вычисление завершится, нажмите Close.

../../_images/47.png

Примечание

Если система координат исходного слоя является проекцией на плоскость, то при вычислениях можете выбирать Layer CRS системе координат слоя). Местные или зональные системы координат устроены так, чтобы уменьшить искажения в заданной области, поэтому хорошо подходят для подобных вычислений. Если исходный слой имеет географические координаты Geographic CRS, то следует выбирать Ellipsoidal. По умолчанию протяженность вычисляется в **Метрах*, эту настройку можно изменить в Project ‣ Properties ‣ General.

  1. В панели Layers появится новый слой Added geom info. Он является копией исходного слоя с дополнительным столбцом, где указана протяженность объектов. Щёлкните правой кнопкой мыши по слою Added geom info и выберите Open Attribute Table.

../../_images/57.png

Примечание

Инструмент Add Geometry Attribute добавляет к слою различные атрибуты в зависимости от типа слоя (слой состоит из точек, линий, полигонов). См. QGIS documentation .

  1. В Attribute Table вы увидите новый столбец length. Он содержит протяжённость каждого объекта в метрах. Отметим, что атрибут sov_a3 содержит информацию о коде страны, к которой относится объект. Закройте окно Attribute Table.

../../_images/67.png
  1. Теперь, когда для каждого сегмента железных дорог известна протяженность, мы можем их сложить, чтобы узнать общую протяженность сети. Но нам нужно узнать протяженность железных дорог только в Соединенных Штатах. Используем код страны sov_a3, чтобы отфильтровать нужные объекты в слое. Щёлкните правой кнопкой мыши Added geom info и выберите Filter.

../../_images/77.png
  1. В диалоговом окне Query Builder укажите следующее выражение и нажмите OK

"sov_a3" = 'USA'
../../_images/87.png
  1. В панели Layers рядом со слоем Added geom info появится иконка Filter. Она означает, что к объектам в слое применен фильтр. В том, что объекты касаются только Соединенных Штатов Вы можете убедиться, посмотрев на карту. Теперь вычислим сумму. Нажмите на кнопку Show statistical summary в панели Attributes Toolbar.

../../_images/97.png
  1. Откроется новая панель Statistics. Выберите слой Added geom info и столбец length.

../../_images/1010.png
  1. В панели отобразится статистическая сводка. Она будет выражена в метрах (в той же мере, что и столбец length). Для ясности поменяем единицы измерения на километры. Нажмите на значок Expression напротив выпадающего поля Statistics.

../../_images/1113.png
  1. В окне Expression Dialog введите выражение по переводу метров в километры.

length / 1000
../../_images/1211.png
  1. Теперь значение Sum выражает общую протяженность дорог в США в км.

../../_images/139.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)