Краткая информация
Преобразует структурированный массив 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.
| 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
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)