Присоединение табличных данных к пространственному слою

Видео

Этот урок также доступен в виде видео.

Поиск сопоставленных полей

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

  1. Загрузите файл .zip RiverFloods и распакуйте его в папку на вашем компьютере, например, на диск C.
  2. Откройте распакованную папку RiverFloods и дважды щелкните RiverFloods.aprx, чтобы открыть проект в ArcGIS Pro.

    RiverFloods.aprx в Проводнике Windows

  3. Если будет предложено, войдите под учетной записью ArcGIS.
    Примечание:

    Если у вас нет доступа к ArcGIS Pro или учетной записи организации ArcGIS, см. варианты доступа к программному обеспечению.

    Появится Карта мира.

    Карта мира с границами государств

    На карте есть один слой базовой карты (Charted Territory), один векторный слой (Countries) и один слой автономной таблицы (global_flood_risk.csv).

    Панель Содержание

    Файл .csv считается автономной таблицей, поскольку содержит только табличные данные. Она отличается от векторных слоев, таких как Countries, которые содержат как пространственную (форму и расположение стран, отображаемых на карте), так и табличную информацию (таблицу атрибутов).

    Примечание:

    Слой Countries взят из общедоступного набора данных Natural Earth. Файл Global_flood_risk.csv предоставлен World Resources Institute. Набор данных называется Aqueduct Global Flood Risk Country Rankings и был создан Хесселем Винсемиусом, старшим научным сотрудником Deltares, и Филиппом Уордом - старший научным сотрудником Института экологических исследований Амстердамского свободного университета.

  4. На панели Содержание щелкните правой кнопкой Countries и выберите Таблица атрибутов.

    Таблица атрибутов в контекстном меню слоя Countries

    Ниже карты откроется атрибутивная таблица.

  5. Пролистайте таблицу, чтобы увидеть все ее поля.

    В таблице есть много полей для хранения названий стран, включая SUBUNIT, NAME и NAME_LONG.

    Таблица атрибутов

    Несколько полей с именами объясняются несколькими способами написания названий некоторых стран. Отсутствие общепринятых стандартов означает, что названия стран - не самый лучший выбор в качестве общих полей. К счастью, таблица также содержит множество полей с разными версиями кодов стран, например, FIPS_10_, ISO_A2 и ISO_A3. Поле кода хорошо подходит для поля соединения, поскольку его значения уникальны и стандартизированы.

    FIPS, ISO и другие поля с кодами в таблице атрибутов

    Вы просмотрите таблицу global_flood_risk.csv, чтобы увидеть, содержит ли она те же поля с кодами, что и слой Countries.

  6. На панели Содержание щелкните правой кнопкой global_flood_risk.cs и выберите Открыть.

    Таблица global_flood_risk.csv

    В этой таблице всего три поля: Rank, Country и Current annual average population affected by river floods. К сожалению, полей кодов стран здесь нет, поэтому вам придется использовать Country в качестве поля соединения. Вполне вероятно, что вам не удастся с использованием этого поля добиться полного совпадения, но вы должны максимально приблизиться к нему.

  7. Прокрутите таблицу global_flood_risk.csv и обратите внимание на формат написания названий стран.

    Примерами форматирования являются названия Egypt, Arab Rep., Congo, Dem. Rep. и Russian Federation.

    Egypt, Arab Rep. и Congo, Dem. Rep. в поле Country

  8. Щелкните Египет на карте. Прокрутите всплывающее окно, чтобы сравните поля с названиями.

    Поле NAME_SORT во всплывающем окне

    NAME_SORT - единственное поле, название государства Египет в котором совпадает с содержащимся в слое global_flood_risk.csv.

  9. На карте щелкайте по другим странам, чтобы сравнить имя в поле NAME_SORT с содержанием столбца Country в файле .csv.

    Большинство имен совпадают. Вы попытаетесь соединить две таблицы, используя совпадающие значения в полях Country и NAME_SORT.

  10. Закройте всплывающее окно.

Присоединение автономной таблицы к векторному слою

