NumPyArrayToFeatureClass

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

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

Обсуждение

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

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

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

Синтаксис

NumPyArrayToFeatureClass (in_array, out_table, shape_fields, {spatial_reference})
ПараметрОписаниеТип данных
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)

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