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