Erstellen eines Abfrage-Layers für Daten in einer Datenbank

Sie können einen Datenbank-Layer in die Karte ziehen, um automatisch einen Abfrage-Layer zu erstellen, oder die Schaltfläche Daten hinzufügen Daten hinzufügenauf der Registerkarte Karte verwenden, um einen Abfrage-Layer in Ihrer Karte zu erstellen.

Tipp:

Auf dieser Seite wird erklärt, wie ein Abfrage-Layer für eine Tabelle in einer Datenbank erstellt wird. Wenn Sie auf Daten in einem Cloud Data Warehouse zugreifen möchten, finden Sie dazu im Abschnitt Erstellen eines Abfrage-Layers für Daten in einem Cloud Data Warehouse entsprechende Informationen.

Abfrage-Layer mit Zugriff auf Geodatabase-Systemtabellen werden nicht unterstützt.

Voraussetzungen und Workflows

Lesen Sie den Abschnitt Datenbank- und Client-Konfigurationen für Abfrage-Layer, bevor Sie einen Abfrage-Layer erstellen.

Lesen Sie als Nächstes die folgenden Unterabschnitte, um den Workflow besser zu verstehen, der beim Erstellen eines Abfrage-Layers für eine Datenbank mithilfe des Dialogfelds Neuer Abfrage-Layer zu befolgen ist.

Verbinden mit der Datenbank

Bevor Sie einen Abfrage-Layer definieren können, müssen Sie eine Verbindung zu der Datenbank herstellen, die Sie abfragen möchten.

Sie können eine Datenbankverbindung entweder im Bereich Katalog erstellen (siehe hierzu Datenbankverbindungen in ArcGIS Pro), sie dem Projekt hinzufügen und sie über das Dialogfeld Neuer Abfrage-Layer aufrufen, oder Sie können die Datenbankverbindung im Dialogfeld Neuer Abfrage-Layer erstellen.

Definieren einer SQL-Abfrage

Geben Sie im Textfeld Abfrage eine SQL-Abfrage an, um auf die benötigten Daten in der Tabelle oder Sicht zuzugreifen.

Sie können eine SQL-Abfrage in das Textfeld Abfrage einfügen oder, wenn Sie keine SQL-Abfrage vorbereitet haben und eine Tabellenliste angezeigt werden soll, das Feld Liste der Tabellen aktivieren. Sie können auf die in der Liste angezeigten Tabellen und Spalten doppelklicken, um eine SQL-Abfrage zu erstellen, oder diese aus dem Tabellenlistenfenster in das Textfeld Abfrage ziehen.

Jede Spalte in einer Datenbank hat einen bestimmten Datentyp. ArcGIS kann mit den gebräuchlichsten Datenbanktypen arbeiten. Einige seltenere Datenbanktypen werden jedoch nicht unterstützt. Wenn der Attributspaltentyp unbekannt ist, bedeutet dies, dass ArcGIS diesen Datentyp nicht unterstützt. Wenn Sie eine Abfrage angeben, müssen alle Spalten mit einem unbekannten Datentyp entweder ausgeschlossen werden oder in der Abfrage in einen Datentyp geändert werden, den ArcGIS unterstützt. Unter In ArcGIS unterstützte DBMS-Datentypen finden Sie eine Liste der unterstützten Datentypen pro Datenbank.

Tipp:

In ArcGIS Pro wurde in Version 3.2 Unterstützung für die folgenden Datentypen hinzugefügt:

  • Big Integer
  • Nur Datum
  • Nur Zeit
  • Zeitstempel mit Versatz
Wenn die neuen Datentypen in der Quellentabelle enthalten sind, wenn Sie einen Abfrage-Layer erstellen oder ändern, werden sie als neue Typen erkannt. Obwohl in ArcGIS Pro in Version 3.2 Unterstützung für diese Datentypen hinzugefügt wurde, sind sie zum gegenwärtigen Zeitpunkt in ArcGIS Enterprise noch in der Beta-Phase. Um die in früheren ArcGIS-Versionen verwendete Kartenerstellung beizubehalten, können Sie die Einstellung für Karten und Szenen für Ihre ArcGIS Pro-Installation konfigurieren.

Die Unterstützung für die neuen Datentypen variiert je nach Datenbank- und Cloud-Data-Warehouse-Plattform. Weitere Informationen finden Sie unter In ArcGIS unterstützte DBMS-Datentypen.

Beim Erstellen eines Abfrage-Layers sollte eine für die Datenbank spezifische SQL-Syntax verwendet werden. Ein allgemeines Beispiel wäre wie folgt: SELECT * FROM Test.myuser.US_States. Dies führt zu einem Abfrage-Layer, der alle Zeilen von der Tabelle "US_States" enthält. In der Karte zeigt dies die gesamte USA an.

