# http://gis.stackexchange.com/questions/33320
# python-for-arcgis-10-problem-with-creating-multiple-featureclasses-in-geodatab
import arcpy, os
#
#Geodatabase = r"D:\GIS\STK\124_NDS\STK_124_NDS.gdb"
Geodatabase = r"c:\temp\test.gdb"
arcpy.env.overwriteOutput = True
def createTestHarness():
arcpy.CreateFileGDB_management('c:/temp', 'test.gdb')
for fd in ['one','two','three','four']:
arcpy.CreateFeatureDataset_management('c:/temp/test.gdb', fd)
def CreateFeatureclasses(workspace):
arcpy.env.workspace = Geodatabase
listDatasets = arcpy.ListDatasets("", "Feature")
print 'Active workspace:\t', arcpy.env.workspace
for dataset in listDatasets:
datasetPath = workspace + os.sep + dataset
arcpy.env.workspace = datasetPath
print 'Active workspace:\t', arcpy.env.workspace
print "Dataset: " + dataset
#out_name = "BF_Stao_Bodenprofil_P_" + dataset[9:]
out_name = "BF_Stao_Bodenprofil_P_" + dataset
print "\tout_name", out_name
Bohrpunkt_fc = arcpy.CreateFeatureclass_management (datasetPath, out_name, "POINT")
fcList = arcpy.ListFeatureClasses()
for fc in fcList:
if fc[:10] == "Bohrpunkte":
Punkteliste = []
zeilen = arcpy.SearchCursor(fc)
for zeile in zeilen:
Bohrkreisgeometrie = zeile.getValue("Shape")
Bohrpunkt = Bohrkreisgeometrie.trueCentroid
Punkteliste.append(Bohrpunkt)
del zeilen
rows = arcpy.InsertCursor(Bohrpunkt_fc)
for Punkt in Punkteliste:
feature = rows.newRow()
feature.shape = Punkt
rows.insertRow(feature)
del rows, Punkteliste
print "Die Punkt-Geometrien fuer die Featureclass 'BF_Stao_Bodenprofil_P' wurden erstellt."
Liegenschaftsnummer = dataset[1:8]
arcpy.AddField_management (Bohrpunkt_fc, "Lgs_Nummer", "TEXT", "", "", 7)
arcpy.AddField_management (Bohrpunkt_fc, "Profil_ID", "TEXT", "", "", 12)
arcpy.AddField_management (Bohrpunkt_fc, "Profil_Nr_alt", "TEXT", "", "", 4)
arcpy.AddField_management (Bohrpunkt_fc, "Profiltyp", "SHORT", 1)
arcpy.AddField_management (Bohrpunkt_fc, "Standortseinheit", "TEXT")
del Bohrpunkt_fc
del listDatasets
try:
print '\ncreating test harness...'
createTestHarness()
print '\nabout to run CreateFeatureClasses...'
CreateFeatureclasses(Geodatabase)
except:
print '\nException Messages:\n', arcpy.GetMessages()