GIS-LAB

Географические информационные системы и дистанционное зондирование

Введение в геоинформационные системы

Работа с табличными данными

<<< предыдущая глава | оглавление | следующая глава >>>

Теоретическая часть

Элементами таблицы являются: поле (колонка), строка (запись), тип поля определяет тип данных которые можно в это поле вносить. Существуют следующие типы данных:

  • Целочисленные (integer)
  • Десятичные (float)
  • Текстовые (text)
  • Логические (boolean)
  • Дата (Date)

Редактирование данных

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

Как правило, табличные данные, загружаемые в ГИС, имеют поля, посредством которых может осуществляться связь с другими атрибутивными таблицами. Также, если в импортируемой таблице существуют поля, содержащие пространственные координаты (широта, долгота или спроектированные координаты в метрах), то эти данные можно превратить в пространственно привязанный слой. Кроме атрибутивного соединения и создания слоя из таблицы с координатами существует также возможность пространственного объединения таблиц. (Подробнее о загрузке табличных данных в ArcGIS)

Установление связи между таблицами

Связи между таблица бывают двух видов:

1. Соединение

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

2. Связывание

Также как и соединение, связывание (Link) устанавливает связь одна-ко-многим между таблицей назначения и таблицей источника. Одна запись в таблице назначения связывается с одной или несколькими записями в таблице источнике. При связывании таблиц добавления данных из одной таблицы к другой не происходит (в отличие от операции соединения). Между ними только устанавливается связь, поэтому выбирая запись в одной из таблиц Вы автоматически выбираете запись в связанной с ней таблице.

Пространственное соединение таблиц

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

 

точка

линия

полигон

точка

близость

близость

внутри

линия

близость

часть от

внутри

полигон

-

-

внутри

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

Когда пространственное соединение основано на связи типа "часть от" (оба слоя должны быть линейными), линейные объекты, представленные в результирующей таблице связываются с линейными объектами, представленными в исходной таблице, если линия в исходной таблице является частью линии другого слоя. Например, если первая тема содержит реку Ока, а вторая - все реки бассейна Волги, то все объекты в первой теме рассматриваются как "часть от" объектов второй темы, потому что река Ока - приток Волги, и объекты, представляющие Волгу, присутствуют и во второй теме.

Работа с таблицей в процессе создания макета карты
В макете карты таблица может использоваться как графический элемент. Она может быть добавлена в любое место карты, масштабирована, связана с исходным документом Word или Excel, связь позволяет открывать и редактировать таблицу не покидая режима верстки карты.

Практическая часть

Скачать учебные материалы для этой главы (0.1 Мб).

В практической части этой главы Вы научитесь:

  • Работать с атрибутивной таблицей слоя - открывать ее, выделять объекты;
  • Добавлять и удалять новые записи в таблице;
  • Создавать новые поля в таблице;
  • Записывать значения в созданное поле.

Упражнение 1. Работа с табличными данными

  1. Откройте проект ex12.mxd из папки chapt17. В этом проекте находится только один слоя - линейный слой дорог.
  2. Открйте атрибутивную таблицу слоя (нажмите левой кнопкой мыши на названию слоя в таблице содержания вида и выберите Open Attribute Table)



    В атрибутивной таблице выделите несколько строчек щелкая мышкой по самому правому столбцу таблицы. Удерживая клавишу crtl выделите одновременно несколько строк. Обратите внимание, что в виде все объекты соответствующие выделенным в таблице строкам также выделились


  3. Начните редкатирование слоя дорог (Editor/Start Editing). Создайте (нарисуйте) новый объект в виде. Обратите внимание, что в таблице добавилась новая пустая строка соответсвующая созданному только что объекту. В поле TYPE укажите тип дороги - грунтовая


    Закончите редактирование слоя без сохранения изменений (Editor/Stop editing).
  4. Откройте атрибутивную таблицу слоя road-l. Нажмите на кнопку Options и выберите Add Field.. В окне создания нового поля наберите название слоя Subclass и задайте тип поля Text с длиной поля 100



    Нажмите ок. В таблице добавилось новое поле Subclass. Левой кнопкой мыши щелкните по названию поля Subclass и выберите Delete Field


  5. Запустите ArcCatolog. В окне дерева каталога найдите папку chapt17/vector. В окне Contents щелкните левой кнопкой мыши по названию слоя road-l и выберите из списка Properties



    В окне Shapefile Properties в закладке Fields просмотрите какие поля, содержаться в атрибутивной таблице слоя и какой тип (Data Type) имеет каждое поле. В одной из пустых строк столбца Field Name попробуйте написать название нового столбца - как Вы увидите, это сделать невозможно, так как в данный момент слой загружен в открытый проект


  6. Перейдите в окно ArcMap и удалите слой road-l из таблицы содержания вида. Затем опять переключитесь в окно ArcCatalog, откройте окно Shapefile Properties слоя road-l и создайте новое поле Subclass в столбце Field Name. Тип поля (Data Type) выбирите Text, длину поля задайте равной 100.



    Нажмите Apply и загрузите тему в проект ex12.mxd. Откройте атрибутивную таблицу слоя. Как Вы видете в таблице повился новый столбец Subclass.
  7. Начните редактирование слоя road-l. Нажмите кнопку Options и выбирите Select By Attributes..



    В окне построения запроса введите выражение "TYPE" = 'проселочная'. Таким образом, все дороги этого типа будут выбраны



    Нажмите Apply
  8. Левой кнопкой мыши щелкните по названию столбца Subclass в атрибутивной таблице. В раскрывшемся списке выберите Calculate Values...



    В окне Field Calculator в поле ввода значения "Subсlass =" наберите слово "ремонт" (обязательно в двойных кавычках) и нажмите ок



    Как Вы видите всем дорогам типа "проселочная" в поле Subclass было присвоено значение "ремонт". Закончите редактирование слоя без сохранения изменений.
  9. Довольно часто может возникать необходимость присоединения таблицы одного слоя к таблице другого слоя. Для того, чтобы осуществить такое присоединение, нажмите левой кнопкой мыши по названию слоя в таблице содержания вида, выберите в списке Joins and Relates и затем Join..



    В открывшемся окне Join Data укажите то, по какому поля слоя будет проводится присоединение, укажите слой, таблица которого будет присоединена и поле в этой таблице.
  10. Атрибутивные таблицы можно добавлять в макет карты. Для этого откройте атрибутивную таблицу слоя road-l, нажмите кнопку Options и выберите Add Table To Layout.



    Автоматически таблица будет добавлена в центр макета карты и вы будете переключены в режим работы с макетом карты.

<<< предыдущая глава | оглавление | следующая глава >>>

Последнее обновление: November 29 2008