De multiparte a parte simple (Administración de datos)
Resumen
Crea una clase de entidad que contiene entidades de parte simple generadas al separar entidades multiparte de entrada.
Ilustración
Uso
-
Los atributos de las entidades de entrada se mantendrán en la clase de entidad de salida. Se agregará un campo nuevo, ORIG_FID, a la clase de entidad de salida y se configurará con los Id. de entidad de entrada.
-
Cada parte de una entidad multiparte de entrada se convertirá en una entidad de parte simple individual en la clase de entidad de salida. Las entidades que ya son de parte simple no serán afectadas.
-
La mayoría de los tipos de entidades de salida serán iguales a los de entrada (los polígonos de entrada siguen siendo polígonos; las líneas de entrada siguen siendo líneas). La única excepción es que si las entidades de entrada son de tipo multipunto, la clase de entidad de salida será de tipo punto.
-
Para reconstruir entidades multiparte a partir de entidades de parte simple basadas en un valor de campo común, como ORIG_FID, utilice la herramienta Disolver.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_features |
Entidades de entrada que pueden ser de cualquier tipo de entidad. | Feature Layer |
out_feature_class |
Clase de entidad de salida que contiene entidades que varían según el tipo de entidad de entrada. | Feature Class |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función MultipartToSinglepart en el modo inmediato.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.MultipartToSinglepart_management("landuse.shp", "c:/output/output.gdb/landuse_singlepart")
La siguiente secuencia de comandos independiente es un ejemplo simple de cómo aplicar la función MultipartToSinglepart en un entorno de secuencias de comandos.
# Name: MultipartToSinglepart_Example2.py # Description: Break all multipart features into singlepart features, # and report which features were separated. # Author: ESRI # import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data/landcovers.gdb" # Create variables for the input and output feature classes inFeatureClass = "vegetation" outFeatureClass = "vegetation_singlepart" # Use error trapping in case a problem occurs when running the tool try: # Run the tool to create a new fc with only singlepart features arcpy.MultipartToSinglepart_management(inFeatureClass,outFeatureClass) # Check if there is a different number of features in the output # than there was in the input # Get the results of GetCount for input and output resultIn = arcpy.GetCount_management(inFeatureClass) resultOut = arcpy.GetCount_management(outFeatureClass) if (resultIn.getOutput(0) == resultOut.getOutput(0)): print "The number of features in the input is the same as in the output," +\ "so no multipart features were found" else: # If there is a difference, print out the FID of the input features # which were multipart arcpy.Frequency_analysis(outFeatureClass, outFeatureClass + "_freq", "ORIG_FID") # Use a search cursor to go through the table, and print the ORIG_FID print "Here are the FIDs of all the multipart features from " + inFeatureClass rows = arcpy.SearchCursor(outFeatureClass + "_freq", "\"FREQUENCY\" > 1") row = rows.next() while row: print int(row.ORIG_FID) row = rows.next() except Exception, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.message