3.7. Работа с векторными данными

Векторные операции можно запускать двумя способами:

  • Старый способ: через меню Вектор.
  • Новый способ: через модуль Processing (Инструменты анализа) –> Геоалгоритмы QGIS.

Этим способом пользоваться удобнее. Некоторые инструменты доступны только в нём.

../../_images/vectortools_processing.png

Рис. 3.104. Инструменты работы с векторными данными в панели «Инструменты анализа».

Операции, запускаемые через меню Вектор, как правило, генерируют новый Shape-файл на диске. А если их запускать через «Инструменты анализа», то они будут генерировать временные слои. Это удобнее.

Примечание

В «Инструментах анализа» так же доступно огромное количество операций gdal, ogr, GRASS, SAGA, и из других источников, но они могут не запускаться. Операции из раздела «QGIS» работают надёжнее.

3.7.1. Инструменты анализа векторных данных

Эти инструменты работают с векторными слоями. Как правило, они создают новый слой. Эти инструменты не используют преобразование координат на лету, то есть нужно чтобы входные слои были в одинаковой системе координат. Если инструмент рассчитывает расстояние, то ожидается, что слои будут в таких системах координат, где расстояния измеряются в метрах, например UTM. См. так же раздел Проекции.

Анализ близости

Задаётся точечный векторный слой. Выводит на экран значения статистических показателей по пространственному положению элементов. Оценивается степень сгуппированности точек в пределах точечного векторного слоя.

../../_images/vectortools_nearest.png

Рис. 3.105. Результаты инструмента «Анализ близости».

Пример:

Наблюдаемое среднее расстояние:28208.9420739. Ожидаемое среднее расстояние:18389.4264553. Индекс ближайших соседей:1.53397617606. N:9. Z-показатель:3.06460156144.

Матрица расстояний

Операция запускается через меню Вектор - пункт меню Анализ - Матрица расстояний:

../../_images/ngqgis_distance_matrix.png

Рис. 3.106. Инструмент для работы с векторными данными - Матрица расстояний.

Измеряет расстояние между точками двух точечных слоёв и выдает результат в виде:

  1. Квадратной матрицы расстояний.
  2. Линейной матрицы расстояний.
  3. Суммы расстояний.

Можно ограничить расчет только для k ближайших точек. Создаёт таблицу в формате CSV.

Сумма расстояний

Сумма расстояний в полигонах.

Операция запускается через меню Вектор - пункт меню Анализ - Сумма расстояний:

../../_images/ngqgis_sum_of_distances.png

Рис. 3.107. Инструмент для работы с векторными данными - Сумма расстояний.

Рассчитывает сумму расстояний для линий линейного слоя в пределах каждого полигона другого (векторного полигонального) слоя. Создаёт новый полигональный слой с добавленным полем.

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

Количество точек в полигонах

Операция запускается через меню Вектор - пункт меню Анализ - Количество точек в полигонах:

../../_images/ngqgis_number_of_points_in_polygons.png

Рис. 3.108. Инструмент для работы с векторными данными - Количество точек в полигонах.

Рассчитывает число точек точечного слоя, которые находятся в пределах каждого полигона другого (векторного полигонального) слоя. Имеется возможность выбрать статистический метод объединения атрибутов, если в точечном слое есть числовые атрибуты. Создаёт новый полигональный слой с добавленным полем.

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

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

Список уникальных значений

Операция запускается через меню Вектор - пункт меню Анализ - Список уникальных значений:

../../_images/ngqgis_list_of_unique_values.png

Рис. 3.109. Инструмент для работы с векторными данными - Список уникальных значений.

Задаётся векторный слой и поле в нём.

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

Базовая статистика

Операция запускается через меню Вектор - пункт меню Анализ - Базовая статистика:

../../_images/ngqgis_basic_statistics.png

Рис. 3.110. Инструмент для работы с векторными данными - Базовая статистика.

Задаётся векторный слой и поле в нём. Можно указать режим «Только выделенные объекты».

Рассчитывает основные статистики (среднее, стандартное отклонение, количество, сумму, коэффициент вариации) для указанного поля. Выводит на экран список значений в заданном поле. Список можно скопировать в буфер.

Средние координаты

Операция запускается через меню Вектор - пункт меню Анализ - Средние координаты:

../../_images/ngqgis_average_coordinates.png

Рис. 3.111. Инструмент для работы с векторными данными - Средние координаты.

Задаётся векторный слой любого типа. Поле взвешивания (числовое), необязательно. Поле признака классификации (любого типа), необязательно.

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

Создаёт новый точечный слой.

Пересечения линий

Операция запускается через меню Вектор - пункт меню Анализ - Пересечение линий:

../../_images/ngqgis_intersection_of_lines.png

Рис. 3.112. Инструмент для работы с векторными данными - Пересечение линий.

