Resumen
The NumPyArrayToFeatureClass function converts a NumPy structured array to a point feature class.
Debate
Si un nombre de campo de la matriz de entrada no es válido para el formato de salida, se validará. Todos los caracteres no válidos del nombre del campo de entrada se sustituyen por un guion bajo (_) en el nombre del campo de salida. Las restricciones del nombre de campo dependen de la base de datos concreta que se utilice.
NumPyArrayToFeatureClass will not overwrite an existing feature class, even if the overwriteOutput environment is set to True.
NumPy is a fundamental package for scientific computing in Python, including support for a powerful N-dimensional array object. For more information, see NumPy in ArcGIS.
Sintaxis
NumPyArrayToFeatureClass (in_array, out_table, shape_fields, {spatial_reference})| Parámetro | Explicación | Tipo de datos |
in_array | Una matriz estructurada NumPy. La matriz debe incluir nombres de campo y dtypes 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 | La referencia espacial de la clase de entidad. Cuando se especifica este argumento, la entidad se proyectará (o transformará) a partir de la referencia espacial de la entrada. Si no se especifica, se utilizará la referencia espacial de las clases de entidad de entrada. Los valores válidos para este argumento son un objeto de SpatialReference o un equivalente de cadena. (El valor predeterminado es None) | SpatialReference |
Muestra de código
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)