5.1. Занятие: Создание нового набора векторных данных
Данные, которые вы используете, должны откуда-то поступать. Данные уже существуют для наиболее распространенных приложений; но чем более конкретен и специализирован проект, тем меньше вероятность того, что данные уже будут доступны. В таких случаях вам нужно будет создать свои собственные новые данные.
Цель данного занятия: создать новый набор векторных данных.
5.1.1. Идем дальше: Диалоговое окно для создания слоя
Прежде чем вы сможете добавить новые векторные данные, вам понадобится набор векторных данных, для того чтобы их добавить. В нашем случае вы начнете с создания абсолютно новых данных, а не с редактирования существующего набора данных. Следовательно, вам сначала необходимо определить свой собственный новый набор данных.
Откройте QGIS и создайте новый пустой проект.
Перейдите и кликните меню, войдите в New Shapefile Layer, что позволит вам определить новый слой.
и кликните его. Вам будет представлено диалоговое окно Новый слой шейп-файлаКликните на … в поле File name. Появится диалоговое окно сохранения.
Перейдите в каталог
exercise_data
.Сохраните новый слой как
school_property.shp
.На этом этапе важно решить, какой тип набора данных вам нужен. Каждый векторный тип слоя «строится по-своему» в фоновом режиме, поэтому после создания слоя вы не можете изменить его тип.
В следующем упражнении мы собираемся создать новые функции, описывающие местности. Вам потребуется создать набор данных полигона для таких функций.
В поле Тип геометрии Geometry Type, выберите Полигон Polygon в раскрывающемся меню:
Это не влияет на остальную часть диалогового окна, но приведет к использованию правильного типа геометрии при создании набора векторных данных.
В следующем поле можно указать Систему координат (СК-CRS). ССК - это метод связывания числовых координат с положением на поверхности Земли. Чтобы узнать больше, см. Руководство пользователя по работе с прогнозами - Working with Projections.
В данном примере мы будем использовать, связанный с этим проектом, ССК по умолчанию, то есть WGS84.
Далее идет набор полей, сгруппированных в Новом поле New Field. По умолчанию, новый слой имеет только один атрибут – поле
id
(которое вы должны увидеть в списке полей Fields list) ниже. Однако для того, чтобы создаваемые вами данные были полезными, вам действительно нужно что-то описать о функциях, которые вы будете создавать в данном новом слое. Для наших текущих целей будет достаточно добавить одно поле, которое называетсяname
, которое будет содержатьText data
и будет ограничено длиной текста в80
символов.Повторите настройку ниже, затем кликните кнопку Добавить в список полей Add to Fields List:
Убедитесь, что ваше диалоговое окно выглядит следующим образом:
Кликните OK
Должен появиться новый слой на вашей панели Layers.
5.1.2. Идем дальше: Источник данных
Когда вы создаете новые данные, очевидно, что речь идет об объектах, которые действительно существуют на земле. Следовательно, вам нужно будет откуда-то получать информацию.
Существует много разных способов получить данные об объектах. Например, вы можете использовать GPS для съемки точек в реальном мире, а затем импортировать данные в QGIS. Или вы можете обследовать точки с помощью теодолита и ввести координаты вручную, чтобы создать новые функции. Или вы можете использовать процесс оцифровки для отслеживания объектов по данным дистанционного зондирования, таким как спутниковые изображения или аэрофотосъемка.
В нашем примере вы будете использовать подход оцифровки. Вам предоставлены образцы наборов растровых данных, поэтому, при необходимости, вам нужно будет их импортировать.
Кликните на Диспетчер источников данных Data Source Manager.
На панели Источник Source, кликните кнопку …:
Перейдите в файл упражнений
exercise_data/raster/
.Выберите файл
3420C_2010_327_RGB_LATLNG.tif
.Кликните Open , чтобы закрыть диалоговое окно.
Кликните Add и Close. Изображение загрузится на вашу карту.
Если вы не видите аэрофотоснимок, выберите новый слой, кликните правой кнопкой мыши и выберите Приблизить до слоя Zoom to Layer. Layer в контекстном меню.
Кликните на кнопку Zoom In, и приближайте масштаб до местности, выделенной синим цветом ниже:
Теперь вы готовы оцифровать эти три поля:
Прежде чем вы начнете оцифровку, давайте передвинем слой school_property
над аэрофотоснимком.
Выберите слой
school_property
на панели Layers и перетащите его наверх.
Чтобы начать оцифровку, вам нужно войти в режим редактирования. Программное обеспечение GIS обычно требует этого, чтобы предотвратить случайное редактирование или удаление важных данных. Режим редактирования включается или выключается индивидуально для каждого слоя.
Чтобы войти в режим редактирования для слоя school_property
необходимо:
Кликнуть слой
school_property
на панели Layers, чтобы выбрать его.Кликните на кнопку Toggle Editing.
Если вы не можете найти эту кнопку, убедитесь, что панель инструментов Оцифровка Digitizing включена. Рядом с пунктом меню Digitizing должен быть установлен флажок.
Как только вы войдете в режим редактирования, вы увидите, что некоторые инструменты оцифровки стали активными:
Другие соответствующие кнопки по-прежнему неактивны, но станут активными, когда мы начнем взаимодействовать с нашими новыми данными.
Обратите внимание, что у слоя
school_property
на панели Layers теперь есть значок карандаша, указывающий, что он находится в режиме редактирования.Кликните на кнопку Capture Polygon чтобы начать оцифровку школьных полей.
Вы заметите, что курсор мыши превратился в перекрестие. Это позволяет более точно размещать точки, которые вы будете оцифровывать. Помните, что даже когда вы используете инструмент оцифровки, вы можете приближать и отдалять вашу карту, прокручивая колесико мыши, и вы можете перемещаться, удерживая колесико мыши и перетаскивая карту.
Первое, что вам нужно оцифровать - это спортивная площадка:
Начните оцифровку, кликнув точку где-нибудь на краю поля.
Разместите больше точек, кликая дальше по краю, пока фигура, которую вы рисуете, полностью не покроет поле.
После размещения последней точки кликните правой кнопкой мыши, чтобы закончить рисование полигона. Этим вы завершите функцию и увидите диалоговое окно Attributes.
Введите значения, как показано ниже:
Кликните OK. Вы создали новую функцию!
На панели Layers выберите слой
school_property
.Кликните правой кнопкой мыши и выберите Open Attribute Table в контекстном меню.
В таблице вы увидите только что добавленную функцию. В режиме редактирования вы можете обновить данные атрибутов, дважды кликнув ячейку, которую вы хотите обновить.
Закройте таблицу атрибутов.
Кликните кнопку Сохранить изменения Save Edits, чтобы сохранить новую функцию, которую мы только что создали.
Помните, что если вы допустили ошибку при оцифровке объекта, вы всегда можете отредактировать ее после того, как закончите ее создавать. Если вы ошиблись, продолжайте оцифровку, пока не закончите создание объекта, как указано выше. Далее:
Наведите курсор мыши на Vertex, который вы хотите переместить, и кликните на него левой кнопкой мыши.
Переместите мышь в правильное место Vertex и кликните левой кнопкой мыши. Это переместит Vertex в новое место.
Эту же процедуру можно использовать для перемещения линейного сегмента, но вам нужно будет навести курсор мыши на среднюю точку линейного сегмента.
IЕсли вы хотите отменить изменение, вы можете кликнуть на кнопку Undo или Ctrl+Z.
По завершении редактирования кликните на Переключить редактирование Toggle Editing, чтобы выйти из режима редактирования.
5.1.3. Попробуйте сами, оцифруйте полигоны
Оцифруйте саму школу и поле вверху. Используйте данное изображение для подсказки:
Помните, что каждая новая функция должна иметь уникальное значение id
!
Примечание
Когда вы закончите добавлять функции к слою, не забудьте сохранить изменения, а затем выйти из режима редактирования.
Примечание
Вы можете стилизовать заливку, контур и размещение надписей и форматирование school_property
используя приемы, изученные на более раннем занятии.
5.1.4. Идем дальше: Использование таблицы редактора Vertex
Другим способом редактирования функции является ввод вручную фактических значений координат для каждой вершины с помощью Vertex Editor.
Убедитесь, что вы находитесь в режиме редактирования на слое
school_property
.Наведите курсор мыши на одну из функций полигонов, созданных на слое
school_property
и кликните правую кнопку. Таким образом будет выбрана функция и появится панель Vertex Editor.Примечание
Эта таблица содержит координаты вершин элемента. Обратите внимание, что в этой функции имеется семь вершин, но только шесть визуально идентифицированы в полотне карты. При ближайшем осмотре можно заметить, что строки 0 и 6 имеют идентичные координаты. Они являются начальной и конечной вершинами геометрии функции и необходимы для создания замкнутой функции полигона.
Кликните и перетащите рамку над вершиной или несколькими вершинами выбранной функции.
Выбранные вершины поменяют цвет на голубой, а в таблице Vertex Editor будут выделены соответствующие строки, содержащие координаты вершин.
Чтобы обновить координату, дважды кликните левой кнопкой мыши на ячейку в таблице, которую требуется отредактировать, и введите обновленное значение. В этом примере координата x строки
4
обновлена из20.4450
на20.4444
.После ввода обновленного значения кликните клавишу Enter, чтобы применить изменение. Вершина будет перемещена в новое расположение в окне карты.
Когда закончите редактирование кликните Toggle Editing, чтобы выйти из режима редактирования, сохраните свои изменения.
5.1.5. Попробуйте сами: Оцифруйте линии
Мы собираемся оцифровать два маршрута, которые еще не отмечены на слое дорог: один это путь, другой - трек. Наш путь проходит вдоль южного края пригорода Райлтона, начинаясь и заканчиваясь отмеченными дорогами:
Наш трек немного дальше к югу:
Если слой дороги еще не указан на вашей карте, добавьте слой
roads
из файла GeoPackagetraining-data.gpkg
, который включен в папкуexercise_data
вашей учебной базы данных, которую вы загрузили. Прочтите главу Идем дальше: Загружаем векторные данные из Базы данных GeoPackage для инструкций.Создайте новый набор данных строки Shapefile ESRI с именем
routes.shp
в директорииexercise_data
, с атрибутамиid
иtype
(используйте приведенный выше подход, чтобы научиться).Активируйте режим редактирования на слое routes.
Поскольку вы работаете с функцией линии, кликните кнопку Add Line для запуска режима оцифровки линии.
Оцифровывайте по одному путь и трек на слое
routes
. Старайтесь как можно точнее следовать маршрутам, добавляя дополнительные точки вдоль углов или поворотов.Задайте значение атрибута
type
дляpath
илиtrack
.Используйте диалоговое окно Layer Properties чтобы добавить стиль к маршрутам. Не стесняйтесь использовать различные стили для путей и треков.
Сохраните изменения и отключите режим редактирования, нажав кнопку Toggle Editing.
5.1.6. В заключении
Теперь вы знаете, как создавать функции. Этот курс не охватывает добавление точечных функций, потому что это не так уж необходимо, когда вы работаете с более сложными функциями (линии и полигоны). Здесь все работает точно так же, за исключением того, что вы нажимаете только один раз, на то место где вы хотите, чтобы ваша точка располагалась, придайте ей атрибуты, как обычно, и таким образом функция создана.
Знание того как оцифровывать важно потому, что это очень распространенное действие в программах GIS.
5.1.7. Что дальше?
Функции на слое GIS – это не только картинки, но объекты, расположенные в пространстве. Например, смежные полигоны знают где они находятся относительно друг друга. Это называется топологией. На следующем занятии вы увидите пример того, почему это может быть полезно.