Weitere Informationen zum Verwenden von Variablen in SQL-Abfragen finden Sie unter Definieren von Parametern in einem Abfrage-Layer.

Überprüfen der SQL-Anweisung

Überprüfen Sie die SQL-Abfrage nach ihrer Definition. Während der Überprüfung verwendet ArcGIS die Eigenschaften der ersten in der Tabelle zurückgegebenen Zeile, um die Gültigkeit der Abfrage zu bestimmen.

ArcGIS verwendet auch die Eigenschaften der ersten von der Abfrage zurückgegebenen Zeile, um zu filtern, welche anderen Zeilen in der Karte angezeigt werden, um die ArcGIS-Anforderungen zu erfüllen. ArcGIS unterstützt zum Beispiel nur einen Raumbezug in einer räumlichen Tabelle. Wenn die Features in Ihrer Feature-Class unterschiedliche Raumbezugs-IDs (SRID) verwenden, gibt der Abfrage-Layer standardmäßig nur die Zeilen zurück, die dieselbe SRID haben wie das erste von der Abfrage zurückgegebene Feature. In ähnlicher Weise unterstützt ArcGIS nur einen Geometrietyp pro Tabelle. Standardmäßig werden nur Features mit dem gleichen Geometrietyp wie die erste von der Abfrage zurückgegebene Zeile auf der Karte angezeigt. Um eine andere SRID oder einen anderen Geometrietyp zu verwenden, definieren Sie die räumlichen Eigenschaften des Abfrage-Layers.

Angeben eines eindeutigen Identifikators

Die eindeutige Kennung besteht aus einem oder mehreren Spalten, die von ArcGIS zur Identifizierung der einzelnen Zeilen in der Tabelle verwendet werden.

Während der Überprüfung versucht ArcGIS, eine einzige eindeutige Identifikatorspalte für die Tabelle zu ermitteln. Wenn es eine entsprechende Spalte gibt, können Sie diese für den Abfrage-Layer verwenden. Wenn kein eindeutiger Identifikator gefunden wird oder Sie einen anderen eindeutigen Identifikator verwenden möchten, können Sie diesen im nächsten Bereich des Dialogfeldes festlegen.

Das eindeutige Identifikatorfeld muss eine einzelne, eindeutige, in der Datenbank verwaltete Spalte ohne NULL-Werte sein, wenn Sie einen Feature-Layer veröffentlichen möchten, der den Abfrage-Layer enthält.

Definieren räumlicher Eigenschaften (optional)

Für Feature-Classes oder Sichten mit einer räumlichen Spalte können Sie die im Folgenden aufgeführten Eigenschaften festlegen. Falls verfügbar, können Sie auch die von ArcGIS ermittelten Standardeinstellungen verwenden.

  • Geometrietyp: Dieser bestimmt, ob in dem Layer Punkt-, Multipoint-, Linien- oder Polygon-Features gespeichert werden.
  • Z- und M-Werte: Mit diesen Optionen wird festgelegt, ob der Layer Features mit Z- oder M-Koordinaten enthält.
  • Raumbezug: Dieser besteht aus dem Koordinatensystem und anderen zugehörigen räumlichen Eigenschaften für den Layer.

    Es kann vorkommen, dass ArcGIS den Raumbezug nicht basierend auf dem aktuellen SRID-Wert ermitteln kann, der für die Features in der Datenbank festgelegt wurde. In diesem Fall weist der Abfrage-Layer einen unbekannten Raumbezug auf, sodass Sie einen Raumbezug angeben müssen. Dies gilt nicht für Cloud Data Warehouses, für die Sie keinen Raumbezug definieren können.

    Hinweis:
    Durch das Festlegen eines Raumbezugs für den Abfrage-Layer werden die Daten nicht neu projiziert. Es wird lediglich der Raumbezug definiert, der beim Zuordnen der Abfrageergebnisse in ArcGIS verwendet werden soll.

  • SRID: Dies ist die Raumbezugskennung des Layers, anhand derer sichergestellt wird, dass von der Abfrage nur Geometrien mit der gleichen Raumbezugskennung zurückgegeben werden. Der SRID-Wert ist leer, wenn der Abfrage-Layer nicht über ein räumliches Feld verfügt. Wenn dieser Wert festgelegt wird, werden alle Features, die nicht über den festgelegten Geometrie-SRID-Wert verfügen, aus dem Ergebnis ausgeschlossen. Wenn die Daten in Ihrer Datenbank eine benutzerdefinierte SRID verwenden, müssen Sie die SRID in den räumlichen Eigenschaften für den Abfrage-Layer angeben. Dies gilt nicht für Cloud Data Warehouses.

