Доступно с лицензией Advanced.
Сводка
Соединяет определения полей и значения из двух таблиц на основе общего поля. Соединение заключается в присоединении элементов (полей) одной таблицы к элементам (полям) другой на основе атрибута или поля, общего для обеих таблиц. Соединение обычно используется для добавления дополнительных атрибутов в атрибутивную таблицу слоя с географическими данными.
Запись в присоединяемой таблице Info сопоставляется каждой записи входной таблицы Info, когда значения поля связи и начального поля равны. Значения полей из обеих записей копируются в выходную таблицу.
Более подробно о том, как работает инструмент Соединить таблицы Info
Иллюстрация
Использование
Чтобы сохранить целостность таблицы INFO объектов, не вставляйте поля перед полем Input INFO Table-ID (когда выходная и входная таблицы INFO совпадают).
Рекомендуется, чтобы поле связи в соединяемых таблицах имело одинаковое определение.
Если в таблицах есть поле с одинаковым именем, поле входной таблицы INFO сохраняется, а поле присоединяемой таблицы INFO исключается.
Во избежание потерь информации и хранения избыточных данных необходимо обеспечивать отношение один-к-одному между полями двух таблиц. Если такого однозначного соответствия нет, возможны следующие варианты:
- Если записи во входной таблице Info соответствуют несколько записей в присоединяемой таблице Info, в выходной таблице Info будет сохранена только одна из этих записей. Сохраняемая запись может быть первым найденным совпадением в файле или нет, в зависимости от того, индексировано ли поле.
- Если записи входной таблицы не соответствует ни одна запись в присоединяемой таблице Info, значения полей присоединяемой таблицы Info в соответствующей выходной таблице Info обнуляются или оставляются пустыми.
- Если записи присоединяемой таблицы, Info соответствуют несколько записей во входной таблице Info, запись присоединяемой таблицы Info объединяется с каждой из этих записей входной таблицы Info.
- Если записи присоединяемой таблицы Info не соответствует ни одна запись во входной таблице Info, она не включается в выходную таблицу Info.
При задании начального поля не вставляйте присоединяемые поля перед полем Input Info Table-ID в какой-либо из таблиц INFO объектов.
Если входная и присоединяемая таблицы Info имеют одинаковые поля, инструмент Соединить таблицы Info возвратит сообщение "В join.file нет новых полей". Это значит, что новых полей для присоединения нет.
Скорость работы инструмента будет зависеть от организации присоединяемых файлов. В общем случае LINK - это самая быстрая операция сопоставления, затем идет LINEAR с индексированным полем связи, затем ORDERED. Хотя LINK является самой быстрой опцией, в большинстве случаев ее нельзя применить.
Использование опции LINEAR оптимально, когда поле связи индексировано.
Входная и присоединяемая таблицы Info могут содержать переопределенные поля. В большинстве случаев переопределенное поле может использоваться в качестве поля связи. Когда переопределенное поле содержит элементы различных типов и является числовым, использовать его в качестве поля связи не рекомендуется. Такое переопределенное поле может дать в результате нелогичные или нетранслируемые числа.
Если присоединяемая таблица Info содержит несколько записей для каждого значения поля связи, будет использоваться первая запись, встреченная инструментом Соединить таблицы Info. Это относится только к опции LINEAR.
Для работы инструмента Соединить таблицы Info не требуется, чтобы альтернативные имена поля связи были одинаковыми.
Целочисленное поле может быть сопоставлено числовому, если их значения равны. Например, значение целочисленного поля 123 совпадает со значением числового поля 123.00, но не совпадает со значением 123.01 или 122.99.
Вы можете сопоставить числовое поле другому числовому полю с отличающимся числом десятичных знаков, если их значения совпадают. Например, числовое поле с двумя десятичными знаками со значением 123.45 будет соответствовать числовому полю с четырьмя десятичными знаками со значением 123.4500. Однако оно не будет соответствовать значению 123.4501 или 123.4499. Число десятичных знаков в поле связи выходной таблицы INFO будет тем же, что и число десятичных знаков в поле связи входной таблицы INFO.
Чтобы сохранить входную таблицу, присвойте выходной таблице другое имя.
Синтаксис
arcpy.arc.JoinItem(in_info_table, join_info_table, out_info_table, relate_item, {start_item}, {relate_type})
Параметр | Объяснение | Тип данных |
in_info_table | Файл данных INFO, в который будут добавлены поля и их значения. | INFO Table |
join_info_table | Файл данных INFO, который содержит добавляемые поля и значения. | INFO Table |
out_info_table | Файл данных INFO, созданный инструментом Соединить таблицы Info. Если выходная таблица Info уже существует, она будет заменена. | INFO Table |
relate_item | Поле входной таблицы Info, которое используется в качестве индекса для записей в присоединяемой таблице Info. Это поле может быть переопределенным. | String |
start_item (Дополнительный) | Поле во входной таблице Info, после которого будут вставлены поля присоединяемой таблицы Info. Начальное поле по умолчанию является последним во входной таблице Info. | String |
relate_type (Дополнительный) | Каким образом записи присоединяемой таблицы Info сопоставляются записям входной таблицы Info.
| String |
Пример кода
Пример использования инструмента JoinItem (автономный скрипт)
В следующем автономном скрипте показано, как соединить две таблицы INFO.
# Name: JoinItem_Example.py
# Description: Joins two INFO tables
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inInfoTable = "maritime1/us5tx51m_p/point"
joinInfoTable = "maritime1/us5tx51m.lights_ncode"
outInfoTable = "C:/output/lightpoints"
relateItem = "RCID"
# Execute JoinItem
arcpy.JoinItem_arc(inInfoTable, joinInfoTable, outInfoTable,
relateItem, "", "")
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Требуется установленная ArcInfo Workstation