<\/HEAD>
Ich habe ein Skript, das eine Excel-Datei nimmt, sie als Tabelle importiert, dann eine Abfrage ausführt, um die benötigten Zeilen zu erhalten, und diese in eine neue Tabelle exportiert. Danach läuft ein Search-Cursor durch die Tabelle und erstellt eine Liste von Werten. Anschließend wird durch die Liste der Werte iteriert und die Werte werden als Eingabe für die Where-Klausel bei Select by Attribute verwendet, um das richtige Polygon auszuwählen. Dieses Genehmigungs-Polygon wird dann verwendet, um Masten aus einer anderen Feature-Class auszuwählen und diese Masten als neue Feature-Class zu exportieren, die nach dem Wert benannt ist, der zur Auswahl des Genehmigungs-Polygons verwendet wurde. Das Problem besteht darin, den Wert aus der Liste der Werte in die Where-Klausel des SelectLayerByAttribute_management-Tools zu übergeben. <\/P>
<\/P>
import <\/SPAN>arcpy
import <\/SPAN>datetime
# Variablen
<\/SPAN>time = datetime.date.today()
raw = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\MRE_Table.xlsx"
<\/SPAN>mre_table = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb\MRE_Tb"
<\/SPAN>permits = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb\Permits"
<\/SPAN>Poles = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb\Poles"
<\/SPAN>work_table = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb\MRE_workTB"
<\/SPAN>geoDB = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb"
<\/SPAN>
<\/SPAN>arcpy.env.workspace = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb"
<\/SPAN>arcpy.env.overwriteOutput = True
<\/SPAN>
<\/SPAN>
<\/SPAN>try<\/SPAN>:
print<\/SPAN>("Erstelle Tabelle: " <\/SPAN>+ mre_table)
arcpy.ExcelToTable_conversion(raw, <\/SPAN>mre_table, <\/SPAN>"Sheet1"<\/SPAN>)
mre_tview = arcpy.MakeTableView_management(mre_table, <\/SPAN>"MRE_TableView"<\/SPAN>)
arcpy.SelectLayerByAttribute_management(mre_tview, <\/SPAN>"NEW_SELECTION"<\/SPAN>, <\/SPAN>"Ticket_Number IS NOT NULL"<\/SPAN>, None<\/SPAN>)
arcpy.SelectLayerByAttribute_management(mre_tview, <\/SPAN>"REMOVE_FROM_SELECTION"<\/SPAN>, <\/SPAN>"Permit_Name = ' '"<\/SPAN>, None<\/SPAN>)
arcpy.CopyRows_management(mre_tview, <\/span>work_table)
permitview = arcpy.MakeFeatureLayer_management(permits, <\/span>"Permits_Layer")
poleview = arcpy.MakeFeatureLayer_management(Poles, <\/span>"Poles_Layer")
# Erstellen einer Liste von Genehmigungsnamen zur Übergabe an Select by Attributes für die Genehmigungsraster
AllValues = []
with arcpy.da.SearchCursor(work_table, ("Permit_Name", "Ticket_Number")) as search:
for row in search:
if row[0] not in AllValues:
AllValues.append(row[0])
# Durchlaufen der Liste und Auswählen eines Polygons, dann Verwendung dieses Polygons zum Auswählen von Masten innerhalb und Exportieren dieser Masten in einzelne Feature-Classes
for Value in AllValues:
print(Value)
itsa = "permit_name = {}".format(Value)
print(itsa)
expression = str(itsa)
permitSelect = arcpy.SelectLayerByAttribute_management(permitview, "NEW_SELECTION", expression, None)
permitPoly = arcpy.MakeFeatureLayer_management(permitSelect, "permitPoly_" + Value)
poleSelect = arcpy.SelectLayerByLocation_management(poleview, "INTERSECT", permitPoly, "30 FEET", "NEW_SELECTION",