Задаётся исходный векторный слой (линейный). Исходный признак классификации. Слой пересечений (линейный). Признак классификации пересечений.

Рассчитывает местонахождения пересечений линий, создавая точечный шейп-файл с точками пересечений. Полезен для определения мест пересечений дорог или водотоков. Игнорирует пересечения линий с длиной > 0. Создаёт новый точечный слой.

3.7.2. Выборка

Операция запускается через пункт меню Вектор - пункт меню Выборка.

Эти инструменты выделяют объекты в заданном слое по разным алгоритмам или создают новый Shapefile с сгенерированными объектами.

Случайная выборка

Операция запускается через пункт меню Вектор - пункт меню Выборка - Случайная выборка:

../../_images/ngqgis_random_sampling.png

Рис. 3.113. Инструмент для работы с векторными данными - Случайная выборка.

Задаётся исходный векторный слой (любого типа).

Случайно выбирает заданное число объектов слоя или заданный процент объектов слоя.

Случайная выборка в подмножествах

Операция запускается через пункт меню Вектор - пункт меню Выборка - Случайная выборка в подмножествах:

../../_images/ngqgis_random_sampling_in_subsets.png

Рис. 3.114. Инструмент для работы с векторными данными - Случайная выборка в подмножествах.

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

Случайные точки

Операция запускается через пункт меню Вектор - пункт меню Выборка - Случайные точки:

../../_images/ngqgis_random_points.png

Рис. 3.115. Инструмент для работы с векторными данными - Случайные точки.

Задаётся исходный векторный слой (полигональный).

Cоздает псевдослучайные точки в пределах границ указанного слоя.

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

Создаёт новый точечный слой.

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

Регулярные точки

Операция запускается через пункт меню Вектор - пункт меню Выборка - Регулярные точки:

../../_images/ngqgis_regular_points.png

Рис. 3.116. Инструмент для работы с векторными данными - Регулярные точки.

Создаёт регулярную сетку точек в пределах указаной области и экспортирует их в точечный шейп-файл. Создаёт новый точечный слой. Слой генерируется в системе координат карты, будьте внимательны с преобразованием координат на лету. Если вам нужно генерировать объекты с шагом заданных в метрах, используйте соответствующие системы координат. См. так же http://docs.nextgis.ru/docs_howto/source/grid_vertex_extract.html

Векторная сетка

Операция запускается через пункт меню Вектор - пункт меню Выборка - Векторная сетка:

../../_images/ngqgis_regular_grid.png

Рис. 3.117. Инструмент для работы с векторными данными - Векторная сетка.

Создаёт регулярную сетку из линий или полигонов в пределах указанной области. Создаёт новый слой. Слой генерируется в системе координат карты, будьте внимательны с преобразованием координат на лету. Если вам нужно генерировать объекты с шагом заданных в метрах, используйте соответствующие системы координат. См. так же http://docs.nextgis.ru/docs_howto/source/grid_vertex_extract.html

Пространственная выборка

Операция запускается через пункт меню Вектор - пункт меню Выборка - Пространственная выборка:

../../_images/ngqgis_spatial_sample.png

Рис. 3.118. Инструмент для работы с векторными данными - Пространственная выборка.

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

Выделение по районам

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

Полигон из границ слоя

Операция запускается через пункт меню Вектор - пункт меню Выборка - Полигон из границ слоя:

../../_images/ngqgis_polygon_from_the_boundary_layer.png

Рис. 3.119. Инструмент для работы с векторными данными - Полигон из границ слоя.

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

3.7.3. Геообработка

Операция запускается через пункт меню Вектор - пункт меню Геообработка.

Выпуклые оболочки

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Выпуклые оболочки:

../../_images/ngqgis_convex_shells.png

Рис. 3.120. Инструмент для работы с векторными данными - Выпуклые оболочки.

Создает минимально возможные выпуклые оболочки или выпуклые оболочки на основе указанного поля. Создаёт новый слой.

../../_images/vectortools_convex_hull_layer1.png

Рис. 3.121. Исходный слой.

../../_images/vectortools_convex_hull.png

Рис. 3.122. Выпуклая оболочка, сгенерированная для полигонального слоя.

Буферные зоны

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Буферные зоны:

../../_images/ngqgis_buffer_zones.png

Рис. 3.123. Инструмент для работы с векторными данными - Буферные зоны.

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

Если создать очень маленький буфер для полигонального слоя, то можно таким образом убрать в нём ошибки геометрии.

../../_images/vectortools_buffers_source1.png

Рис. 3.124. Исходный точечный слой, для которого строятся буферные зоны.

../../_images/vectortools_buffers_result1.png

Рис. 3.125. Буферные зоны.

../../_images/vectortools_buffers_result2.png

Рис. 3.126. Буферные зоны - объединение по признаку - объединение по признаку.

Пересечение

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Пересечение:

