Соединить таблицы Info (Покрытие)
Резюме
Соединяет определения полей и значения из двух таблиц на основе общего поля. Соединение заключается в присоединении элементов (полей) одной таблицы к элементам (полям) другой на основе атрибута или поля, общего для обеих таблиц. Соединение обычно используется для добавления дополнительных атрибутов в атрибутивную таблицу слоя с географическими данными.
Запись в присоединяемой таблице 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.
-
Чтобы сохранить входную таблицу, присвойте выходной таблице другое имя.
Синтаксис
Параметр | Объяснение | Тип данных |
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 |
Пример кода
В следующем автономном скрипте показано, как соединить две таблицы 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, "", "")