Multi-parties vers une partie (Gestion des données)

Récapitulatif

Crée une classe d'entités qui contient des entités en une partie générée en séparant des entités multi-parties en entrée.

Illustration

Illustration de l'outil Multi-parties vers une partie

Utilisation

Syntaxe

MultipartToSinglepart_management (in_features, out_feature_class)
ParamètreExplicationType de données
in_features

Entités en entrée qui peuvent être de tout type.

Feature Layer
out_feature_class

Classe d'entités en sortie contenant des entités qui varient avec le type d'entité en entrée.

Feature Class

Exemple de code

Exemple 1 d'utilisation de l'outil MultipartToSinglepart (fenêtre Python)

Le script de fenêtre Python suivant montre comment utiliser la fonction MultipartToSinglepart en mode immédiat.

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MultipartToSinglepart_management("landuse.shp",
                                       "c:/output/output.gdb/landuse_singlepart")
Exemple 2 d'utilisation de l'outil MultipartToSinglepart (script autonome)

Le script autonome suivant dessous est un exemple d'application simple de la fonction MultipartToSinglepart dans un environnement de scripts.

# 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

Environnements

Rubriques connexes

Informations de licence

ArcView : Oui
ArcEditor : Oui
ArcInfo : Oui

7/10/2012