Erstellen Sie über das Dialogfeld Neuer Abfrage-Layer eine SQL-Abfrage, mit der ein Abfrage-Layer in der Karte definiert wird.
Im Folgenden finden Sie eine Übersicht zur Erstellung von Abfrage-Layern über das Dialogfeld Neuer Abfrage-Layer:
- Verbinden mit der Datenbank.
Der erste Schritt in der Erstellung eines Abfrage-Layers in ArcGIS ist das Herstellen einer Verbindung mit der Datenbank, die abgefragt werden soll. Sie können eine Datenbankverbindung entweder im Kataloginhaltsverzeichnis erstellen (siehe hierzu Datenbankverbindungen in ArcMap) oder über das Dialogfeld Neuer Abfrage-Layer.
- Auswählen einer Tabelle.
Nachdem eine Verbindung zur Datenbank hergestellt wurde, wird im Dialogfeld Neuer Abfrage-Layer eine Liste von Tabellen und Sichten der Datenbank angezeigt. 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.
Sie geben eine SQL-Abfrage im Textfeld Abfrage ein.
Beim Erstellen einer Abfrage kann dem Textfeld Abfrage entweder durch Doppelklick oder durch Ziehen aus dem Fenster Liste der Tabellen in das Textfeld Abfrage eine ganze Tabelle hinzugefügt werden. 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 die SQL-Syntax der Datenbank 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 würde dies die gesamte USA anzeigen.
Weitere Informationen zum Erstellen von SQL-Abfragen finden Sie unter Erstellen eines Abfrageausdrucks.
- Überprüfen der SQL-Anweisung.
Nachdem die Abfrage erstellt wurde, muss sie überprüft werden. Während der Validierung versucht ArcGIS, die Eigenschaften des Abfrage-Layers anhand der ersten in der Tabelle zurückgegebenen Zeile zu bestimmen.
Während der Validierung versucht ArcGIS, die Eigenschaften des Abfrage-Layers anhand der ersten in der Tabelle zurückgegebenen Zeile zu bestimmen.
Die Eigenschaften eines Abfrage-Layers werden zum Filtern der aus der Datenbank an ArcGIS zurückgegebenen Zeilen verwendet. Wenn beispielsweise die Features in der Feature-Class verschiedene SRIDs verwenden, wird über die im Abfrage-Layer festgelegte SRID-Eigenschaft verhindert, dass Zeilen in der Datenbanktabelle mit einer anderen SRID auf der Karte angezeigt werden.
- Geben Sie eine eindeutige Kennung an, oder verwenden Sie die von ArcGIS bei der Überprüfung ermittelte Kennung.
Die eindeutige Kennung besteht aus einem oder mehreren Feldern, die von ArcGIS zur Identifizierung der einzelnen Zeilen in der Tabelle verwendet werden.
- 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.
- Dimensionalität: Diese bestimmt, ob die Koordinaten eines Layers M-Werte zum Speichern von Routendaten und Z-Werte zum Speichern von 3D-Daten enthalten.
- 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.
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 manuell einen Raumbezug angeben müssen. Beachten Sie, dass die Daten durch das Festlegen eines Raumbezugs für den Abfrage-Layer nicht neu projiziert werden. 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.
Befolgen Sie die nachstehenden Schritte, um einen Abfrage-Layer in der Karte zu erstellen:
- Geben Sie im Dialogfeld Neuer Abfrage-Layer im Textfeld Name einen Namen für den Abfrage-Layer an, der erstellt wird. Dies ist der Name, der im Inhaltsverzeichnis von ArcMap angezeigt wird.
- Klicken Sie auf Verbindungen, um eine Verbindung mit der Datenbank herzustellen, die die Tabelle für die Abfrage enthält.
Daraufhin wird das Dialogfeld Verbindung(en) verwalten angezeigt. Hier können Sie vorhandene Datenbankverbindungen auswählen, Verbindungen erstellen und vorhandene Verbindungen bearbeiten bzw. löschen.
- Wählen Sie eine vorhandene Verbindung aus, oder stellen Sie eine Verbindung zu einer Datenbank her.
- Klicken Sie auf Neu, um eine Datenbankverbindung zu erstellen. Daraufhin wird das Dialogfeld Datenbankverbindung angezeigt. Stellen Sie wie unter Datenbankverbindungen in ArcMap beschrieben die Verbindungsinformationen bereit. Wenn die Verbindung der Liste Vorhandene Verbindung(en) hinzugefügt wird, geben Sie einen aussagekräftigen Namen für die Verbindung ein, und klicken Sie dann auf OK.
- Um eine bestehende Verbindung zu verwenden, wählen Sie diese aus der Liste Vorhandene Verbindung(en) aus, und klicken Sie dann auf OK.
- Geben Sie eine SQL-Abfrage in das Textfeld Abfrage ein.
- Klicken Sie auf Überprüfen, um sicherzustellen, dass die Abfragesyntax richtig ist und Daten zurückgibt, die von ArcGIS verwendet werden können. Der Überprüfungsvorgang 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 Layer-Definition 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 SQL-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.
Während des Validierungsvorgangs werden von ArcGIS Dimensionalität, Geometrietyp, Raumbezug, SRID und eindeutige Kennungseigenschaften für den Abfrage-Layer festgelegt. Diese Werte basieren auf der ersten Zeile, die in der Abfrage zurückgegeben wurde. Wenn Sie diese Einstellungen ändern müssen, aktivieren Sie das Kontrollkästchen Erweiterte Optionen anzeigen, um das Dialogfeld Erweiterte Optionen anzuzeigen und die folgenden Optionen festzulegen:
- Wählen Sie ein Feld bzw. mehrere Felder aus, die Werte zur eindeutigen Identifizierung der Zeilen des Layers enthalten. Weitere Informationen finden Sie unter Eindeutige Kennungsfelder.
- Wählen Sie aus dem Dropdown-Menü den Geometrietyp aus. Im Ergebnissatz der Abfrage werden nur Features des ausgewählten Geometrietyps angezeigt.
- Klicken Sie auf Auswählen, um das Koordinatensystem auszuwählen, das als Raumbezug verwendet wird. Alternativ können Sie den Raumbezug aus einem vorhandenen Dataset importieren, indem Sie auf Importieren klicken.
- Wenn die Abfrage erfolgreich überprüft wurde und Sie bei Bedarf erweiterte Optionen festgelegt haben, klicken Sie auf Fertig stellen, um der Karte den Ergebnissatz als Abfrage-Layer hinzuzufügen.
Weitere Informationen zum Ändern der Eigenschaften von Abfrage-Layern finden Sie unter Ändern eines Abfrage-Layers.