Сводка
Соединяет содержание структурированного массива NumPy с таблицей на основе общего поля атрибутов. Входная таблица обновляется, чтобы содержать поля из таблицы соединения.
Описание
Записи в in_array соответствуют записям в in_table. Соответствие достигается, когда значения table_match_field и array_match_table будут одинаковыми. Соединение постоянно.
NumPy – это основной пакет для экспоненциальных вычислений в Python с поддержкой мощных n-размерных объектов типа массив (array). Подробнее см. в разделе Работа с NumPy в ArcGIS.
Синтаксис
ExtendTable (in_table, table_match_field, in_array, array_match_field, {append_only})
Parameter | Объяснение | Тип данных |
in_table | Таблица, в которую будут добавлены поля из массива NumPy. | String |
table_match_field | Имя поля из in_table, с которым будет сопоставлен массив. | String |
in_array | Структурированный массив NumPy, который будет добавлен в in_table. Соответствие значений полей in_array должно быть единственно возможным. | NumPyArray |
array_match_field | Имя поля из in_array, которое будет использоваться для сопоставления. | String |
append_only | Управляет добавлением или обновлением полей существующей таблицы. Если значение равно True (Истина), то поля будут добавлены только в существующую таблицу. Если какие-либо из имен полей уже имеются в in_table, то ExtendTable не удастся. Если значение равно False, то существующие поля будут обновлены при условии, что они имеют общее имя поля с полями в массиве NumPy. Сопоставимые поля должны быть совместимого типа. Например, текстовое поле NumPy не может быть добавлено в числовое поле. (Значение по умолчанию — True) | Boolean |
Пример кода
Используйте ExtendTable для соединения массива NumPy с существующей таблицей.
import arcpy
import numpy
# numpy array
#
array = numpy.array([(1, 'a', 1111.0), (2, 'b', 2222.22)],
numpy.dtype([('idfield',numpy.int32),
('textfield', '|S256'),
('doublefield','<f8')]))
# Append the array to an existing table
#
arcpy.da.ExtendTable("c:/data/base.gdb/current_table",
"tableid",
array,
"idfield")