Часть 4: Создание данных

Цель: Умение создавать и редактировать векторные данные и их атрибуты

Ключевые слова: Редактирование, оцифровка, таблица, база данных


Обзор

В предыдущих разделах мы рассматривали векторные данные. Мы знаем, что они состоят из двух ключевых компонентов: геометрии и атрибутов. Геометрия векторного объекта описывает его форму и позицию в пространстве, в то время как атрибуты описывают его свойства (цвет, возраст и т. д.)

В этом разделе мы более подробно рассмотрим процесс создания и редактирования векторных данных, а именно — геометрии и атрибутов.


Как цифровые данные хранятся в ГИС?

Многие программы, такие как текстовые и графические редакторы, позволяют создавать и редактировать цифровые данные. Каждый тип приложений сохраняет свои данные в файлы определенного формата. Например, текстовый редактор позволяет сохранять документы Word в формате .doc, а графический редактор — рисунки в формате JPEG (расширение .jpg), и т. д.

Подобно другим приложениям, ГИС-приложения хранят данные в файлах на жестком диске компьютера. Существует множество специальных ГИС-форматов, и наиболее распространенным, возможно, является шейп-файл. Хотя мы говорим об этом формате в единственном числе, на самом деле каждый шейп-файл состоит как минимум из трех файлов, которые работают вместе, отвечая за отдельные компоненты векторных данных, как показано на Таблице 7:


Расширение Хранимая информация
.shp Геометрия векторных объектов
.dbf Атрибуты векторных объектов
.shx Вспомогательная информация, позволяющая ГИС-приложению быстро находить объекты при поиске (индекс)
Таблица 7: Минимальный набор файлов, составляющий шейп-файл.

Если Вы посмотрите на файлы, составляющие шейп-файл, на жестком диске компьютера, Вы увидите нечто похожее на Рисунок 43. Если Вы хотите отправить кому-то векторные данные, хранящиеся в шейп-файле, важно отправить все файлы, относящиеся к слою. В случае на Рисунке 43, Вам понадобилось бы отправить файлы trees.shp, trees.shx, trees.dbf и trees.prj.

Рисунок 43: Файлы, составляющие шейп-файл “trees”, в папке компьютера.

Многие ГИС-приложения также позволяют хранить цифровые данные в базе данных. Хранение пространственных данных в базе данных является хорошим решением, т. к. с базой данных можно эффективно предоставлять доступ к большим объемам информации. Использование базы данных также позволяет одновременную работу с данными для множества пользователей. Настройка баз данных для хранения геоданных является более сложным процессом, чем использование шейп-файлов, поэтому в данном разделе мы сконцентрируем внимание на создании и редактировании шейп-файлов.


Перед тем, как Вы начнете

Перед тем, как создать новый векторный слой, который будет храниться в виде шейп-файла, Вам нужно знать предполагаемый тип геометрии слоя (точка, линия или полигон) и список атрибутов, которые он будет включать. Давайте посмотрим на несколько примеров, чтобы лучше понять, как это делается.


Пример 1: Создание туристической карты


Представьте, что Вы хотите создать красивую туристическую карту для мест, где Вы проживаете. В Вашем представлении это будет лист масштаба 1:50 000 с маркерами, поставленными на популярных туристических местах. Сначала подумаем о геометрии. Мы знаем, что можем представить объекты, используя точки, линии и полигоны. Что больше всего подходит для туристической карты? Мы можем использовать точки, если нам нужно отметить конкретные места, такие как памятники или музеи. Если мы хотим показать популярный маршрут, нам понадобятся полилинии. Если существует интересный район, например исторический центр города или зоопарк, лучше использовать полигоны.

Иногда бывает нелегко определить, какой тип геометрии Вам понадобится. Распространенный подход к этой проблеме — создание нескольких слоев с разными типами геометрии. Например, государственные картографические службы предоставляют данные о реках в двух слоях: полигональном и линейном. Первый служит для показа широких участков рек (например, дельт или водохранилищ), второй — для узких. На Рисунке 44 мы можем увидеть, как выглядят слои туристической карты с разными типами геометрии.

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

Пример 2: Создание карты загрязнений вдоль реки


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

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

Для каждого показателя нам понадобится отдельное атрибутивное поле. Таблица будет выглядеть примерно так:


Номер пробы рН Кишечная палочка Кислород Взвесь Дата
1 7 Нет 6 Мало 12/01/2009
2 6.8 Да 5 Средне 12/01/2009
3 6.9 Да 6 Много 12/01/2009
Таблица 8: Нарисовав подобную таблицу перед созданием векторного слоя, Вы сможете понять, какие атрибутивные поля (колонки) Вам понадобятся. Стоит отметить, что геометрия (позиции забора проб) не показана в таблице. ГИС-приложение хранит ее отдельно!

Создание пустого шейп-файла

Как только Вы решили, какие объекты хотите хранить в ГИС, и какой тип геометрии и набор атрибутов будут иметь эти объекты, Вы можете перейти на следующую ступень — создание нового шейп-файла. Это делается нажатием иконки «новый векторный слой» в Вашем ГИС-приложении. Затем выбирается тип геометрии (см. Рисунок 45). Как мы уже упомянули, это означает выбор точек, полилинии или полигона.


Рисунок 45: Создание нового векторного слоя. Вы выбираете тип геометрии, затем добавляете атрибутивные поля.

Затем Вы добавите поля в атрибутивную таблицу. Существуют правила присвоения имен полей: они пишутся латиницей, должны быть короткими и соответствовать содержимому поля, а также не должны включать пробелы. Примеры: «pH», «RoofColour», «RoadType» и т. д. Помимо выбора имени для каждого поля, Вам понадобится выбрать тип данных для каждого поля, т. е. номер, текст или даты.

