ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • ArcGIS Pro
  • ArcMap
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • ArcGIS Pro
  • ArcMap
Esri
English
  • English
  • Deutsch
  • Español
  • Français
  • 日本語
  • Русский
  • 简体中文
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Festlegen einer Abfrage in Python

ArcMap 10.8
|
Hilfearchiv
ArcGIS Desktop befindet sich im Status Mature Support und wird am 1. März 2026 eingestellt. Eine Veröffentlichung von zukünftige Versionen von ArcGIS Desktop ist nicht geplant. Die Migration zu ArcGIS Pro wird empfohlen. Weitere Informationen finden Sie unter Von ArcMap zu ArcGIS Pro migrieren.
  • Verwenden von "AddFieldDelimiters" mit dem SQL-Ausdruck

Structured Query Language (SQL) ist eine leistungsfähige Sprache, die zur Festlegung eines oder mehrerer Kriterien verwendet wird. Diese Kriterien bestehen aus Attributen, Operatoren und Berechnungen. Angenommen, Sie verfügen über eine Tabelle mit Kundendaten und möchten die Kunden ermitteln, die im letzten Jahr mehr als 50.000 EUR ausgegeben haben und deren Geschäftstyp "Restaurant" ist. Dazu wählen Sie die Kunden mit folgendem Ausdruck aus: "Sales > 50000 AND Business_type = 'Restaurant'".

Wenn eine Abfrage für einen Aktualisierungs- oder Such-Cursor angegeben wird, werden nur die Datensätze zurückgegeben, die die Abfragekriterien erfüllen. Eine SQL-Abfrage stellt einen Teil der einzelnen Tabellenabfragen dar, die mit einer SQL SELECT-Anweisung in einer SQL-Datenbank in einer Tabelle vorgenommen werden können. Die Syntax für die WHERE-Klausel entspricht der Syntax der zugrunde liegenden Datenbank, in der sich die Daten befinden.

Im folgenden Beispiel werden die Zeilen eines Such-Cursors so gefiltert, dass nur Straßen einer bestimmten Klasse zurückgegeben werden:

import arcpy

fc = "D:/St_Johns/data.gdb/roads"

# Create a search cursor using an SQL expression
#
cursor = arcpy.da.SearchCursor(fc, ("roadclass", "name"), """"roadclass" = 2""")
for row in cursor:
    # Print the name of the residential road
    #
    print(row[1])
Tipp:

In Python sind Ausdrücke mit dreifachen Anführungszeichen besser lesbar und verständlicher.

Verwenden von "AddFieldDelimiters" mit dem SQL-Ausdruck

Die in einem SQL-Ausdruck verwendeten Feldtrennzeichen unterscheiden sich je nach Format der abgefragten Daten. File-Geodatabases und Shapefiles verwenden beispielsweise Anführungszeichen (" "), Personal-Geodatabases eckige Klammern ([ ]) und ArcSDE-Geodatabases verwenden keine Feldtrennzeichen. Mit der AddFieldDelimiters-Funktion können Sie sicher sein, dass für einen SQL-Ausdruck die richtigen Feldtrennzeichen verwendet werden. Die folgenden Beispiele bauen auf dem obigen Beispiel auf und fügen dem SQL-Ausdruck die richtigen Feldtrennzeichen hinzu.

import arcpy

fc = "D:/St_Johns/data.gdb/roads"
fieldname = "roadclass"

# Create field name with the proper delimiters
#
whereclause = """{} = 2""".format(arcpy.AddFieldDelimiters(fc, fieldname))

# Create a search cursor using an SQL expression
#
cursor = arcpy.da.SearchCursor(fc, ("roadclass", "name"), whereclause)

for row in cursor:
    # Print the name of the residential road
    print(row[1])

Verwandte Themen

  • Zugreifen auf Daten mit Cursorn

ArcGIS Desktop

  • Startseite
  • ArcGIS Pro
  • ArcMap
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | | Rechtliches