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

The output point feature class to which the records from the NumPy array will be written.

String
shape_fields
[shape_fields,...]

A list (or tuple) of field names used to create the feature class's geometry. Coordinates are specified in the order of x, y, z, and m; z-coordinate and m-value fields are optional.

Assuming field names of x, y, z, and m in a numpy array, feature classes could be constructed as below.

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

Пример кода

NumPyArrayToFeatureClass, пример
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
spatial_ref = 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"], spatial_ref)

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