Multipart zu Singlepart (Data Management)

Zusammenfassung

Erstellt durch Trennung von Multipart-Eingabe-Features eine Feature-Class mit Singlepart-Features.

Abbildung

Abbildung "Multipart zu Singlepart"

Verwendung

Syntax

MultipartToSinglepart_management (in_features, out_feature_class)
ParameterErläuterungDatentyp
in_features

Die Eingabe-Features können jedes beliebige unterstützte Format aufweisen.

Feature Layer
out_feature_class

Die Ausgabe-Feature-Class, die Features enthält, die sich je nach Eingabe-Feature-Typ ändern.

Feature Class

Codebeispiel

Beispiel 1für "MultipartToSinglepart" (Python-Fenster)

Mit dem folgenden Skript im Python-Fenster wird veranschaulicht, wie Sie die Funktion "MultipartToSinglepart" im unmittelbaren Modus verwenden.

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MultipartToSinglepart_management("landuse.shp",
                                       "c:/output/output.gdb/landuse_singlepart")
Beispiel 2 für "MultipartToSinglepart" (eigenständiges Skript)

Das folgende eigenständige Skript ist ein einfaches Beispiel für die Anwendung der Funktion "MultipartToSinglepart" in einer Scripting-Umgebung.

# 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

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Ja
ArcEditor: Ja
ArcInfo: Ja

11/13/2014