ExtendTable

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

Соединяет содержание структурированного массива 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})
ПараметрОписаниеТип данных
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")

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