Erstellen Sie einen Abfrage-Layer im Dialogfeld Neuer Abfrage-Layer, um Daten in einem Cloud Data Warehouse aufzurufen. Die beste Leistung wird erzielt, wenn der ArcGIS Pro-Client, mit dem das Data Warehouse abgerufen wird, in derselben Cloud-Umgebung und Region wie das Data Warehouse installiert wird.
Tipp:
Auf dieser Seite wird erklärt, wie ein Abfrage-Layer für eine Tabelle in einem Cloud Data Warehouse erstellt wird. Informationen zum Zugriff auf Daten in einer relationalen Datenbank finden Sie unter Erstellen eines Abfrage-Layers für Daten in einer relationalen Datenbank.
Voraussetzungen und Workflow
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 ein Cloud Data Warehouse mithilfe des Dialogfelds Neuer Abfrage-Layer zu befolgen ist.
Herstellen einer Verbindung mit dem Data Warehouse
Bevor Sie einen Abfrage-Layer definieren können, müssen Sie eine Verbindung mit dem Data Warehouse herstellen.
Sie können eine Verbindung entweder im Bereich Katalog erstellen (siehe hierzu Verbindungen mit Cloud Data Warehouses in ArcGIS Pro), sie dem Projekt hinzufügen und sie über das Dialogfeld Neuer Abfrage-Layer aufrufen, oder Sie können die Verbindung im Dialogfeld Neuer Abfrage-Layer erstellen.
Definieren einer SQL-Abfrage
Geben Sie im Textfeld Abfrage eine SQL (Structured Query Language)-Abfrage an, um auf die benötigten Daten im Warehouse zuzugreifen. Wenn Sie eine Tabelle oder Ansicht mit einer großen Anzahl von Zeilen aufrufen, sollte die definierte Abfrage die Anzahl der im Layer enthaltenen Zeilen einschränken. Sie können beispielsweise nicht wirklich Millionen von Features auf einer Karte anzeigen, wenn die Features nicht in Abschnitte aggregiert wurden. Verwenden Sie für diese Art von Tabellen oder Ansichten die Abfrage, um eine Teilmenge der Daten zurückzugeben.
Beim Erstellen des Abfrage-Layers sollte eine für das Data Warehouse spezifische SQL-Syntax verwendet werden.
Jede Spalte in einer Tabelle hat einen bestimmten Datentyp. ArcGIS kann mit den gebräuchlichsten Datentypen arbeiten. Einige seltenere Datentypen 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.
Weitere Informationen finden Sie unter In ArcGIS unterstützte Cloud Data Warehouse-Datentypen.
Tipp:
- Weitere Informationen zum Verwenden von Variablen in SQL-Abfragen finden Sie unter Definieren von Parametern in einem Abfrage-Layer.
- Wenn Sie keine SQL-Abfrage vorbereitet haben und eine Tabellenliste angezeigt werden soll, aktivieren Sie das Kontrollkästchen Tabellenliste. Sie können auf die Tabellen und Spalten in der Liste doppelklicken, um eine SQL-Abfrage zu erstellen.
- Die Darstellungs- und Abfrage-Performance kann beeinträchtigt sein, wenn Sie externe Tabellen in die Abfrage aufnehmen.
In ArcGIS Pro wurde Unterstützung für die folgenden Datentypen hinzugefügt:
- Big Integer
- Nur Datum
- Nur Zeit
- Zeitstempelversatz
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 Cloud Data Warehouse-Datentypen.
Erstellen einer materialisierten Sicht
Wenn Sie Tabellen mit großen Datenmengen in einem Data Warehouse aufrufen und eine SQL-Abfrage definieren, mit der die Gesamtzahl der von der Abfrage zurückgegebenen Features auf eine angemessene Zahl reduziert wird, speichern Sie die Abfrage als materialisierte Sicht in der Datenbank, um die Abfrage-Performance beim Datenzugriff zu verbessern.
Wenn Sie eine materialisierte Sicht im Dialogfeld Neuer Abfrage-Layer erstellen, stellt die für den Abfrage-Layer angegebene SQL-Abfrage die Sichtdefinition dar. Der Abfrage-Layer greift auf die materialisierte Sicht zu, statt die SQL-Abfrage bei jeder Verwendung des Abfrage-Layers auszuführen.
Wenn die materialisierte Sicht in Google BigQuery erstellt wird, können Sie einen Ablaufzeitpunkt für die materialisierte Sicht konfigurieren. Dies empfiehlt sich, um Gebühren für die Speicherung der materialisierten Sicht zu vermeiden, wenn Sie die Sicht nur einige Tage lang benötigen.
Sie können keine materialisierte Sicht erstellen, wenn Sie Variablen in die SQL-Abfrage aufnehmen oder die SQL-Abfrage für eine Sicht definiert wird. Sie können keine materialisierte Sicht erstellen, wenn Sie eine externe Tabelle in die Abfrage aufnehmen.
Materialisierte Sichten werden in dem in der Datenbankverbindungsdatei (.sde) angegebenen Schema erstellt, wenn der Abfrage-Layer auf Snowflake zugreift. Für alle anderen Cloud Data Warehouses werden materialisierte Sichten im Standardschema des in der Datenbankverbindungsdatei angegebenen Benutzers erstellt.
Tipp:
Um den Namen der mit einem Abfrage-Layer verknüpften materialisierten Sicht anzuzeigen, öffnen Sie das Dialogfeld Layer-Eigenschaften für den Abfrage-Layer in der Karte. Löschen oder ändern Sie diese Sicht nicht im Cloud Data Warehouse.
Informationen zur Unterstützung von materialisierten Sichten in einer spezifischen Datenquelle finden Sie in der Dokumentation Ihres Cloud-Data-Warehouse-Anbieters.
Überprüfen der SQL-Anweisung
Validieren Sie die SQL-Anweisung, nachdem Sie eine SQL-Abfrage definiert und eine materialisierte Sicht erstellt haben. 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 einer eindeutigen Kennung
Die eindeutige Kennung besteht aus einer 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 Kennungsspalte für die Tabelle zu ermitteln. Wenn ArcGIS eine entsprechende Spalte findet, können Sie diese für den Abfrage-Layer verwenden. Wenn keine eindeutige Kennung von ArcGIS gefunden wird oder Sie eine andere eindeutige Kennung verwenden möchten, können Sie diese im Dialogfeld Neuer Abfrage-Layer definieren.
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.
- Raumbezug: Dieser besteht aus dem Koordinatensystem und anderen zugehörigen räumlichen Eigenschaften für den Layer.
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.
Sie können bei der Abfrage von Google BigQuery keinen Raumbezug definieren.
- 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.
Erstellen eines Abfrage-Layers, der Daten in einem Cloud Data Warehouse aufruft
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:
- Öffnen Sie in ArcGIS Pro die Karte, der Sie den Abfrage-Layer hinzufügen möchten.
- Klicken Sie auf die Schaltfläche Daten hinzufügen in der Gruppe Layer auf dem Menüband Karte, und wählen Sie Abfrage-Layer aus dem Dropdown-Menü aus.
Das Dialogfeld Neuer Abfrage-Layer wird angezeigt.
- Führen Sie zum Angeben einer Verbindung einen der folgenden Schritte aus:
- 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 , und erstellen Sie eine neue Verbindung.
- 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.
- 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.
- Wählen Sie aus, wie die räumlichen Eigenschaften des Layers definiert werden sollen.
- Die Erkennung räumlicher Eigenschaften für den Layer durch ArcGIS Pro zulassen: ArcGIS Pro verwendet die räumlichen Eigenschaften der ersten von der Abfrage zurückgegebenen Zeile. ArcGIS Pro bestimmt diese Eigenschaften, wenn Sie die SQL-Anweisung validieren. Dies ist die Standardeinstellung.
- Räumliche Eigenschaften für den Layer definieren: Wenn Sie diese Option auswählen, müssen Sie die räumlichen Eigenschaften angeben, die für den Layer verwendet werden sollen.
- Aktivieren Sie das Kontrollkästchen Materialisierte Sicht des Ausgabe-Abfrage-Layers erstellen, um die SQL-Abfrage als materialisierte Sicht im Cloud Data Warehouse zu speichern.
- Geben Sie bei der Erstellung einer materialisierten Sicht in BigQuery mit den Pfeilen nach oben oder nach unten an, wie viele Tage die materialisierte Sicht im Data Warehouse beibehalten werden soll.
Nach der angegebenen Anzahl von Tagen wird die materialisierte Sicht gelöscht. Wenn Sie die Karte mit dem Abfrage-Layer nach diesem Ablaufdatum öffnen, wird die materialisierte Sicht von ArcGIS mit derselben Abfragedefinition und demselben Ablaufdatum wie zuvor neu erstellt.
- Klicken Sie auf Überprüfen, um zu prüfen, ob die Abfragesyntax korrekt ist und ArcGIS die Abfrage verwenden kann.
Hierdurch wird die Abfrage in der Datenbank ausgeführt 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.
Für die Überprüfung gelten die folgenden Regeln:
- 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 keine Feldtypen enthalten, die von ArcGIS nicht unterstützt werden.
Wenn die Überprüfung aus irgendeinem Grund fehlschlägt, wird eine Fehlermeldung zurückgegeben, damit Sie die Abfrage ändern können.
- Klicken Sie auf Weiter, wenn die Validierung abgeschlossen ist.
- Wählen Sie das eindeutige Kennungsfeld für den Abfrage-Layer aus.
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 zum Auswählen eines eindeutigen Kennungsfeldes für einen Abfrage-Layer finden Sie unter Eindeutige Kennungsfelder.
- Räumliche Eigenschaften des Abfrage-Layers definieren
Diese Parameter müssen bereits festgelegt sein, wenn Sie Die Erkennung räumlicher Eigenschaften für den Layer durch ArcGIS zulassen in Schritt 6 auswählen.
- Wenn Sie einen Abfrage-Layer für Redshift definieren, geben Sie an, ob Features mit M-Koordinaten oder Z-Koordinaten berücksichtigt werden sollen.
- Wählen Sie aus dem Dropdown-Menü den Geometrietyp aus.
- Klicken Sie auf Koordinatensystem , und wählen Sie das Koordinatensystem des von den Daten verwendeten Raumbezugs aus, oder importieren Sie den Raumbezug aus einem vorhandenen Dataset.
Denken Sie daran, dass die Daten dadurch nicht neu projiziert werden.
Sie können kein Koordinatensystem auswählen, wenn Sie einen Abfrage-Layer für Daten in BigQuery definieren.
- Wenn Sie Die Erkennung räumlicher Eigenschaften für den Layer durch ArcGIS Pro zulassen in Schritt 6 ausgewählt haben, klicken Sie auf Fertig stellen, um den Abfrage-Layer der Karte hinzufügen.
- Wenn Sie Räumliche Eigenschaften für den Layer definieren in Schritt 6 ausgewählt haben, füllen Sie den zusätzlichen Abschnitt aus, der im Dialogfeld geöffnet wird.
Geben Sie in diesem Abschnitt (Eigenschaften der Layer-Ausdehnung) die räumliche Ausdehnung des Abfrage-Layers an, indem Sie eine der folgenden Optionen wählen:
- Eingabeausdehnung: Eine von Ihnen angegebene Ausdehnung wird als Ausdehnung des Abfrage-Layers verwendet. Klicken Sie auf Weiter, und geben Sie die Ausdehnung ein. 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.
- 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.
Wenn Sie die Erstellung einer materialisierten Sicht ausgewählt haben, wird der Abfrage-Layer für die materialisierte Sicht und nicht für die Quelltabelle definiert.
Weitere Informationen zum Ändern der Eigenschaften von Abfrage-Layern finden Sie unter Ändern eines Abfrage-Layers.