Meine Anweisungen:Nachdem einige Probleme Auswahlschicht unter Verwendung von Standort Syntax
Create a Python script that selects parcels from "coa_parcels.shp" that intersect with the shapefile "floodplains.shp" and creates a new shapefile that only contains the selected parcels.
The location of the workspace and the three shapefiles (coa_parcels, floodplains, and the output) should be treated as user-defined inputs using "raw_input" statements.
Unten Beispiel Pseudo-Code für das Skript für diesen Teil ist:
- Begin
- Get Benutzereingabe für den Arbeitsbereich
- Benutzereingaben für den Namen der Eingabe-Feature-Class abrufen (z. B. coa_parcels.shp)
- Verwenden r Eingabe für den ausgewählten Merkmalklassennamen (z. floodplains.shp)
- Get Benutzereingabe für ein Ausgabe-Feature Klassennamen (zB selected_parcels.shp)
- den Arbeitsbereich einstellen und überschreiben Ausgabeeinstellungen
- Erstellen Sie ein temporäres Feature-Layer
- Wählen Sie aus der Schicht nach Standort basierend auf die Auswahl Feature-Class
- Kopieren Sie die ausgewählten Funktionen zu einem neuen Feature-Class
- drucken Sie eine Nachricht, die die Benutzer wissen zu lassen, dass ein neuer Feature-Class
- End erstellt wurde
Mein Skript:
import arcpy
workSpace = raw_input("What is the workspace location? ")
inFeature = raw_input("What is the input feature class name? ")
selFeature = raw_input("What is the select feature class name? ")
outFeature = raw_input("What is the output feature class name? ")
arcpy.env.workspace = workSpace
arcpy.env.overwriteOutput = True
arcpy.MakeFeatureLayer_management("coa_parcels.shp", "lyr")
arcpy.SelectLayerByLocation_management(coa_parcels.shp,"INTERSECT",floodplains.shp, "NEW_SELECTION")
arcpy.CopyFeatures_management("lyr", "selected_parcels")
print "A new feature class",outFeature,"has been created!"here
Mein Fehler ist dies: Nameerror: name 'coa_parcels' ist nicht
"Name 'coa_parcels' ist nicht definiert" ist selbsterklärend. Betrachtet man seine anderen Vorkommen, sollte es wahrscheinlich eine Zeichenkette und nicht ein Bezeichner sein (= Sie haben die Anführungszeichen vergessen). –