Sie können einen Datenbank-Layer in die Karte ziehen, um automatisch einen Abfrage-Layer zu erstellen, oder die Schaltfläche Daten hinzufügen auf 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, lesen Sie Erstellen eines Abfrage-Layers für Daten in einem Cloud Data Warehouse.
Abfrage-Layer mit Zugriff auf Geodatabase-Systemtabellen werden nicht unterstützt.
Zusammenfassung und Erläuterung der Erstellung eines Abfrage-Layers für Datenbankdaten
In den folgenden Abschnitten finden Sie eine Zusammenfassung der Erstellung von Abfrage-Layern für eine Datenbank über das Dialogfeld Neuer Abfrage-Layer.
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.
Auswählen einer Tabelle
Nachdem Sie eine Verbindung zur Datenbank hergestellt haben, wird im Dialogfeld Neuer Abfrage-Layer eine Liste von Tabellen und Sichten angezeigt. Dies sind die Tabellen und Sichten, die Sie mit den Anmeldeinformationen, die Sie für die Datenbankverbindung angegeben haben, nutzen können. Wenn Sie eine der Tabellen auswählen, werden die Spalten für diese Tabelle angezeigt.
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.
Weitere Informationen finden Sie unter In ArcGIS unterstützte DBMS-Datentypen.
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.
Beim Erstellen einer Abfrage können Sie dem Textfeld Abfrage entweder durch Doppelklick oder durch Ziehen aus dem Fenster Liste der Tabellen in das Textfeld Abfrage eine ganze Tabelle hinzufügen. Ebenso können Sie der Abfrage bestimmte Spalten aus einer Tabelle hinzufügen, indem Sie auf sie doppelklicken oder sie aus dem Fenster Spalten in das Textfeld Abfrage ziehen. Sie können auch bestimmte Abfragen eingeben oder eine Abfrage aus einer externen Anwendung ausschneiden und in das Textfeld Abfrage einfügen.
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.
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:
- Öffnen Sie die Karte in ArcGIS Pro, wo Sie den Abfrage-Layer hinzufügen möchten.
- Klicken Sie auf die Schaltfläche Daten hinzufügen auf dem Menüband Karte , und wählen Sie die Schaltfläche Abfrage-Layer aus der Dropdown-Liste aus.
Dadurch wird das Dialogfeld Neuer Abfrage-Layer geöffnet.
- 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 , und erstellen Sie eine neue Verbindung.
Eine Liste der Tabellen und Sichten, auf die Sie in der Datenbank Zugriff haben, wird im Abschnitt Liste der Tabellen des Dialogfeldes angezeigt. Sie können eine Tabelle oder Sicht durch Klicken auf den Namen auswählen, wenn Sie damit arbeiten möchten; die Spalten werden im Fenster Spalten angezeigt.
- 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.
Sie können auf eine Tabelle im Abschnitt Liste der Tabellen doppelklicken, um alle Spalten in der Tabelle zum Textfeld Abfrage hinzuzufügen und die Abfrage dort zu ändern. Sie können zum Beispiel 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.
- 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.
- 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.
- Wenn die Überprüfung der Abfrage positiv ausfällt, klicken Sie auf Weiter.
- 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 zu Auswählen eines eindeutigen Kennungsfeldes für einen Abfrage-Layer.
- 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.
- Wählen Sie aus dem Dropdown-Menü den Geometrietyp aus.
- Klicken Sie auf die Schaltfläche 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.
- 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.
- 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.
- 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.