5. Создание данных¶
Цель: |
Научиться создавать и редактировать векторные данные и их атрибуты. |
|
Основные понятия: |
Редактирование, оцифровка, heads-up, таблица, база данных. |
5.1. Обзор¶
В двух предыдущих разделах мы познакомились с векторными данными. Мы узнали, что векторные данные имеют две основных составляющих, а именно: геометрию и атрибуты. Геометрия векторного объекта описывает его форму и положение, а атрибуты — его свойства (цвет, размер, возраст, и т.д.).
Этот раздел посвящен процессам создания и редактирования векторных данных — как геометрии, так и атрибутов объектов.
5.2. Как QGIS хранит данные?¶
Текстовые процессоры, электронные таблицы, графические пакеты это всё программы, позволяющие создавать и редактировать цифровые данные. Каждое приложение сохраняет данные в определенном формате. Например, графический редактрор позволяет сохранить ваш рисунок как .jpg
изображение JPEG, текстовый редактор — как .odt
документ OpenDocument или .doc
документ Word и т.д.
Как и все остальные приложения, ГИС-приложение может сохранять свои данные в файлы на диске. Существует множество различных форматов для ГИС-данных, но наиболее распростаненным, пожалуй, является shape-файл. Название немного странное, так как хотя мы и называем его shape-файлом (в единственном числе), на самом деле он состоит как минимум из трех разных файлов, которые и используются для хранения ваших векторных данных в цифровом виде, как показано в таблице table_shapefile.
Расширение |
Описание |
---|---|
|
В этом файле хранится геометрия векторных объектов |
|
Файл содержит атрибуты объектов |
|
Это индексный файл, помогающий ГИС-приложению находить объекты быстрее. |
Table Shapefile 1: Основные файлы, образующие shape-файл.
Если вы посмотрите на файлы, образующие shape-файл, в файловом менеджере, вы увидите что-то похожее на рисунок figure_shapefile. Если вам необходимо передать данные, хранящиеся в shape-файле другому человеку, обязательно убедитесь, что вы дали ему все эти файлы. Так, в случае трёх файлов, изображенных на рисунке figure_shapefile, вы должны передать файлы trees.shp
, trees.shx
, trees.dbf
, trees.prj
и trees.qml
.
Многие ГИС-приложения также могут хранить данные в базе данных. В общем случае, хранение ГИС-данных в базе является хорошим решением, так как база может хранить большие объемы данных эффективно и может предоставлять их ГИС-приложению очень быстро. Использование базы данных также позволяет одновременную работу нескольких пользователей с одним и тем же векторным слоем. Настройка базы данных для хранения ГИС-данных сложнее использования shape-файлов, поэтому в пока мы будем рассматривать создание и редактирование shape-файлов.
5.3. Планирование¶
Прежде чем создать новый векторный слой (который будет храниться в shape-файле), необходимо определиться с типом геометрии слоя (точечный, линейный или полигональный), а также с набором атрибутов. Чтобы было понятнее, рассмотрим несколько примеров.
5.3.1. Пример 1: Создание туристической карты¶
Представьте, что вы решили создать хорошую туристическую карту вашего региона. Вы решили, что это должен быть лист топографической карты масштаба 1:50000 с наложенными маркерами, отмечающими интересные туристам места. Сначала подумаем о геометрии. Мы знаем, что векторный слой может содержать точки, линии или полигоны. Что же выбрать для нашей туристической карты? Можно использовать точки, если мы хотим отмечать определеные места, например, обзорные площадки, мемориалы, места сражений и т.п. Если мы хотим провести туристов по маршруту, например живописному маршруту через горный перевал, возможно, стоит использовать полилинии. Ну а если необходимо показать целые области, представляющие интерес для туристов, такие как заповедники, то полигоны будут хорошим выбором.
Как видите, часто не так просто определить какой тип геометрии нам нужен. Общим подходом является использование одного слоя на каждый тип геометрии. Например, если посмотреть на данные предоставляемые Главным управлением геодезии и картографии Южной Африки, то видно, что они предоставляют данные по рекам в виде полигонального и линейного слоёв. Полигональный слой рек используется, чтобы показать широкие участки реки, а линейный слой — для отображения узких участков. Рисунок figure_tourism показывает как может выглядеть туристическая карта с каждым из трех типов геометрии.
5.3.2. Пример 2: Создание карты загрязнений реки¶
Если вы хотите замерить уровень загрязнения вдоль реки, вы будете двигаться по реке на лодке или идти вдоль берегов. Через равные промежутки вы будете останавливаться и проводить различные измерения, такие как уровень растворенного кислорода, число бактерий кишечной палочки, уровень мутности и pH. Вам также необходимо отмечать своё положение на карте или записывать его с помощью приемника GPS.
Для хранения, собранных таким образом, данных в ГИС-приложении вы скорее всего создатите точечный слой. Использование точек в данном случае имеет смысл, т.к. каждый образец был получен в определенном месте.
Что касается атрибутов, то нам потребуется поле для каждого собранного параметра. Поэтому наша таблица атрибутов будет выглядеть примерно как таблица table_river_attributes.
SampleNo |
pH |
DO |
CB |
Turbidity |
Collector |
Date |
---|---|---|---|---|---|---|
1 |
7 |
6 |
N |
Низкая |
Patience |
12/01/2009 |
2 |
6.8 |
5 |
Y |
Средняя |
Thabo |
12/01/2009 |
3 |
6.9 |
6 |
Y |
Высокая |
Victor |
12/01/2009 |
Table River Attributes 1: Рисование подобных таблиц перед созданием векторного слоя поможет вам определиться с набором необходимых атрибутов (столбцов). Обратите внимание, что геометрия (координаты места получения образцов) в таблице не отображается –– ГИС-приложение хранит их отдельно!
5.4. Создание пустого shape-файла¶
После того как вы определились с тем, какие объекты будут переноситься в ГИС, выбрали подходящий тип геометрии и набор атрибутов, можно переходить к следующему шагу — созданию пустого shape-файла.
Процесс обычно начинается с выбора «нового векторного слоя» в вашем ГИС-приложении и указании типа геометрии (см. рисунок figure_new_shapefile). Как было сказано выше, это выбор между точками, линиями и полигонами.
Затем необходимо добавить поля таблицы атрибутов. Как правило, названия полей должны быть короткими, не содержать пробелов и отражать тип хранимой информации. Например, поля могут иметь имена «ph», «RoofColor», «RoadType» и т.д. Помимо имени поля необходимо также указать какая информация будет в нем храниться, т.е. это число, слово или предложение, или же дата.
Компьютерные программы, как правило, называют информацию, состоящую из слов или предложений, строками. Поэтому, если вам необходимо хранить что-то вроде названия улицы или реки, выбирайте «String» в качестве типа данных.
Shape-файл позволяет хранить числовую информацию либо в виде целого числа (integer), либо в виде десятичного (floating point) — так что перед выбором типа данных подумайте будут ли ваши числа содержать десятичную точку или нет.
И наконец (как показано на рисунке figure_save_shapefile), для создания shape-файла необходимо задать его имя и расположение на диске компьютера. Ещё раз напомним, что файлам следует давать короткие и значащие имена. Хорошие примеры: «rivers», «watersamples» и другие.
Подведем итоги. Для создания shape-файла необходимо определиться с типом геометрии, затем создать одно или несколько полей атрибутивной таблицы и, наконец, сохранить файл на диске под понятным именем. Как два байта переслать!
5.5. Добавление данных в shape-файл¶
Пока мы создали только пустой shape-файл. Теперь начнем редактирование shape-файла, выбрав пункт «начать редактирование» в меню или нажав соответствующую кнопку на панели инструментов. Shape-файлы по умолчанию открываются в режиме «только чтение» чтобы предотвратить случайное изменение или удаление данных. После перехода в режим редактирования можно добавлять данные. Создание записи в shape-файле условно разбивается на два шага:
создание геометрии
ввод атрибутов
Процесс создания геометрии имеет свои особенности в зависимости от того, что создаётся: точки, линии или полигоны.
Для создания точки необходимо переместить карту и изменить масштаб так, чтобы видеть окрестности места, где должен находиться объект. Затем активируйте инструмент создания точек. Теперь поместите курсор в необходимое место карты и нажмите левую кнопку мыши. После нажатия появится окно ввода атрибутивных данных созданной только что точки (см. рисунок figure_attribute_dialog). Если вы не знаете, что вносить в очередное поле, просто оставьте его пустым, но помните, если большая часть полей будет пустой — вы не сможете создать полезной карты из таких данных!
Процесс создания полилинии похож на создание точки, вначале необходимо переместиться в окрестности нужного места. Кроме того необходимо выбрать достаточное приближение, чтобы создаваемая линия была в правильном масштабе (см. Векторные данные для более подробной информации о проблемах масштаба). Когда всё буде готово, активируйте инструмент создания полилинии и начинайте рисовать, щелкая по карте. После первого щелчка вы должны увидеть, что отрезок тянется как резиновая нить и следует за курсором мыши. Каждый раз, когда выполняется щелчок левой кнопкой мыши, создаётся новый узел. Этот процесс показан на рисунке figure_capture_polyline.
Когда создание линии закончено, используйте правую кнопку мыши, чтобы завершить редактирование. Как и в случае создания точки, после этого появится диалог ввода атрибутов нового объекта.
Создание полигона во многом похоже на создание полилинии, за исключение того, что необходимо использовать инструмент создания полигона. В процессе создания полигона вы увидите, что ГИС-приложение всегда создаёт замкнутую область.
Для добавления нового объекта после первого, просто ещё раз щелкните по карте инструментом создания точки, линии или полигона и рисуйте новый объект.
После того как все объекты созданы, убедитесь, что вы отключили режим редактирования нажатием на соответствующую кнопку панели инструментов. При этом ГИС-приложение сохранит созданные вами данные.
5.6. Экранная оцифровка¶
Если вы выполняли описанные выше действия, то наверняка заметили, что создавать пространственно правильные объекты при отсутствии других объектов, которые можно использовать в качестве точек опоры, очень трудно. Одним из возможных решений этой проблемы является использование растрового слоя (например, аэрофотосъемки или спутникового изображения) в качестве подложки. Такой слой можно использовать как для контроля, так и обводить по нему объекты. Этот процесс называется экранной оцифровкой и показан на рисунке figure_headsup_digitizing.
5.7. Оцифровка с использованием графического планшета¶
Другим сопособо создания векторных данных является использование графического планшета. Этот подход используется реже, применяется в основном ГИС-профессионалами и требует наличия дорогостоящего оборудования. Процесс оцифровки можно описать следующим образом. На поверхности планшета зажимами неподвижно закрепляется бумажная карта. Затем специальное устройство, называемое «шайба», используется для трассировки объектов с карты. Небольшое перекрестие в центре шайбы используется для контроля точности оцифровки линий и точек. Шайба подключается к компьютеру и каждый объект, оцифрованный с её помощью, сохраняется в памяти компьютера. Общий вид шайбы показан на рисунке figure_digitizing_table.
5.8. После оцифровки объектов…¶
После того, как все объекты оцифрованы, вы можете применить полученные ранее знания для настройки отображения слоёв. Выбор подходящего отображения данных поможет вам лучше понять их.
5.9. Частые ошибки / о чем стоит помнить¶
Если оцифровка выполняется с растрового слоя, например с аэрофотоснимка или спутникового изображения, необходимо убедиться, что растр имеет правильную привязку. Слой с правильной привязкой отображается в ГИС-приложении на своем рельаном месте. Результат использования некорректно привязанного изображения показан на рисунке figure_georeference_issue.
Также стоит помнить, что необходимо устанавливать правильный масштаб, чтобы получаемые векторные объекты можно было использовать. Как было показано в предыдущем разделе, выполнять оцифровку в масштабе 1:1000 000 для дальнейшего использования данных при масштабе 1:50 000 не самая лучшая идея.
5.10. Что мы узнали?¶
Подведём итоги:
Оцифровка это процесс сохранения информации о геометрии и атрибутах объекта в цифровом формате на диске компьютера.
ГИС-данные могут храниться в базе данных или в файлах.
Наиболее распространенным форматом является shape-файл, который на самом деле состоит из трех и более файлов (
.shp
,.dbf
and.shx
).Перед созданием нового векторного слоя необходимо определиться с его геометрией и набором атрибутов.
Геометрия может быть точечной, линейной или полигональной.
Атрибуты могут иметь тип integer (целые числа), floating point (плавающая точка), string (строка) или date (дата).
Процесс оцифровки можно разбить на рисование геометрии на карте и ввод атрибутов. Эти шаги повторяются для каждого объекта.
Экранная оцифровка часто используется для упрощения ориентирования при оцифровке и использует растр в качестве подложки.
Профессиональные пользователи ГИС иногда используют графический планшет для получения данных с бумажных карт.
5.11. Попробуйте сами!¶
Вот некоторые идеи для заданий:
Составьте список объектов вокруг школы, которые было бы интересно оцифровать. Например, граница школы, расположение пожарных щитов, кабинеты и т.д. Постарайтесь использовать различные типы геометрии. Затем разбейте учащихся на группы и каждой группе выдайте объекты для оцифровки. Попросите их настроить отображение полученных слоёв, чтобы они были более информативными. Используйте слои, подготовленные всеми группами, для создания карты школы и её окрестностей!
Найдите речку и возьмите пробы воды вдоль её течения. Тщательно обозначьте места взятия проб при помощи GPS или отмечая положение на топографической карте. Для каждого образца измерьте ряд параметров, например pH, уровень растворенного кислорода и т.п. Внесите собранные данные в ГИС-приложение и создайте карту проб, используя подходящую символику. Можете ли вы определить по ней проблемные участки? Способствовало ли этому использование ГИС-приложения?
5.12. Стоит учесть¶
Если у вас нет компьютера, можно использовать прозрачную пленку и лист бумаги. Используйте распечатанный аэрофотоснимок, ортофото или спутниковое изображение в качестве подложки. На листе бумаги нарисуйте пустую таблицу и подпишите названия столбцов для каждого атрибута. Затем обрисуйте геоеметрии объекта на прозрачной пленке и пронумеруйте их. Теперь впишите эти номера в первый столбец вашей таблицы и заполните другие столбцы дополнительной информацией.
5.13. Дополнительная литература¶
Website http://www.k12science.org/curriculum/waterproj/S00project/miami2000/miamiriverfinal/ — A school project to assess water quality in their local river.
Дополнительную информацию по оцифровке в QGIS можно найти в Руководстве пользователя QGIS.
5.14. Что дальше?¶
В следующем разделе мы познакомимся с растровыми данными и узнаем как они используются в ГИС.