ArcGIS Desktop

  • Документация
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Перенос атрибутов

  • Краткая информация
  • Иллюстрация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Краткая информация

Ищет, где исходные линейные объекты пространственно совпадают с целевыми линейными объектами, и передает выбранные атрибуты от исходных объектов найденным целевым объектам.

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

Иллюстрация

Перенос атрибутов

Использование

    Внимание:

    Этот инструмент изменяет входные данные. Более подробно о стратегиях предотвращения неожиданных изменений данных см. в разделе Инструменты, не создающие выходных данных (Tools with no outputs).

    Примечание:

    Все входные данные должны быть в одной системе координат.

  • Объединение входных экстентов используется в качестве экстента обработки. Количество участвующих исходных и целевых объектов будет отображено в сообщениях обработки.

  • Должны быть заданы одно или более полей в параметре Поля для переноса (Transfer Field(s)). Если поле переноса имеет то же имя, что и поле из таблицы целевых объектов, к имени поля переноса будет добавлен суффикс _1 (или _2, _3 и т. д.), чтобы сделать его уникальным.

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

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

  • Выбирать Выходная таблица сопоставлений необязательно. Данная таблица сопоставлений предоставляет полную информацию сопоставления объектов, включая идентификаторы FID исходных и целевых объектов, группы сопоставления, отношения сопоставления и уровень достоверности сопоставления, полученный из пространственных и атрибутивных условий сопоставления. Эта информация может помочь вам лучше понять ситуации сопоставления и выполнить последующие инспекцию, редактирование и дальнейший анализ. Более подробно см. раздел О соответствии объектов и таблице соответствия.

  • Точность сопоставления объектов зависит от качества данных, сложности и сходства двух источников данных

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

Синтаксис

TransferAttributes_edit (source_features, target_features, transfer_fields, search_distance, {match_fields}, {out_match_table})
ПараметрОбъяснениеТип данных
source_features

Линейные объекты, из которых переносятся атрибуты.

Feature Layer
target_features

Линейные объекты, к которым переносятся атрибуты. Выбранные поля переноса добавляются к целевым объектам.

Feature Layer
transfer_fields
[field,...]

Список исходных полей для переноса к целевым объектам. Должно быть указано по крайней мере одно поле.

Field
search_distance

Расстояние, использованное при поиске кандидатов для сопоставления. Расстояние должно быть задано, и оно должно быть больше 0. Вы можете выбрать предпочитаемые единицы измерения; единицами измерения по умолчанию являются единицы измерения объекта.

Linear unit
match_fields
[[source_field, target_field],...]
(Дополнительный)

Список полей исходных и целевых объектов. Если указано, каждая пара полей проверяется на совпадения для нахождения правильного сопоставления.

Value Table
out_match_table
(Дополнительный)

Выходная таблица, содержащая полную информацию о сопоставлении объектов.

Table

Пример кода

TransferAttributes. Пример 1 (окно Python)

На следующем окне скрипта Python демонстрируется, как использовать функцию TransferAttributes с запуском из окна Python.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.TransferAttributes_edit("source_Roads.shp",
                              "target_Roads.shp", "RoadName, PaveType"
                              "25 Feet")
TransferAttributes. Пример 2 (автономный скрипт Python)

Следующий автономный скрипт является примером применения функции TransferAttributes в автономном режиме.

# Name:        TransferAttributes_example_script2.py
# Description: Performs attribute transfer from newly updated roads (source) to existing
#              base roads (target). Where the source and target features are matched in
#              many-to-one or many-to-many (m:n) relationships, attributes are transferred 
#              from only one of the m source features to the n target features. This script
#              includes a post-process that flags resulting target features with the m:n
#              match relationships. You can inspect the flagged features and retrieve the
#              attributes from the desired source features if necessary.
# Author:      Esri
# -----------------------------------------------------------------------

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.overwriteOutput = True
env.workspace = r"D:\conflationTools\ScriptExamples\data.gdb"

# Set local variables
sourceFeatures = "updateRoads"
targetFeatures = "baseRoads"
transfer_fields = "RD_NAME; RD_ID"

search_distance = "300 Feet"
match_fields = "RD_NAME FULLNAME"

outMatchTable = "ta_mtbl"

# Make a copy of the targetFeatures for attribute transfer
targetCopy = targetFeatures + "_Copy"
arcpy.CopyFeatures_management(targetFeatures, targetCopy)

# Performs attribute transfer
arcpy.TransferAttributes_edit(sourceFeatures, targetCopy, transfer_fields, search_distance, match_fields, outMatchTable)

# ====================================================================================
# Note 1:  The result of TransferAttributes may contain errors; see tool reference.
#          Additional analysis steps may be necessary to check the results; these steps
#          are not included in this script.
#
#          The following process identifies m:n matches between source and target features 
#          and flag features in targetCopy for inspection.
# ====================================================================================

# Add a field srcM_inMN to the match table to store the m count of source features in m:n relationship
field_srcM_inMN = "srcM_inMN"
arcpy.AddField_management(outMatchTable, field_srcM_inMN)

codeblock = """
def getM(fld):
    x = fld.split(\":\")[0]
    if x.isnumeric():
        if int(x) > 0:
            return int(x)
    return -1
"""

# Calculate values for srcM_inMN
arcpy.CalculateField_management(outMatchTable, field_srcM_inMN, "getM(!FM_MN!)", "PYTHON_9.3", codeblock)

# Make a table view of the match table, selecting srcM_inMN values greater than 1 
# (excluding 1:n relationships which don't need to be inspected)
arcpy.MakeTableView_management(outMatchTable, "mtable_view", field_srcM_inMN + "> 1")

# For the selected records, transfer srcM_inMN and SRC_FID fields and values to the targetCopy
arcpy.JoinField_management(targetCopy, "OBJECTID", "mtable_view", "TGT_FID", field_srcM_inMN + "; SRC_FID")

# ====================================================================================
# Note 2:  Now the fields srcM_inMN and SRC_FID are in the copy of the target features.
#          The srcM_inMN values are the counts of matched source features; the SRC_FID
#          values indicate the source feature IDs from which the transferred attributes
#          come from.
#
#          At this point you can interactively review the transferred attributes for the
#          flagged features. If you want to replace any of them by those from a different
#          source feature, you would need to make the edits as needed.
# ====================================================================================

Параметры среды

  • Текущая рабочая область (Current Workspace)
  • Экстент (Extent)

Информация о лицензиях

  • ArcGIS Desktop Basic: Нет
  • ArcGIS Desktop Standard: Нет
  • ArcGIS Desktop Advanced: Да

Связанные разделы

  • Обзор группы инструментов Объединение
  • Более подробно о сопоставлении объектов и таблице сопоставлений

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация