Географические информационные системы и дистанционное зондирование
- Создание и редактирование векторных слоев средствами QGIS
- Содержание
- [править] Создание векторного слоя
- [править] Настройка параметров редактирования векторного слоя
- [править] Топологическое редактирование и прилипание нескольких слоев
- [править] Работа с точечными слоями
- [править] Работа с линейными слоями
- [править] Работа с полигональными слоями
- [править] Ссылки по теме
- Конвертировать растр в сглаженные контурные полигоны в QGIS
- Растр в полигоны (Конвертация)
- В этом разделе
- Краткая информация
- Использование
- Параметры
- Пример кода
- 📽️ Видео
Видео:QGIS Создание карты Векторизация полигонов Оформление картыСкачать

Создание и редактирование векторных слоев средствами QGIS
Описание инструментария QGIS для работы с векторными данными
QGIS – динамично развивающаяся свободная пользовательская ГИС, представляющая довольно развитый инструментарий для работы с любой пространственной информацией. Мы уже разбирали вопросы привязки растровых данных с помощью QGIS. В этой статье мы остановимся на работе с векторными объектами. Данная статья иллюстрирована примерами англоязычного интерфейса, однако вы легко можете использовать и русифицированный.
Видео:QGIS 2 - № 8. Создание векторных слоевСкачать

Содержание
Видео:QGIS 3 - № 24. Редактирование векторных слоев (Векторизация)Скачать

[править]  Создание векторного слоя
Создание векторного слоя
Для создания векторного слоя выберем Создать новый shape-файл в меню Слой-Создать слой или воспользуемся кнопкой 
Добавление векторного слоя
Во-первых, это формат файла, в котором будут храниться данные нового слоя. В текущей версии QGIS (0.11.0 – Metis) таким форматом, причем единственным, является ESRI Shapefile. Во-вторых, тип создаваемого слоя, здесь всё стандартно – точечный (Point), линейный (Line) или полигональный (Polygon). Также необходимо определить минимум одно поле таблицы атрибутов. В поле Name задается его имя, а в поле Type выбирается тип – действительное число (Real), целое число (Integer) или строка (String). Для добавления и удаления полей служат кнопки 

Отметим, что встроенный в QGIS редактор таблиц атрибутов не позволяет добавлять новые и удалять имеющиеся поля созданного ранее shape-файла, однако это ограничение можно обойти, установив специальное расширение.
Видео:вырезы полигонов в QgisСкачать

[править]  Настройка параметров редактирования векторного слоя
Настройка параметров редактирования векторного слоя
Для настройки параметров редактирования выберем Options в меню Settings и перейдем на вкладку Digitizing. В открывшемся диалоговом окне видим три группы параметров: Rubberband, Snapping и Vertex markers.

Параметры Line width и Line color группы Rubberband определяют толщину и цвет линии, используемой при рисовании линейных и полигональных объектов.
Параметр Marker style группы Vertex markers определяет стиль маркера вершины — Semi transparent circle (полупрозрачный круг) или Cross (перекрестие).
Группа параметров Snapping отвечает за настройку прилипания – автоматического совмещения узлов объектов при редактировании. Default snap mode – режим прилипания по умолчанию. Можно задать один из трех режимов: to vertex (к вершине), to segment (к сегменту), to vertex and segment (к вершине и сегменту). Default snapping tolerance in layer units – порог прилипания. Режим и порог прилипания работают следующим образом: при подведении курсора мыши на определенное расстояние (порог прилипания) от сегмента или вершины (в зависимости от режима прилипания), рисуемая линия автоматически продолжается до касания с ближайшим сегментом или вершиной. На рисунке представлен пример использования различных режимов прилипания.

Search radius for vertex edits in layer units – радиус поиска ближайших вершин, используется при перемещении, удалении или добавлении вершин. Если в круг с центром в месте щелчка мышью и радиусом Search radius for vertex edits in layer units попадает хотя бы одна вершина, то выбирается ближайшая из них. При нулевом значении параметра Search radius for vertex edits in layer units или в случае если в указанный круг не попадает ни одной вершины появляется сообщение о том, что не задан порог прилипания, хотя порог прилипания здесь непричем. Порог прилипания и радиус поиска ближайших вершин задаются в единицах измерения слоя.

