Ich versuche, Optionen zum Festlegen einer Ebenendefinitionsabfrage mithilfe von ArcPy zu ermitteln.
Ich weiß, dass es möglich ist, wenn arcpy.mapping.ListLayers () verwendet wird.
In diesem Szenario lade ich jedoch Shapefiles und verwende arcpy.MakeFeatureLayer_management () in ArcPy.
Ich möchte eine Definitionsabfrage auf der Ebene festlegen, die ich mit diesem Geoprozessor erstelle.
Ist das möglich?
quelle
arcpy.mapping.layer()
arcpy.mp.LayerFile()
Ja, es sollte auf jeden Fall für Sie möglich sein, da dies der optionale Parameter "where_clause" ist. Einzelheiten und Beispiele finden Sie in der Dokumentation. Grundsätzlich müssen Sie jedoch nur die Definitionsabfrage als Parameter where_clause einfügen, und es sollte funktionieren. Wenn Sie eine Ebene verwenden, die kein ObjectID / FID-Feld enthält, treten bei ArcGIS nur Probleme beim Ausführen von SQL-Ausdrücken auf, bei jeder regulären ArcGIS-Ebene jedoch.
quelle
Wenn Sie Layer mit dem Geoverarbeitungswerkzeug MakeFeatureLayer in Arcmap laden, können Sie die definitionQuery für vorhandene Arcmap-Layer mithilfe der Klassenebenen arcpy.mapping - definitionQuery festlegen .
quelle