../../_images/ngqgis_crossing.png

Рис. 3.127. Инструмент для работы с векторными данными - Пересечение.

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

../../_images/vectortools_intersect.png

Рис. 3.128. Результат пересечения Рыбинского водохранилища и Ярославской области - территория Рыбинского водохранилища, попадающего в Ярославскую область.

Инструмент «Пересечение» в результирующем слое создаёт атрибуты из обоих исходных слоёв.

Объединение

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Объединение:

../../_images/ngqgis_integration.png

Рис. 3.129. Инструмент для работы с векторными данными - Объединение.

Совмещает слои таким образом, что в выходном слое содержатся как участки пересечения, так и участки, принадлежащие только одному из слоев. Создаёт новый Shapefile.

../../_images/vectortools_union.png

Рис. 3.130. Результат объединения Рыбинского водохранилища и Ярославской области - территория и области, и всего водохранилища.

Отсечение

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Обрезка - Отсечение:

../../_images/ngqgis_clipping.png

Рис. 3.131. Инструмент для работы с векторными данными - Отсечение.

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

Обрезка

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

../../_images/vectortools_clip.png

Рис. 3.132. Результат обрезки.

Инструмент Clip в результирующем слое создаёт атрибуты только из второго исходного слоя.

Разность

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Разность:

../../_images/ngqgis_difference.png

Рис. 3.133. Инструмент для работы с векторными данными - Разность.

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

../../_images/vectortools_difference.png

Рис. 3.134. Результат разности.

Симметричная разность

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Симметричная разность:

../../_images/ngqgis_symmetrical_difference.png

Рис. 3.135. Инструмент для работы с векторными данными - Симметричная разность.

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

../../_images/vectortools_symmetrical_difference.png

Рис. 3.136. Результат симметричной разности.

Объединение по признаку

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Объединение по признаку:

../../_images/ngqgis_unification_on_the_basis_of.png

Рис. 3.137. Инструмент для работы с векторными данными - Объединение по признаку.

Объединяет объекты на основе значения указанного поля. Все объекты с одинаковым значением поля будут объединены в один объект. Создаёт новый слой.

Удаление осколочных полигонов

Операция запускается через пункт меню Вектор - пункт меню Геообработка - Удаление осколочных полигонов:

../../_images/ngqgis_fragmentation_polygons.png

Рис. 3.138. Инструмент для работы с векторными данными - Удаление осколочных полигонов.

Объединяет выделенные объекты с соседним полигоном, площадь или длина общей границы которого наибольшая. Создаёт новый слой.

3.7.4. Обработка геометрии

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии.

Проверка геометрии

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Проверка геометрии:

../../_images/ngqgis_geometry_check.png

Рис. 3.139. Инструмент для работы с векторными данными - Проверка геометрии.

Проверяет полигоны на наличие пересечений, «островов» и неправильного порядка нумерации узлов.

Экспортировать / добавить поле геометрии

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Экспортировать/добавить поле геометрии:

../../_images/ngqgis_export_geometry_field.png

Рис. 3.140. Инструмент для работы с векторными данными - Экспортировать/добавить поле геометрии.

Добавляет к слою поле(я) с информацией о геометрии: (XCOORD, YCOORD) для точечного слоя, (LENGTH) для линейного и (AREA, PERIMETER) для полигонального. Длины и площади будут рассчитаны в единицах координат слоя.

Центроиды полигонов

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Центроиды полигонов:

../../_images/ngqgis_centroids_of_polygons.png

Рис. 3.141. Инструмент для работы с векторными данными - Центроиды полигонов.

Вычисляет истинные центроиды для каждого полигона исходного полигонального слоя.

../../_images/vectortools_centroids.png

Рис. 3.142. Результат генерации центроидов для 4 полигонов.

Триангуляция Делоне

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Триангуляция Делоне:

../../_images/ngqgis_Delaunay_triangulation.png

Рис. 3.143. Инструмент для работы с векторными данными - Триангуляция Делоне.

Рассчитывает и строит (как полигональный слой) триангуляцию Делоне для исходного точечного слоя. Создаёт новый слой.

Полигоны Вороного

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Полигоны Вороного:

../../_images/ngqgis_polygons_of_Voron.png

Рис. 3.144. Инструмент для работы с векторными данными - Полигоны Вороного.

Генерирует полигоны Вороного для исходного точечного слоя. Создаёт новый слой.

Упростить геометрию

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Упростить геометрию:

../../_images/ngqgis_simplify_geometry.png

Рис. 3.145. Инструмент для работы с векторными данными - Упростить геометрию.

Упрощает линии или полигоны при помощи модифицированного алгоритма Дугласа – Пойкера. Создаёт новый слой.

Добавить вершины

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Добавить вершины:

../../_images/ngqgis_add_vertices.png