Для сохранения изменений жмем OK. Данные настройки будут применяться ко всем слоям новых проектов, создаваемых в QGIS.
Видео:QGIS Создание карты Векторизация линийСкачать

[править]  Топологическое редактирование и прилипание нескольких слоев
Топологическое редактирование и прилипание нескольких слоев
Кроме только что рассмотренных настроек, в QGIS имеются дополнительные возможности, позволяющие, помимо всего прочего, настроить параметры прилипания в отдельности для каждого слоя. Рассмотрим дополнительные настройки редактирования и параметры прилипания.
В меню Settings выбираем Project Properties и переходим на вкладку General. Нас будет интересовать группа параметров Digitizing.

Enable topological editing – включение режима топологического редактирования. Если топологическое редактирование включено, то при перемещении вершины, принадлежащей одновременно нескольким объектам (полигонам или линиям), их геометрия изменится в соответствии с новым положением перемещенной вершины. Если же топологическое редактирование отключено, то изменения коснутся только одного объекта.

Avoid intersections of new polygons – предотвращение пересечения новых полигонов. Если активировать этот пункт, то при создании нового полигона в случае наложения его на уже существующий, часть нового полигона, попадающая в наложение, будет исключена.

Нажимаем кнопку Snapping options и переходим к настройке прилипания для отдельных слоев.

В столбце Layer расположены слои текущего проекта. Если слой отмечен крестиком, то настройки прилипания для него включены. В столбце Mode настраивается режим прилипания для каждого слоя, а в столбце Tolerance – порог расстояния прилипания.
ВАЖНО. Если нажать OK в окне Snapping options, а затем Apply в окне Project Properties, то настройки Default snap mode и Default snapping tolerance in layer units, которые мы указывали до этого, утрачивают свою силу для текущего проекта навсегда. И поэтому каждый раз, добавляя новый слой, вам необходимо через Snapping options указывать для него настройки прилипания.
На этом процесс настройки параметров редактирования векторного слоя можно считать оконченным.
Видео:QGIS Создание карты Установка и привязка растраСкачать

[править]  Работа с точечными слоями
Работа с точечными слоями
Прежде чем приступать к редактированию любого векторного слоя убедитесь в том, что у вас включена панель инструментов Digitizing. Если она отсутствует, то ее следует включить: в меню View выберете Toolbar Visibility и активируйте панель Digitizing. Добавьте в проект имеющийся или создайте новый точеный слой, следуя вышеприведенным инструкциям. После этого выберите его, щелкнув на нем в легенде, иконка Toggle editing станет активной: 

Щелкните на иконке Capture Point: 

Попробуйте добавить ещё один точечный объект. Если после щелчка на новом месте объект не появляется, убедитесь в том, что у вас не включен режим прилипания к вершине. В этом случае новый точечный объект может прилипнуть к уже существующему и слиться с ним. В таком случае следует просто отключить прилипание.
Инструмент Move Feature: 

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




Кроме того, в QGIS есть возможность редактирования атрибутов. Щелкните на иконке Open Table: 

Для начала редактирования нажмите кнопку Start editing, отредактируйте атрибуты и нажмите кнопку Stop editing, после чего подтвердите или откажитесь от сохранения внесенных изменений. Как уже отмечалось выше, пока операции по удалению имеющихся и добавлению новых полей в таблицу атрибутов shape-файла в QGIS реализованы только с помощью специального расширения.
Видео:QGIS 2 - № 12. ВекторизацияСкачать

[править]  Работа с линейными слоями
Работа с линейными слоями
Добавьте в проект имеющийся или создайте новый линейный слой, следуя вышеприведенным инструкциям. После этого выберите его, щелкнув на нем в легенде. Для того чтобы начать редактирование, щелкните на иконке Toggle editing: 