Erstellen eines Abfrage-Layers für eine Datenbanktabelle

Wenn die Tabelle, die Sie abfragen möchten, nicht Hunderttausende von Datensätzen enthält, können Sie die Tabelle auf die Karte ziehen , um automatisch einen Abfrage-Layer zu erstellen. Bei größeren Datasets sollten Sie das Dialogfeld Neuer Abfrage-Layer verwenden, um den Abfrage-Layer zu definieren.

Ziehen Sie die Tabelle auf die Karte.

Wenn Sie eine Datenbank-Feature-Class, -tabelle oder -sicht aus einer Datenbankverbindung im Bereich Katalog auf die Karte ziehen, wird von ArcGIS Pro automatisch ein Abfrage-Layer erstellt, mit dem alle Zeilen und Felder der jeweiligen Feature-Class, Tabelle oder Sicht ausgewählt werden. Dies gilt jedoch nur für Datenbanken, nicht für Enterprise-Geodatabases.

ArcGIS Pro berechnet die Ausdehnung des Layers, wenn Sie diesen auf die Karte ziehen. Wenn Sie eine Tabelle mit einer großen Anzahl von Features hinzufügen, kann die Berechnung der Ausdehnung relativ lange dauern. Sie können in diesem Fall die Ausdehnung der Daten, sofern bekannt, angeben oder die Ausdehnung des Raumbezugs verwenden, anstatt auf die Berechnung zu warten. Klicken Sie auf die entsprechende Schaltfläche im Dialogfeld Ausdehnung berechnen. Wenn Sie auf Eingabeausdehnung klicken, müssen Sie eine gültige Ausdehnung eingeben, die alle Features in der Tabelle einschließt.

Alternative Methoden zum Berechnen der Ausdehnung

Nachdem Sie der Karte einen Layer hinzugefügt haben, können Sie den Abfrage-Layer bei Bedarf ändern.

Definieren einer Abfrage