В компьютерной терминологии текстовые значения носят название «string», поэтому для поля, где будет храниться, к примеру, названия улиц или рек, Вы должны выбрать тип данных «string».

Формат шейп-файла позволяет хранить количественную информацию в виде целочисленных значений (integer) или десятичных дробей (floating point), значит перед созданием атрибутивного поля Вам нужно будет определиться, имеют ли Ваши данные цифры после запятой или нет.

Последняя стадия (показанная на Рисунке 46) создания шейп-файла — это присвоение имени и выбор папки, где будет храниться файл. Опять же, лучше присваивать короткие и понятные имена, например «реки», «пробы воды» и т. д.


Рисунок 46: После определения геометрии и списка атрибутов нового слоя мы сохраняем файл на диск. Важно присваивать шейп-файлам короткие и понятные имена.

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


Добавление данных в шейп-файл

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

1. Создание геометрии

2. Ввод атрибутов

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


Чтобы создать точку, сначала нужно перейти к области на карте, где Вам надо будет создавать данные, и выбрать достаточно крупный масштаб. Затем, включив инструмент редактирования, нужно кликнуть левой кнопкой мыши на том месте карты, где Вы хотите поставить новую точку. Как только клик сделан, появится окно, где Вы можете ввести все атрибутивные данные для новой точки (см. Рисунок 47). Если Вы не знаете, какие значения поставить в полях, их можно оставить пустыми, но помните, что если у Вас будет много пустых полей, создать полезную карту потом будет проблематично.


Рисунок 47: Когда Вы создали геометрию точки, приложение просит указать атрибуты этой точки. Форма для введения атрибутов основана на списке полей, который Вы указали при создании слоя.

Создание полилинии похоже на создание точки в том, что Вам сначала нужно приблизиться к нужной области на карте, используя инструменты приближения и перетаскивания вида карты. Вы должны будете достаточно приблизиться, чтобы Ваша новая линия имела правильный масштаб (см. "Часть 2: Векторные данные" для более подробной информации о проблемах масштаба). Когда область карты готова, можно выбрать инструмент редактирования и приступить к рисованию линии, кликая на карте. После первого клипа, Вы заметите что конец линии двигается вслед за Вашим курсором, когда Вы его двигаете. Каждый раз, когда Вы кликаете левой кнопкой мыши на карте, к линии добавляется новая вершина. Процесс показан на Рисунке 48.


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

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


Процесс создания полигона практически совпадает с созданием полилинии. Вы заметите, что пока Вы рисуете геометрию нового полигона, ГИС-приложение показывает замкнутый объект.


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

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


Оцифровка с растра

Как Вы уже могли догадаться, довольно трудно создавать векторные объекты, которые были бы геометрически точными, если нет других данных, используемых в качестве визуальной привязки. Одно из распространенных решений — использование растрового изображения в качестве подложки. Его можно использовать как средство контроля, а можно просто обводить контуры, видимые на растровом изображении, при создании векторных объектов. Этот процесс называется оцифровкой с растра и показан на Рисунке 49.


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

Оцифровка с использованием графического планшета

Другой метод создания векторных данных основан на использовании графического планшета (дигитайзера). Этот подход менее распространен и требует дорогостоящего оборудования, поэтому применяется в профессиональной среде. Бумажная карта кладется на планшет и надежно закрепляется. Затем специальное устройство, именуемое «шайбой» используется для считывания карты. Конструкция «шайбы» обеспечивает четкое распознавание объектов. «Шайба» соединяется с компьютером, и каждый считанный объект сохраняется в памяти компьютера. Данное устройство показано на Рисунке 50.



Рисунок 50. Графический планшет и шайба используется профессионалами для оцифровки данных с существующих бумажных карт.

После того, как объекты оцифрованы

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


О чем стоит помнить

Если Вы производите оцифровку с растра, например с аэрофотоснимка или спутникового снимка, очень важно чтобы растровое изображение имело правильную координатную привязку. Растровый слой с корректной геопривязкой отображается в правильной позиции на карте ГИС-приложения. Пример некорректной привязки показан на Рисунке 51.


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

Также необходимо помнить, что очень важно настроить масштаб отображения карты так, чтобы созданные объекты были пригодны для дальнейшего использования. Например, если Вы оцифровываете данные, настроив масштаб отображения карты на 1:1 000 000, и собираетесь использовать эти данные для создания новой карты масштаба 1:50 000, это неудачная идея. В разделе «Векторные данные» мы указали, к каким проблемам может привести расхождение масштабов конечного продукта и используемых данных.


Что мы узнали?

Закрепим изученный материал:

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

•Геоданные могут храниться в виде файла и вбазе данных.

•Один из наиболее распространенных форматов — шейп-файл, который физически является группой из трех и более файлов (.shp, dbf and.shx).

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

•Тип геометрии может быть точечный, линейный и полигональный.

•Атрибуты могут быть целочисленными (integer), десятичными дробями (decimal numbers), текстовыми (string) и календарно-временными (date).

•Процесс оцифровки состоит из отрисовки геометрии объекта на карте и последующего ввода атрибутивных значений и повторяется для каждого объекта.

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

•Профессиональные ГИС-оцифровщики иногда используют графические планшеты.


Попробуйте сами!

Ниже приведено несколько примеров практических заданий для Ваших учеников:

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

•Найдите спутниковый снимок и скажите ученикам оцифровать определенные объекты с растра.


Если у Вас нет компьютера

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


Дополнительные материалы

Веб-сайт:

http://www.k12science.org/curriculum/waterproj/S00project/miami2000/miamiriverfinal.html (школьный проект по оценке качества воды в местной реке).


Руководство Пользователя QGIS также включает более подробную информацию по оцифровке векторных данных в QGIS.


Что дальше?

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

Загрузка...