Чтобы добавить линейный объект, щелкните на иконке Capture Line: 
Работа инструментов удаления, вырезки, копирования и вставки линейных объектов аналогична работе этих же инструментов в случае точечных объектов.
Инструмент Move Feature:

Инструмент Move Vertex: 

Инструмент Add Vertex: 

Инструмент Delete Vertex: 

И, наконец, рассмотрим последний инструмент, использующийся при редактировании линейных слоев. Инструмент Split Features: 

Точно также как и в случае с точечным слоем, в линейном слое можно осуществлять редактирование атрибутов, используя инструмент Open Table: 
Видео:QGIS 3 - №16. Создание изолиний полигонов из точекСкачать

[править]  Работа с полигональными слоями
Работа с полигональными слоями
Добавьте в проект имеющийся или создайте новый полигональный слой, следуя вышеприведенным инструкциям. После этого выберите его, щелкнув на нем в легенде. Для того чтобы начать редактирование, щелкните на иконке Toggle editing: 

Принцип работы с инструментами полигонального слоя аналогичен работе с инструментами линейного слоя, поскольку полигон есть не что иное, как замкнутая линия. Однако есть инструменты, которые при работе с линейным слоем были недоступны. Вот на них и остановимся.
Чтобы добавить полигон, щелкните на иконке Capture Polygon: 
Рассмотрим новые инструменты, которые были недоступны при редактировании линейного слоя. Для их активации в QGIS 2.0 и более поздних версиях нужно активировать панель расширенного редактирования: View/Toolbars/Adwansed digitazing.
Инструмент Add Ring: 


Инструмент Add Island: 



Точно также как и в случае с точечным и линейным слоем, в полигональном слое можно осуществлять редактирование атрибутов, используя инструмент Open Table: 
Видео:Полуавтоматическая трассировка растровых линий в QGISСкачать

[править] Ссылки по теме
Последнее обновление: 2017-12-06 18:02
Дата создания: 27.09.2008 
Автор(ы): Денис Рыков
Видео:QGIS - Polygonize - Raster to VectorСкачать

Конвертировать растр в сглаженные контурные полигоны в QGIS
У меня был ограниченный успех в создании гладких контурных полигонов из растровых слоев.
Я создал контурные линии и граничные полилинии, а затем использовал QGIS Union. Затем я использую QGIS Polygonize. Затем используйте зональную статистику для исходного растра, чтобы получить значение для полигонов.
Второй метод, который я попробовал, состоял в том, чтобы преобразовать растр в полигон. Затем создайте новый столбец атрибута, округленный до желаемого контура. Затем я растворяю линии между одинаковыми значениями. Тогда используйте v.generalize. Этот метод немного быстрее, но некоторые полигоны будут зазубренными / не сглаженными.
Есть ли более простой метод, который на самом деле работает все время. Похоже, должна быть простая команда, которая выполняет весь процесс.
Я столкнулся с теми же проблемами, что и у вас во втором методе. Я экспортировал растр в вектор и попытался использовать v.generalise, и я получаю в основном гладкие многоугольники со случайной «ступенчатой» границей, которая, по-видимому, не была затронута алгоритмом.
Я нашел процесс, который сработал для моей задачи, но не уверен, что это лучший способ, но подумал, что поделюсь им, если он вам поможет.
Я начал с сетки ascii от BoM, которая выглядела так: 
Что я хотел что-то похожее на то, что производит BoM, как это: 
Я смог достичь результата (которым я был доволен), используя следующие шаги.
- Загрузите сетку (в моем случае ASCII Grid от BoM) в QGIS.
- Перекодировано в дискретные классы. (Панель инструментов обработки> Трава> Растр> r.recode)
- Запустите мажоритарный фильтр для «очистки» (Панель инструментов обработки> SAGA> Растровый фильтр> Мажоритарный фильтр).
- Создавал контуры из отфильтрованной сетки с интервалом 1 и сохранял их в атрибуте «класс» (потому что мои классы были 1,2,3,4 и т. Д.). (Растр ‘Меню’> Извлечение> Контур)
- Контуры вывода несколько обобщены, но я использовал v.generalised с алгоритмом «змей», чтобы сгладить их (Инструменты обработки> Трава> Вектор> v.generalize)
- Затем я преобразовал линии в многоугольник. (Панель инструментов обработки> Геоалгоритмы QGIS> Инструменты векторной геометрии> Линии в многоугольники)
- Наконец, мне пришлось преобразовать отдельные полигоны в несколько частей, чтобы все полигоны хорошо рисовали. (Панель инструментов обработки> Геоалгоритмы QGIS> Инструменты векторной геометрии> Отдельные части в многочастную).
После стилизации мой вывод ниже: 
Мне также было бы интересно услышать, если кто-то знает более простой способ. Первоначально я думал, как @Rx_, что я мог бы просто преобразовать свой растр в вектор, а затем обобщить, и все будет готово. То, что я должен был сделать, было намного дольше.
Видео:КАК ПЕРЕВЕСТИ РАСТРОВУЮ КАРТУ В ВЕКТОРСкачать

