Vor einiger Zeit habe ich ein simples Pythonscript für den ArcGIS-Geoprocessor geschrieben, das aus einem Shapefile alle Objekte nach dem Primärschlüssel (FID) extrahiert und für jedes Objekt im angebenen Workspace ein neues Shapfile erstellt.

Angepasst werden muss im Code nur der Workspace und der Pfad zum Shapefile.

Hier ist der Code:

##Script Name: Feature To Feature Class
##Description: Creates Shapefiles for each OID in a given Feature Class
##
##Created By: Sommer Johannes
##Date: 2008-08-01

# -*- coding: iso-8859-1 -*-

#Import standard library modules
import arcgisscripting, sys, os

#Create the Geoprocessor object
gp = arcgisscripting.create()

gp.OverwriteOutput = 1

#Set the necessary product code
gp.SetProduct("ArcView")

# Set Path to workspace
gp.Workspace = "D:\\temp\\"

workspace = gp.Workspace

fc = "D:\\temp\\strassennetz2_iso_TinContour.shp"

# get ObjectID-Fieldname
desc = gp.Describe(fc)

if desc.HasOID == True:
    oidFieldName = desc.OIDFieldName
    print oidFieldName
else:
    ErrMsg = "Shapefile has no ObjectID!"+"\n"
    print ErrMsg

print "Feature Class",fc

rows = gp.SearchCursor(fc)
row = rows.Next()

while row:
    objectID = row.getvalue(oidFieldName)
    output = workspace + "\\part_" + str(objectID) + ".shp"
    expression = oidFieldName + "=" + str(objectID)
    try:
        gp.Select_analysis(fc, output, expression)
        print "ObjectID",objectID,"extracted"
    except:
        print gp.GetMessages(2)
    row = rows.Next()

#END