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