Растр в полигоны (Конвертация)
В этом разделе
Видео:QGIS 3 - № 3. Создание SHP-файлов.Скачать

Краткая информация
Конвертирует набор растровых данных в полигональные пространственные объекты.
Видео:Векторизация растра землепользования в границах муниципального образования в QGIS 3.16Скачать

Использование
Входной растр может иметь любой размер ячейки и должен быть корректным целочисленным набором растровых данных.
Параметр Поле позволяет выбирать, какое атрибутивное поле входного набора растровых данных станет атрибутом в выходном классе объектов. Если поле не задано, значения ячеек входного растра (поле VALUE ) станут столбцом с заголовком Gridcode в атрибутивной таблице выходного класса объектов.
На следующем изображении показано, как входной растр векторизуется во время конвертации в полигональный объект. Результат представлен для обеих настроек параметра Упростить.

Если отмечен параметр Создать составные объекты ( MULTIPLE_OUTER_PART в Python), результатом будет класс составных объектов, и, как правило, обработка происходит быстрее. Однако если выходной класс объектов содержит очень большое количество объектов, это может вызвать ошибку переполнения памяти. Процесс группировки напоминает тот, который используется инструментом Слияние .
Параметр Максимальное число вершин на полигон может использоваться для подразделения полигона на меньшие полигоны, в зависимости от заданного числа вершин. На практике это имеет значение в случае, когда выходные объекты содержат очень большое число вершин. Этот параметр приводит к созданию выходных данных, схожих с результатом инструмента Нарезать .
Если Экстент задан в параметре среды, и левый нижний угол выходного экстента не соответствует углу ячейки входного растра, во время обработки произойдет сдвиг выравнивания ячеек входного растра в соответствии с заданным экстентом. Сдвиг вызовет пересчет входного растра с использованием метода Ближайший сосед. Следовательно, выходные объекты также будут смещаться, и результирующие выходные объекты могут не накладываться точно на исходный входной растр. Предотвратить этот сдвиг можно, используя в параметрах среды входной растр в качестве Растра привязки.
Видео:QGIS площадь полигона: 5 простых способов посчитать (2021)Скачать

Параметры
| Подпись | Описание | Тип данных | ||
| Raster Layer | ||||
| Feature Class | ||||
| Boolean | ||||
| Boolean | ||||
| Имя | Описание | Тип данных | 
| Raster Layer | ||
| Feature Class | ||
 Создание векторного слоя
Создание векторного слоя
 Настройка параметров редактирования векторного слоя
Настройка параметров редактирования векторного слоя Топологическое редактирование и прилипание нескольких слоев
Топологическое редактирование и прилипание нескольких слоев Работа с точечными слоями
Работа с точечными слоями Работа с линейными слоями
Работа с линейными слоями Работа с полигональными слоями
Работа с полигональными слоями