Вы будете использовать инструмент Добавить соединение, чтобы присоединить поля из таблицы global_flood_risk.csv к таблице атрибутов слоя Countries.

  1. На панели Содержание щелкните правой кнопкой Countries, наведите курсор на Соединения и связи и выберите Добавить соединение.

    Добавить соединение в контекстном меню слоя Countries

    Появится окно Добавить соединение.

  2. Убедитесь, что в окне Добавить соединение для Входной таблицы выбран слой Countries.

    Это слой, к которому будут присоединены поля.

  3. Для Входного поля присоединения введите NAME_SORT.

    Имя поля будет автоматически заполняться по мере входа.

  4. Для Присоединяемой таблицы выберите global_flood_risk.csv.

    Это слой, содержащий присоединяемые поля.

  5. Для Поля присоединяемой таблицы выберите Country.

    Операция объединения сможет присоединить только те записи, в которых совпадают значения в полях NAME_SORT и Country. Для этой первой попытки вы сохраните только те страны, которые удалось сопоставить. Это облегчит поиск стран, которые не совпали.

  6. Отключите Сохранить все целевые объекты.

    Окно Добавить соединение с заполненными параметрами

  7. Нажмите OK.

Просмотр результатов

Внешний вид карты изменился. Некоторые регионы, в том числе США и Гренландия, в настоящий момент отсутствуют в золотом слое Countries. Гренландия отсутствует, поскольку отсутствует в слое global_flood_risk.csv. Соединенных Штатов же нет, потому что их название было по-разному отформатировано в полях Country и NAME_SORT.

Карта с некоторыми отсутствующими странами

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

  1. Под таблицей атрибутов global_flood_risk.csv найдите число записей.

    Число записей под таблицей атрибутов

    Число записей говорит о том, что в таблице содержится 163 строки (страны).

  2. Щелкните Countries над таблицей для переключения на таблицу атрибутов Countries.

    В этой таблице 159 строк.

    Число записей под таблицей атрибутов

    Это значит, что в процессе выполнения соединения были сопоставлены 159 из 163 стран. Остались четыре страны.

    Примечание:

    Если оставить отмеченной опцию Сохранить все целевые объекты, всего будет 255 записей - это общее число записей слоя Countries.

    Вы определите, какие страны остались.

  3. Прокрутите таблицу Countries до конца.

    Три поля, присоединенные из файла .csv, находятся в конце таблицы. Удобно, что одним из полей является поле Rank, которое поможет вам найти недостающие объекты.

  4. Щелкните правой кнопкой название столбца Rank и выберите Сортировать по возрастанию.

    Сортировка по возрастанию в контекстном меню поля Rank

  5. Прокрутите таблицу до поля Rank, чтобы найти пропуски в числах.

    Пропущенное число в поле Rank

    В поле Rank отсутствуют следующие числа: 18, 94, 141 и 158. В таблице .csv эти числа соответствуют следующим странам:

    РангСтрана

    18

    США

    94

    Чешская Республика

    141

    Свазиленд

    158

    Бруней Дар-эс-Салам

    Это четыре страны, которые отсутствуют в соединении.

Удаление соединения и редактирование таблицы

Часто первая попытка соединения таблиц оказывается не идеальной. Вы удалите связь, отредактируете названия этих четырех стран и попробуете выполнить соединение еще раз.

  1. На панели Содержание щелкните правой кнопкой Countries, наведите курсор на Соединения и связи и выберите Удалить все соединения.

    Удалить все соединения в контекстном меню слоя Countries

  2. В диалоговом окне Удалить соединения щелкните Да.

    Три дополнительных поля таблицы атрибутов Countries исчезнут. На карте снова будут показаны все страны.

  3. Щелкните США на карте. Найдите во всплывающем окне поле NAME_SORT - для этого нужно прокрутить примерно треть списка.

    Поле NAME_SORT во всплывающем окне

    Значение NAME_SORT - United States of America. В таблице global_flood_risk.csv значение атрибута Country - United States. Для соединения атрибуты должны полностью совпадать. Вы отредактируете одну из таблиц для обеспечения соответствия.

  4. Закройте всплывающее окно.

    Проще всего отредактировать пространственный слой Countries, поскольку это можно сделать прямо в ArcGIS Pro. Но в данном случае пространственный слой является более авторитетным источником названий стран. Поэтому вы отредактируете файл .csv вне ArcGIS Pro.

  5. На панели Каталог щелкните вкладку Проект, а затем стрелку рядом с элементом Папки, чтобы раскрыть его.

    Вкладка Проект и раскрытый элемент Папки на панели Каталог

  6. Раскройте также папку RiverFloods.
  7. Щелкните правой кнопкой global_flood_risk.csv и выберите Показать в проводнике файлов.

    Показ в проводнике файлов в контекстном меню данных global_flood_risk.csv

    Папка RiverFloods, которую вы загрузили и распаковали в начале урока, появится в проводнике на вашем компьютере.

  8. Щелкните правой кнопкой файл global_flood_risk.csv и откройте файл Блокнотом или другим текстовым редактором.

    Файл global_flood_risk.csv в Проводнике Windows

  9. Найдите строку 18 в файле .csv.
  10. Отредактируйте текст этой строки, заменив United States на United States of America.

    Строка 18 файла .csv

  11. В строке 94 замените Czech Republic на Czechia.

    Правительство Чешской республики утвердило Czechia в качестве официального краткого английского названия в 2016 году.

  12. В строке 141 замените Swaziland на eSwatini.

    Свазиленд в 2018 году поменял свое название на "Эсватини". Альтернативное написание eSwatini используется в слое Countries.

  13. В строке 158 замените Brunei Darussalam на Brunei.

    Бруней-Даруссалам — официальное название Брунея.

  14. Сохраните и закройте файл .csv.