Рис. 3.146. Инструмент для работы с векторными данными - Добавить вершины.

Добавляет дополнительные вершины к объектам линейного или полиногнального слоя.

Разбить составную геометрию

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Разбить составную геометрию:

../../_images/ngqgis_break_up_a_composite_geom.png

Рис. 3.147. Инструмент для работы с векторными данными - Разбить составную геометрию.

Преобразует составные объекты (мульти-полигоны или мульти-полилинии) в несколько простых объектов (полигонов или полилиний).

Объединить геометрию в составную

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Объединить геометрию в составную:

../../_images/ngqgis_integrate_geometry_into_a_composite.png

Рис. 3.148. Инструмент для работы с векторными данными - Объединить геометрию в составную.

Объединяет несколько простых объектов в один составной на основе значения указанного поля.

Преобразовать полигоны в линии

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Преобразовать полигоны в линии:

../../_images/ngqgis_convert_polygons_to_lines.png

Рис. 3.149. Инструмент для работы с векторными данными - Преобразовать полигоны в линию.

Преобразует полигоны в линии, составные полигоны преобразует в несколько простых полилиний.

Преобразовать линии в полигоны

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Преобразовать линии в полигоны:

../../_images/ngqgis_converting_line_into_polygons.png

Рис. 3.150. Инструмент для работы с векторными данными - Преобразовать линии в полигоны.

Преобразует линии в полигоны, составные линии преобразует в несколько простых полигонов.

Извлечение узлов

Операция запускается через пункт меню Вектор - пункт меню Обработка геометрии - Извлечение узлов:

../../_images/ngqgis_node_extraction.png

Рис. 3.151. Инструмент для работы с векторными данными - Извлечение узлов.

Извлекает узлы из линий или полигонов, создавая точечный слой.

3.7.5. Общие инструменты для работы с векторами

Операция запускается через пункт меню Вектор - пункт меню Управление данными.

Задать текущую проекцию

Операция запускается через пункт меню Вектор - пункт меню Управление данными - Задать текущую проекцию:

../../_images/ngqgis_set_the_current_projection.png

Рис. 3.152. Инструмент для работы с векторными данными - Задать текущую проекцию.

Задает проекцию для шейп-файла, если ранее она не была задана.

Объединение атрибутов по районам

Операция запускается через пункт меню Вектор - пункт меню Управление данными - Объединение атрибутов по районам:

../../_images/ngqgis_aggregation_of_attributes_by_area.png

Рис. 3.153. Инструмент для работы с векторными данными - Объединение атрибутов по районам.

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

Разбить векторный слой

Операция запускается через пункт меню Вектор - пункт меню Управление данными - Разбить векторный слой:

../../_images/ngqgis_split_the_vector_layer.png

Рис. 3.154. Инструмент для работы с векторными данными - Разбить векторный слой.

Делит векторный слой на несколько отдельных слоев на основе значения указанного поля.

Объединение shape-файлов

Операция запускается через пункт меню Вектор - пункт меню Управление данными - Объединение shape-файлов:

../../_images/ngqgis_combining_shapefiles.png

Рис. 3.155. Инструмент для работы с векторными данными - Объединение shape-файлов.

Объединяет несколько шейп-файлов, находящихся в одной директории, в новый шейп-файл, основываясь на типе слоя (точечный, линейный, полигональный).

Создать пространственный индекс

Операция запускается через пункт меню Вектор - пункт меню Управление данными - Создать пространственный индекс:

../../_images/ngqgis_create_a_spatial_index.png

Рис. 3.156. Инструмент для работы с векторными данными - Создать пространственный индекс.

Создать пространственный индекс для форматов, поддерживаемых OGR. Он сохраняется посредством OGR.

Ориентированный охватывающий прямоугольник

Oriented minimum bounding box

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

  • площадь,
  • угол,
  • периметр,
  • длина,
  • ширина.
../../_images/vectortools_Oriented_MBBox.png

Рис. 3.157. Ориентированные охватывающие прямоугольники, построенные для слоя территорий городов.

Плагин processing

Это более новый способ запуска операций геообработки. Он сейчас не поддерживается компанией NextGIS, но этот плагин вы можете установить и запустить в программе NextGIS QGIS.

Отличительные особенности processing:

  • Результат работы модулей - временные слои. Это удобно тем, что у вас не появляются кучи файлов. Так же можно сохранять результат в файлы.
  • Можно обрабатывать данные, содержащиеся во временных слоях.
  • Текстовый поиск названий модулей.
  • В одном месте видны так же и модули из пакетов Saga, GDAL и других дополнительных плагинов.
  • Модели - сохранение последовательности операций.

При идентификации, если включён режим «открывать форму», то при нажатии на несколько объектов по очереди выделение может не сниматься. Это не является ошибкой: где-то на дисплее остаются открытые окна идентификации, вот они и остаются красные.