Abfrage-Layer sind SQL-Abfragen, die in Karten in ArcGIS AllSource-Projekten gespeichert sind. Abfrage-Layer bieten Ihnen Zugriff auf räumliche und nichträumliche Tabellen und Sichten in Datenbanken und Cloud Data Warehouses. Beispiel: Sie haben keine Berechtigungen, um in der Datenbank eine Sicht zu erstellen, möchten aber eingrenzen, welche Daten aus einer Feature-Class in der Karte angezeigt werden. Sie können einen Abfrage-Layer in der Karte erstellen, mit dem nur bestimmte Felder oder Werte aus der Feature-Class ausgewählt werden.
Tipp:
Da Abfrage-Layer mit SQL direkt auf Datenbanken zugreifen, müssen die Daten nicht Teil einer Enterprise-Geodatabase sein. Sie können jedoch bei Bedarf Abfrage-Layer für Tabellen und Feature-Classes in einer Enterprise-Geodatabase definieren.
Sie definieren eine SQL-Abfrage, um einen Abfrage-Layer zu erstellen. Die Abfrage wird für die Tabellen und Sichten in der angegebenen Datenbank oder dem Cloud Data Warehouse ausgeführt. Der Ergebnissatz wird der Karte als Layer hinzugefügt, wenn die Abfrage eine räumliche Spalte enthält, bzw. als Standalone-Tabelle, wenn dies nicht der Fall ist.
Die SQL-Abfrage, die einen Abfrage-Layer definiert, ist eine statische SQL-Anweisung, die jedes Mal dann in der Datenbank oder dem Cloud Data Warehouse ausgeführt wird, wenn der Layer in der Karte angezeigt oder verwendet wird. Dadurch sind die aktuellen Informationen sichtbar, ohne eine Kopie oder einen Snapshot der Daten zu erstellen. Dies ist besonders beim Arbeiten mit dynamischen Informationen hilfreich, die sich häufig ändern. Es gibt jedoch viele Situationen, in denen Teile von SQL-Anweisungen nicht im Voraus bekannt sind. Um beispielsweise den aggregierten Niederschlag in einer Region anzuzeigen, ist Ihnen möglicherweise im Vorfeld nicht bekannt, ob die Niederschlagswerte der Station nach Tag, Woche oder Monat aggregiert werden sollen. Durch die Parameter in Abfrage-Layern werden Komponenten von SQL-Anweisungen dynamisch.
Beachten Sie beim Arbeiten mit Abfrage-Layern Folgendes:
- Abfrage-Layer werden für bestimmte Datenbankmanagementsysteme und Cloud Data Warehouses unterstützt.
- Wenn Sie eine Tabelle aus einer Datenbank in Ihrem Projekt auf eine Karte ziehen, erstellt ArcGIS AllSource automatisch einen Abfrage-Layer, mit dem alle Felder und Zeilen der Tabelle ausgewählt werden. Sie können die auf der Karte verfügbaren Daten ändern, indem Sie in den Layer-Eigenschaften die Definition des Abfrage-Layers ändern. Ziehen Sie jedoch keine Layer auf die Karte, wenn sich in der Tabelle Millionen von Features befinden.
- Alternativ können Sie den Abfrage-Layer definieren, bevor der Karte Daten hinzugefügt werden. Zum Definieren eines Abfrage-Layers für Daten in einer Enterprise-Geodatabase oder Definieren eines Abfrage-Layers für Daten in einem Cloud Data Warehouse muss diese Methode verwendet werden.
- Da Abfrage-Layer sich wie andere Feature-Layer oder Standalone-Tabellen in einer Karte verhalten, können Sie sie zum Anzeigen von Daten und als Eingabe in ein Geoverarbeitungswerkzeug verwenden, programmgesteuert über Entwickler-APIs aufrufen oder veröffentlichen.
- Abfrage-Layer sind schreibgeschützt, wenn direkt über eine Datenbankverbindung auf sie zugegriffen wird.
- Um Datenbanktabellen, auf die als Abfrage-Layer zugegriffen wird, zu bearbeiten, müssen Sie diese als Web-Feature-Layer freigeben und über das Portal auf sie zugreifen. Der Abfrage-Layer darf keine virtuellen Spalten, where-Klauseln oder Verbindungen enthalten. Darüber hinaus sind Abfrage-Layer, die auf Daten in einem Cloud Data Warehouse zugreifen, auch über einen Web-Feature-Layer nicht bearbeitbar.
- Wenn der Abfrage-Layer auf Basis von Datenbankdaten definiert ist, können Sie die Daten des Abfrage-Layers in eine andere Datenbank oder Enterprise-Geodatabase exportieren.