NumPyArrayToFeatureClass

Сводка

Конвертирует структурированный массив NumPyв класс точечных объектов.

Описание

Если имя поля из входного массива не подходит для выходного формата, оно будет изменено. Все некорректные символы имени входного поля будут заменены в имени выходного поля символом подчеркивания (_). Ограничения на имена полей зависят от используемой базы данных.

NumPyArrayToFeatureClass не перезаписывает существующий класс объектов, даже если переменная среды overwriteOutput имеет значение True.

NumPy – это основной пакет для экспоненциальных вычислений в Python с поддержкой мощных n-размерных объектов типа массив (array). Подробнее см. в разделе Работа с NumPy в ArcGIS.

Синтаксис

NumPyArrayToFeatureClass (in_array, out_table, shape_fields, {spatial_reference})
ParameterОбъяснениеТип данных
in_array

Структурированный массив NumPy.

Массив должен содержать имена полей и типы dtype NumPy.

NumPyArray
out_table

Выходной класс точечных объектов, в который помещаются записи из массива NumPy.

String
shape_fields
[shape_fields,...]

Список или кортеж имен полей, используемый для создания геометрии класса объектов. Координаты указываются в порядке x, y, z и m. Поля z-координаты и m-значения являются необязательными.

Если в массиве NumPy есть поля x, y, z и m, классы объектов можно сформировать так, как показано ниже.

import arcpy

# Create a feature class with x,y fields
arcpy.da.NumPyArrayToFeatureClass(array, fc, ("x", "y"))

# Create a feature class with x,y,z fields
arcpy.da.NumPyArrayToFeatureClass(array, fc, ("x", "y", "z"))

# Create a feature class with x,y,m fields
arcpy.da.NumPyArrayToFeatureClass(array, fc, ("x", "y", "", "m"))

# Create a feature class with x,y,z,m fields
arcpy.da.NumPyArrayToFeatureClass(array, fc, ("x", "y", "z", "m"))
String
spatial_reference

Пространственная привязка класса объектов. Ее можно указать с объектом SpatialReference или со строковым эквивалентом.

(Значение по умолчанию — None)

SpatialReference

Пример кода

import arcpy
import numpy

outFC = "C:/data/texas.gdb/fd/pointlocations"

# Create a numpy array with an id field, and a field with a tuple 
#  of x,y coordinates
#
array = numpy.array([(1, (471316.3835861763, 5000448.782036674)),
                     (2, (470402.49348005146, 5000049.216449278))],
                    numpy.dtype([('idfield',numpy.int32),('XY', '<f8', 2)]))

# Define a spatial reference for the output feature class
#
SR = arcpy.Describe("C:/data/texas.gdb/fd").spatialReference

# Export the numpy array to a feature class using the XY field to
#  represent the output point feature
#
arcpy.da.NumPyArrayToFeatureClass(array, outFC, ['XY'], SR)

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