Повторение соединения

Вы обновите таблицу .csv в ArcGIS Pro, чтобы отобразились отредактированные названия стран, и повторите попытку присоединения.

  1. В представлении таблицы ArcGIS Pro переключитесь на таблицу global_flood_risk.csv.
  2. Внизу, под таблицей, щелкните кнопку Обновить.

    Кнопка Обновить под таблицей атрибутов

    Таблица обновится, и в ней появятся отредактированные значения.

  3. На панели Содержание щелкните правой кнопкой Countries, наведите курсор на Соединения и связи и выберите Добавить соединение.
  4. В окне Добавить соединение задайте следующие параметры:
    • Для Входной таблицы выберите Countries.
    • Для Входного поля соединения выберите NAME_SORT.
    • Для Присоединяемой таблицы выберите global_flood_risk.csv.
    • Для Поля присоединяемой таблицы выберите Country.

    На этот раз вы более уверены в своем соединении и в полученном результате. Вы собираетесь сохранить все 255 стран из пространственного слоя, хотя только 163 из них будут содержать информацию о наводнениях.

  5. Оставьте отметку Сохранить все целевые объекты.
  6. Щелкните Проверить соединение.

    Кнопка Проверить соединение в окне Добавить соединение

    Откроется окно Сообщение.

  7. Переместитесь в нижнюю часть окна Сообщение.

    Во второй с конца строке указано Соединение один-к-одному содержит 163 совпадающих записей.

    Окно Сообщение

    Это число говорит вам о том, что ваше присоединение является успешным.

  8. Щелкните Закрыть.
  9. Щёлкните OK в окне Добавить соединение.
  10. Закройте таблицу global_flood_risk.csv.
  11. В таблице атрибутов Countries прокрутите до конца и убедитесь, что присутствуют три новых поля.

    Присоединенные поля в таблице атрибутов Countries

    У некоторых стран, например, Бермудских островов, Гренландии и Сингапура, в присоединенных полях содержатся пустые значения (null), поскольку эти страны отсутствуют в файле global_flood_risk.csv.

  12. Закройте таблицу атрибутов Countries.
    Примечание:

    Присоединения, выполняемые инструментом Добавить соединение, не являются постоянными, поэтому вы и смогли удалить первое соединение. Чтобы сделать соединение постоянным, вы можете экспортировать слой Countries с помощью инструмента Экспорт объектов или Копировать объекты или выполнить соединение инструментом Соединение полей вместо инструмента Добавить соединение.

Визуализация результатов

Наконец вы отобразите одно из присоединенных полей на карте.

  1. На панели Содержание щелкните правой кнопкой Countries и выберите Символы.

    Появится панель Символы.

  2. На панели Символы в разделе Основные символы выберите Неклассифицированные цвета.
  3. В качестве Поля выберите Current annual average population affected by river floods.

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

  4. В опции Нормирование выберите POP_EST.

    Панель символов

    На карте показан самый высокий риск наводнения на душу населения - в Бангладеш.

    Карта с обведенным зеленым Бангладеш

  5. На Панели инструментов быстрого доступа щелкните кнопку Сохранить проект.

    Кнопка Сохранить проект на панели инструментов быстрого доступа

В этом упражнении вы узнали:

  • Как находить поля с совпадающими значениями в двух таблицах
  • Как использовать поле Добавить соединение, для добавления полей одной таблицы к другой
  • Как оценить качество соединения
  • Как удалить соединение
  • Как редактировать файл .csv и обновить его отображение в ArcGIS Pro
  • Как отображать векторный слой с использованием присоединенного поля

Вы можете найти больше учебных пособий в галерее учебных пособий.