De multiparte a parte simple (Gestión de datos)

Nivel de licencia:BasicStandardAdvanced

Resumen

Crea una clase de entidad que contiene entidades de parte simple generadas al separar entidades multiparte de entrada.

Ilustración

Multipart to Singlepart illustration

Uso

Sintaxis

MultipartToSinglepart_management (in_features, out_feature_class)
ParámetroExplicaciónTipo 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

Ejemplo 1 de MultipartToSinglepart (ventana de Python)

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")
Ejemplo 2 de MultipartToSinglepart (secuencia de comandos independiente)

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   # Create variables for the input and output feature classes inFeatureClass = "c:/data/gdb.gdb/vegetation" outFeatureClass = "c:/data/gdb.gdb/vegetation_singlepart"  try:     # Create list of all fields in inFeatureClass     fieldNameList = [field.name for field in arcpy.ListFields(inFeatureClass)]      # Add a field to the input this will be used as a unique identifier     arcpy.AddField_management(inFeatureClass, "tmpUID", "double")       # Determine what the name of the Object ID is      OIDFieldName = arcpy.Describe(inFeatureClass).OIDFieldName         # Calculate the tmpUID to the OID     arcpy.CalculateField_management(inFeatureClass, "tmpUID",                                     "[" + OIDFieldName + "]")       # 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     inCount = int(arcpy.GetCount_management(inFeatureClass).getOutput(0))     outCount = int(arcpy.GetCount_management(outFeatureClass).getOutput(0))          if inCount != outCount:         # If there is a difference, print out the FID of the input          #   features which were multipart         arcpy.Frequency_analysis(outFeatureClass,                                  outFeatureClass + "_freq", "tmpUID")           # Use a search cursor to go through the table, and print the tmpUID          print("Multipart features from {0}".format(inFeatureClass))         for row in arcpy.da.SearchCursor(outFeatureClass + "_freq",                                          ["tmpUID"], "FREQUENCY > 1"):             print int(row[0])     else:         print("No multipart features were found")  except arcpy.ExecuteError:     print arcpy.GetMessages() except Exception as e:     print e

Entornos

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: Sí
ArcGIS for Desktop Standard: Sí
ArcGIS for Desktop Advanced: Sí
5/12/2014