Führen Sie die folgenden Schritte aus, um einen Abfrage-Layer in einer Karte in einem ArcGIS Pro-Projekt über das Dialogfeld Neuer Abfrage-Layer zu definieren:

  1. Öffnen Sie die Karte in ArcGIS Pro, wo Sie den Abfrage-Layer hinzufügen möchten.
  2. Klicken Sie auf die Schaltfläche Daten hinzufügen Daten hinzufügen auf dem Menüband Karte , und wählen Sie die Schaltfläche Abfrage-Layer Abfrage-Layer hinzufügen aus der Dropdown-Liste aus.

    Das Dialogfeld Neuer Abfrage-Layer wird angezeigt.

  3. Legen Sie eine Verbindung mit einer der folgenden Methoden fest:
    • Wenn die Verbindungsdatei (.sde) bereits im Projekt vorhanden ist, wählen Sie sie aus der Dropdown-Liste aus.
    • Wenn die Verbindung nicht im Projekt vorhanden ist, wählen Sie die Schaltfläche für die neue Datenbankverbindung aus Neue Geodatabase-Verbindung, und erstellen Sie eine neue Verbindung.
  4. Geben Sie im Textfeld Name einen Namen für die Abfrage an, die erstellt werden soll.

    Dies ist der Name, der im Bereich Inhalt der Karte angezeigt wird.

  5. Geben oder fügen Sie eine SQL-Abfrage in das Textfeld Abfrage ein.

    Um eine Liste der Tabellen und zugehörigen Spalten anzuzeigen, aktivieren Sie das Kontrollkästchen Tabellenliste. Sie können im Abschnitt Tabellenliste auf eine Tabelle doppelklicken, um alle Spalten in der Tabelle dem Textfeld Abfrage hinzuzufügen und die Abfrage im Textfeld Abfrage zu bearbeiten. Sie können zum Beispiel nicht benötigte Spalten aus der Abfrage löschen und der Abfrage Klauseln hinzufügen, um die im Abfrage-Layer enthaltenen Daten einzuschränken.

  6. Wählen Sie aus, wie die räumlichen Eigenschaften des Layers definiert werden sollen.
    • Wählen Sie Die Erkennung räumlicher Eigenschaften für den Layer durch ArcGIS Pro zulassen (Standardeinstellung), damit ArcGIS Pro die räumlichen Eigenschaften der ersten von der Abfrage zurückgegebenen Zeile verwenden kann. ArcGIS Pro erkennt diese Eigenschaften, wenn Sie die SQL-Anweisung validieren.
    • Wählen Sie Räumliche Eigenschaften für den Layer definieren, wenn der Layer Features mit räumlichen Eigenschaften enthalten soll, die sich von denen der ersten Zeile unterscheiden.
  7. Sie müssen überprüfen, ob die Abfragesyntax korrekt ist und ob ArcGIS die Abfrage verwenden kann. Klicken Sie auf Überprüfen, um den Überprüfungsprozess zu starten.

    Die Überprüfung führt die Abfrage in der Datenbank aus und überprüft, ob der von der Abfrage zurückgegebene Ergebnissatz den von ArcGIS erforderten Datenmodellierungsstandards entspricht. Ein Abfrage-Layer wird der Karte erst dann hinzugefügt, wenn die Karte gültig ist.

    Die Regeln für die Validierung sind wie folgt:

    • Der Ergebnissatz darf höchstens über ein räumliches Feld verfügen.
    • Der Ergebnissatz darf höchstens über einen Raumbezug verfügen.
    • Der Ergebnissatz darf nur einen Shape-Typ haben.
    • Der Ergebnissatz darf nur von ArcGIS unterstützte Feldtypen enthalten.

    Wenn die Überprüfung aus irgendeinem Grund fehlschlägt, wird eine Fehlermeldung zurückgegeben, damit Sie die Abfrage ändern können.

    Beim Arbeiten mit Daten in Spatial-Databases, die nicht die gleichen Standards wie ArcGIS erfordern, ist die Überprüfung besonders wichtig.

  8. Wenn die Überprüfung der Abfrage positiv ausfällt, klicken Sie auf Weiter.

    Herstellen einer Verbindung mit einer Datenbank und Definieren der SQL-Abfrage für den neuen Abfrage-Layer.

  9. Wählen Sie das eindeutige Kennungsfeld für den Abfrage-Layer aus, oder verwenden Sie das von ArcGIS Pro ausgewählte Feld.

    Alle Features in der Karte müssen eine eindeutige Kennung haben. Aus diesem Grund muss der Abfrage-Layer ein eindeutiges Kennungsfeld aufweisen, das für jedes Feature einen Wert enthält. Weitere Informationen zu Auswählen eines eindeutigen Kennungsfeldes für einen Abfrage-Layer.

  10. Wählen Sie den Geometrietyp und den Raumbezug aus.

    Diese Parameter sind möglicherweise bereits festgelegt, wenn Sie die räumlichen Eigenschaften von ArcGIS Pro bestimmen lassen.

    1. Wählen Sie aus dem Dropdown-Menü den Geometrietyp aus.
    2. Klicken Sie auf die Schaltfläche Koordinatensystem Koordinatensystem, um das Koordinatensystem des von den Daten verwendeten Raumbezugs auszuwählen, oder importieren Sie den Raumbezug aus einem vorhandenen Dataset. Denken Sie daran, dass die Daten dadurch nicht neu projiziert werden.

    Geben Sie die eindeutige ID, den Geometrietyp und das Koordinatensystem für den Raumbezug an.

  11. Wenn Sie in Schritt 6 festgelegt haben, dass die räumlichen Eigenschaften von ArcGIS Pro definiert werden sollen, klicken Sie auf Fertig stellen, um den Abfrage-Layer zur Karte hinzufügen.
  12. Wenn Sie in Schritt 6 festgelegt haben, dass Sie die räumlichen Eigenschaften des Layers definieren, ist im oben gezeigten Dialogfeld ein zusätzlicher Abschnitt zu sehen. In diesem Abschnitt (Eigenschaften der Layer-Ausdehnung) müssen Sie die räumliche Ausdehnung des Abfrage-Layers angeben, indem Sie eine der folgenden Optionen wählen:
    • Eingabeausdehnung: Wenn Sie auf Weiter klicken, müssen Sie die Ausdehnung eingeben. Die angegebene Ausdehnung muss gültig sein und alle Features in der Tabelle umfassen.
    • Kartenausdehnung verwenden: Die Ausdehnung der aktuellen Karte wird für die Ausdehnung des Abfrage-Layers verwendet. Klicken Sie auf Weiter, um die Kartenausdehnungswerte zu überprüfen.
    • Ausdehnung des Raumbezugs verwenden: Die Ausdehnung des Raumbezugs der Daten wird für die Ausdehnung des Abfrage-Layers verwendet. Bei manchen Raumbezügen ist dies der gesamte Globus. Klicken Sie auf Weiter, und prüfen Sie die Raumbezug-Ausdehnungswerte.
  13. Wenn Sie das Festlegen oder Überprüfen der Layer-Ausdehnung beendet haben, klicken Sie auf Fertig stellen, um den Abfrage-Layer der Karte hinzuzufügen.

Weitere Informationen zum Ändern der Eigenschaften von Abfrage-Layern finden Sie unter Ändern eines Abfrage-Layers.

Verwandte Themen