Abfrage-Layer erstellen (Data Management)

Zusammenfassung

Erstellt auf Grundlage einer Eingabe-SQL-Select-Anweisung einen Abfrage-Layer aus einer DBMS-Tabelle.

Verwendung

  • Abfrage-Layer funktionieren nur mit Enterprise-Datenbanken. File-Geodatabases sind kein gültiger Eingabe-Workspace für dieses Werkzeug.

  • Der vom Werkzeug erstellte Layer ist ein temporärer Layer, der nach Sitzungsende nicht beibehalten wird. Zum Speichern der Daten müssen Sie das Projekt speichern oder mithilfe von Zeilen kopieren bzw. Features kopieren eine Kopie erstellen.

  • Wenn das Ergebnis der eingegebenen SQL-Abfrage eine räumliche Spalte zurückgibt, ist die Ausgabe ein Feature-Layer. Wenn die SQL-Abfrage keine räumliche Spalte zurückgibt, ist die Ausgabe eine Standalone-Tabelle.

  • Die für dieses Werkzeug notwendigen Verbindungsdateien können mit dem Werkzeug Datenbankverbindung erstellen erstellt werden.

  • Wenn das Ergebnis der SQL-Abfrage keine Zeilen zurückgibt, ist der Ausgabe-Abfrage-Layer leer und enthält nur das Schema der Spalten, die von der Abfrage zurückgegeben wurden. In diesem Fall erstellt das Werkzeug, wenn die zurückgegebenen Spalten eine räumliche Spalte enthalten, den Abfrage-Layer mithilfe der folgenden Standards:

    • Geometrietyp: PUNKT
    • SRID: 1
    • Raumbezug: NAD1983

    Danach müssen Sie ermitteln, ob vor der Ausführung des Werkzeugs einer dieser Werte geändert werden soll.

  • Für geographische Daten sollte jeder Datensatz im von der SQL-Anweisung zurückgegebenen Ergebnis eine zugeordnete Raumbezugskennung (SRID) haben. Der SRID-Wert wird von der Datenbank verwendet, um den Raumbezug für die Daten zu bestimmen. Die spezifischen funktionalen Unterschiede für die SRID ändern sich bei jeder DBMS-Plattform. Einige DBMS-Plattformen unterstützen mehrere SRID-Werte innerhalb der gleichen Tabelle. ArcGIS unterstützt nur einen Wert. Dieses Werkzeug bietet die Möglichkeit, den SRID-Wert auszuwählen oder es legt standardmäßig die SRID im Ergebnissatz des ersten Datensatzes fest.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Datenbankverbindung

Die Datenbankverbindungsdatei, die die abzufragenden Daten enthält.

Workspace
Ausgabe-Layer-Name

Der Ausgabename des Feature-Layers oder die Tabellensicht, der/die erstellt werden soll.

String
Abfrage

Die SQL-Anweisung, die die Select-Abfrage definiert, die in der Datenbank ausgeführt werden soll.

Hinweis:

Diese Zeichenfolge muss validiert werden, bevor die verbleibenden Steuerelemente aktiviert werden. Die Validierung wird ausgelöst, wenn Sie außerhalb dieses Eingabefeldes klicken. Der Validierungsvorgang führt die Abfrage in der Datenbank aus und überprüft, ob das von der SQL-Abfrage zurückgegebene Ergebnis den von ArcGIS erforderten Datenmodellierungsstandards entspricht. Wenn die Validierung fehlschlägt, gibt das Werkzeug eine Warnung zurück. Die einzige Ausnahme gilt für ModelBuilder. Die Validierung wird dort nicht ausgelöst, wenn die Eingabe aus abgeleiteten Daten besteht.

Die Regeln für die Validierung sind wie folgt:

  • Das Ergebnis der SQL-Abfrage darf nur über ein räumliches Feld verfügen.
  • Das Ergebnis der SQL-Abfrage darf nur über einen Raumbezug verfügen.
  • Das Ergebnis der SQL-Abfrage darf nur einen Entitätstyp haben, z. B. Punkt, Multipoint, Linie oder Polygon.
  • Das Ergebnis der SQL-Abfrage darf keine Feldtypen enthalten, die von ArcGIS nicht unterstützt werden. ArcGIS-Felddatentypen beschreibt die in ArcGIS unterstützten Feldtypen.

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

String
Eindeutige(s) Kennungsfeld(er)
(optional)

Ein oder mehrere Felder aus der SELECT-Liste der SELECT-Anweisung, die verwendet werden können, um eine dynamische, eindeutige Zeilenkennung zu generieren.

String
Shape-Typ
(optional)

Gibt den Shape-Typ des Abfrage-Layers an. Nur Datensätze aus dem Ergebnissatz der Abfrage, die dem angegebenen Shape-Typ entsprechen, werden im Ausgabe-Abfrage-Layer verwendet. Mit der Werkzeugvalidierung wird versucht, diese Eigenschaft auf Grundlage des ersten Datensatzes im Ergebnissatz festzulegen. Dies kann vor dem Ausführen des Werkzeugs geändert werden, wenn es nicht der richtige Ausgabe-Shape-Typ ist. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt.

  • PunktDer Ausgabe-Abfrage-Layer verwendet Punktgeometrie.
  • MultipointDer Ausgabe-Abfrage-Layer verwendet Multipoint-Geometrie.
  • PolygonDer Ausgabe-Abfrage-Layer verwendet Polygongeometrie.
  • PolylinieDer Ausgabe-Abfrage-Layer verwendet Polyliniengeometrie.
String
SRID
(optional)

Der SRID (Spatial Reference Identifier)-Wert für Abfragen, von denen Geometrie zurückgegeben wird. Nur Datensätze aus dem Ergebnissatz der Abfrage, die dem angegebenen SRID-Wert entsprechen, werden im Ausgabe-Abfrage-Layer verwendet. Mit der Werkzeugvalidierung wird versucht, diese Eigenschaft auf Grundlage des ersten Datensatzes im Ergebnissatz festzulegen. Dies kann vor dem Ausführen des Werkzeugs geändert werden, wenn es nicht der richtige Ausgabe-SRID-Wert ist. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt.

String
Koordinatensystem
(optional)

Das Koordinatensystem, das vom Ausgabe-Abfrage-Layer verwendet wird. Mit der Werkzeugvalidierung wird versucht, diese Eigenschaft auf Grundlage des ersten Datensatzes im Ergebnissatz festzulegen. Dies kann vor dem Ausführen des Werkzeugs geändert werden, wenn es nicht das richtige Ausgabekoordinatensystem ist. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt.

Spatial Reference
Räumliche Eigenschaften des Layers definieren
(optional)

Gibt an, wie die räumlichen Eigenschaften für den Layer definiert werden.

Während des Validierungsvorgangs werden 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 diese Eigenschaften manuell definiert und nicht vom Werkzeug aus der Tabelle abgerufen werden sollen, ist dieser Parameter standardmäßig aktiviert.

  • Aktiviert: Die räumlichen Eigenschaften des Layers werden manuell definiert. Dies ist die Standardeinstellung.
  • Deaktiviert: Die Layer-Eigenschaften werden anhand der ersten in der Abfrage zurückgegebenen Zeile festgelegt.
Boolean
Koordinaten weisen M-Werte auf
(optional)

Gibt an, ob der Layer M-Werte enthält.

  • Aktiviert: Der Layer enthält M-Werte.
  • Deaktiviert: Der Layer enthält keine M-Werte. Dies ist die Standardeinstellung.
Boolean
Koordinaten weisen Z-Werte auf
(optional)

Gibt an, ob der Layer Z-Werte enthält.

  • Aktiviert: Der Layer enthält Z-Werte.
  • Deaktiviert: Der Layer enthält keine Z-Werte. Dies ist die Standardeinstellung.
Boolean
Ausdehnung
(optional)

Die Ausdehnung des Layers. Dieser Parameter wird nur verwendet, wenn der Parameter Räumliche Eigenschaften des Layers definieren aktiviert ist (spatial_properties = DEFINE_SPATIAL_PROPERTIES in Python). Die Ausdehnung muss alle Features in der Tabelle enthalten.

  • Aktuelle Anzeigeausdehnung Kartenansicht: Die Ausdehnung basiert auf der aktiven Karte oder Szene. Diese Option ist nur verfügbar, wenn eine aktive Karte vorhanden ist.
  • Ausdehnung darstellen Ausgleichen und Beenden: Die Ausdehnung basiert auf einem Rechteck, das auf der Karte oder Szene aufgezogen wurde. Bei dieser Option wird eine Feature-Class in der Projekt-Geodatabase erstellt und ein Layer zur Karte hinzugefügt. Das Koordinatensystem der Feature-Class stimmt mit dem der Karte überein.
    Hinweis:

    Diese Option ist im Dialogfeld Umgebungen nicht verfügbar. Sie ist nur über einen Werkzeugparameter mit dem Datentyp "Ausdehnung" oder über die Registerkarte Umgebungen eines Werkzeugdialogfeldes verfügbar.

    Hinweis:

    Wenn die Bearbeitungsoption Bearbeitung über die Registerkarte "Bearbeiten" aktivieren und deaktivieren aktiviert ist, dann müssen Sie auf der Registerkarte Bearbeiten des Menübands die Bearbeitung aktivieren, um die Ausdehnung darzustellen.

  • Ausdehnung eines Layers:Layer Die Ausdehnung basiert auf einem aktiven Karten-Layer. Verwenden Sie die Dropdown-Liste, um einen verfügbaren Layer auszuwählen, oder verwenden Sie die Option Ausdehnung von Daten in allen Layern, um die kombinierte Ausdehnung aller aktiven Karten-Layer mit Ausnahme der Grundkarte zu erhalten. Diese Option ist nur verfügbar, wenn eine aktive Karte mit Layern vorhanden ist.

    Jeder Karten-Layer bietet die folgenden Optionen:

    • Alle Features Alles auswählen: Die Ausdehnung aller Features im Layer.
    • Ausgewählte FeaturesArea from Selected Features: Die Ausdehnung der ausgewählten Features im Layer.
    • Sichtbare Features Extent Indicator: Die Ausdehnung der sichtbaren Features im Layer.
      Hinweis:

      Die Ausdehnungen der Optionen Ausgewählte Features Area from Selected Features und Sichtbare Features Extent Indicator sind nur für Feature-Layer verfügbar.

  • Durchsuchen:Durchsuchen Die Ausdehnung basiert auf einem vorhandenen Dataset.
  • Zwischenablage Einfügen: Die Ausdehnung kann in die Zwischenablage kopiert und aus der Zwischenablage eingefügt werden.
    • Ausdehnung kopieren Kopieren: Kopiert die Ausdehnungskoordinaten und das Ausdehnungskoordinatensystem in die Zwischenablage.
    • Ausdehnung einfügen Einfügen: Fügt die Ausdehnungskoordinaten und optional das Koordinatensystem aus der Zwischenablage ein. Wenn die Werte in der Zwischenablage kein Koordinatensystem beinhalten, wird für die Ausdehnung das Koordinatensystem der Karte verwendet.
    Hinweis:

    Beim Kopieren der Ausdehnungskoordinaten in die und Einfügen aus der Zwischenablage wird dieselbe Formatierung und Reihenfolge wie beim ArcPy-Objekt Extent verwendet: X-Min, Y-Min, X-Max, Y-Max und der Raumbezug.

  • Ausdehnung zurücksetzen: ZurücksetzenDie Ausdehnung wird auf den Standardwert zurückgesetzt.
  • Manuell eingegebene Koordinaten: Die Koordinaten müssen numerische Werte sein und im Koordinatensystem der aktiven Karte liegen.
    Vorsicht:

    Die Karte kann statt der eingegebenen Koordinaten auch andere Anzeigeeinheiten verwenden. Die Verwendung einer Kardinalrichtung (N, S, O, W) wird nicht unterstützt. Verwenden Sie für die Koordinaten in Richtung Süden und Westen Werte mit negativem Vorzeichen.

Extent

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabe-Layer

Der Ausgabe-Abfrage-Layer.

Table View

arcpy.management.MakeQueryLayer(input_database, out_layer_name, query, {oid_fields}, {shape_type}, {srid}, {spatial_reference}, {spatial_properties}, {m_values}, {z_values}, {extent})
NameErläuterungDatentyp
input_database

Die Datenbankverbindungsdatei, die die abzufragenden Daten enthält.

Workspace
out_layer_name

Der Ausgabename des Feature-Layers oder die Tabellensicht, der/die erstellt werden soll.

String
query

Die SQL-Anweisung, die die Select-Abfrage definiert, die von der Datenbank ausgegeben werden soll.

String
oid_fields
[oid_fields,...]
(optional)

Ein oder mehrere Felder aus der SELECT-Liste der SELECT-Anweisung, die verwendet werden können, um eine dynamische, eindeutige Zeilenkennung zu generieren.

String
shape_type
(optional)

Gibt den Shape-Typ des Abfrage-Layers an. Nur Datensätze aus dem Ergebnissatz der Abfrage, die dem angegebenen Shape-Typ entsprechen, werden im Ausgabe-Abfrage-Layer verwendet. Mit der Werkzeugvalidierung wird versucht, diese Eigenschaft auf Grundlage des ersten Datensatzes im Ergebnissatz festzulegen. Dies kann vor dem Ausführen des Werkzeugs geändert werden, wenn es nicht der richtige Ausgabe-Shape-Typ ist. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt.

  • POINTDer Ausgabe-Abfrage-Layer verwendet Punktgeometrie.
  • MULTIPOINTDer Ausgabe-Abfrage-Layer verwendet Multipoint-Geometrie.
  • POLYGONDer Ausgabe-Abfrage-Layer verwendet Polygongeometrie.
  • POLYLINEDer Ausgabe-Abfrage-Layer verwendet Polyliniengeometrie.
String
srid
(optional)

Der SRID (Spatial Reference Identifier)-Wert für Abfragen, von denen Geometrie zurückgegeben wird. Nur Datensätze aus dem Ergebnissatz der Abfrage, die dem angegebenen SRID-Wert entsprechen, werden im Ausgabe-Abfrage-Layer verwendet. Mit der Werkzeugvalidierung wird versucht, diese Eigenschaft auf Grundlage des ersten Datensatzes im Ergebnissatz festzulegen. Dies kann vor dem Ausführen des Werkzeugs geändert werden, wenn es nicht der richtige Ausgabe-SRID-Wert ist. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt.

String
spatial_reference
(optional)

Das Koordinatensystem, das vom Ausgabe-Abfrage-Layer verwendet wird. Mit der Werkzeugvalidierung wird versucht, diese Eigenschaft auf Grundlage des ersten Datensatzes im Ergebnissatz festzulegen. Dies kann vor dem Ausführen des Werkzeugs geändert werden, wenn es nicht das richtige Ausgabekoordinatensystem ist. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt.

Spatial Reference
spatial_properties
(optional)

Gibt an, wie die räumlichen Eigenschaften für den Layer definiert werden.

Während des Validierungsvorgangs werden 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 diese Eigenschaften manuell definiert und nicht vom Werkzeug aus der Tabelle abgerufen werden sollen, verwenden Sie den Standardwert für diesen Parameter.

  • DEFINE_SPATIAL_PROPERTIESDie räumlichen Eigenschaften des Layers werden manuell definiert. Dies ist die Standardeinstellung.
  • DO_NOT_DEFINE_SPATIAL_PROPERTIESDie Layer-Eigenschaften werden anhand der ersten in der Abfrage zurückgegebenen Zeile festgelegt.
Boolean
m_values
(optional)

Gibt an, ob der Layer M-Werte enthält.

  • INCLUDE_M_VALUESDer Layer enthält M-Werte.
  • DO_NOT_INCLUDE_M_VALUESDer Layer enthält keine M-Werte. Dies ist die Standardeinstellung.
Boolean
z_values
(optional)

Gibt an, ob der Layer Z-Werte enthält.

  • INCLUDE_Z_VALUESDer Layer enthält Z-Werte.
  • DO_NOT_INCLUDE_Z_VALUESDer Layer enthält keine Z-Werte. Dies ist die Standardeinstellung.
Boolean
extent
(optional)

Die Ausdehnung des Layers. Dieser Parameter wird nur verwendet, wenn der Parameter Räumliche Eigenschaften des Layers definieren aktiviert ist (spatial_properties = DEFINE_SPATIAL_PROPERTIES in Python). Die Ausdehnung muss alle Features in der Tabelle enthalten.

  • MAXOF: Die maximale Ausdehnung aller Eingaben wird verwendet.
  • MINOF: Die minimale gemeinsame Fläche aller Eingaben wird verwendet.
  • DISPLAY: Die Ausdehnung entspricht der sichtbaren Anzeige.
  • Layer-Name: Die Ausdehnung des angegebenen Layers wird verwendet.
  • Extent-Objekt: Die Ausdehnung des angegebenen Objekts wird verwendet.
  • Durch Leerzeichen getrennte Koordinatenzeichenfolge: Die Ausdehnung der angegebenen Zeichenfolge wird verwendet. Die Koordinaten werden in der Reihenfolge X-Min, Y-Min, X-Max, Y-Max ausgedrückt.
Extent

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_layer

Der Ausgabe-Abfrage-Layer.

Table View

Codebeispiel

MakeQueryLayer: Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion MakeQueryLayer im unmittelbaren Modus verwendet wird.

import arcpy

sr = arcpy.SpatialReference("WGS 1984 UTM Zone 12N")

arcpy.MakeQueryLayer_management("Connections/moab.sde",
                                "Slickrock",
                                "select * from moabtrails where name = 'slickrock'",
                                "OBJECTID",
                                "POLYLINE",
                                "32611",
                                sr)
MakeQueryLayer: Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie die Funktion MakeQueryLayer verwendet wird.

# Name: MakeQueryLayer.py
# Description: Creates an output query layer based on a where clause.
#   This example shows how to create a spatial reference object using the
#   name of a coordinate system. It also demonstrates how to use two fields
#   to generate a dynamic unique row identifier for the query layer.


# Import system modules
import arcpy

# Create the spatial reference for the output layer.
sr = arcpy.SpatialReference("WGS 1984 UTM Zone 12N")

# Run the tool
arcpy.MakeQueryLayer_management("Connections/moab.sde",
                                "Single Track",
                                "select * from moabtrails where type = 'single'",
                                "UID;name",
                                "POLYLINE",
                                "32611",
                                sr)

Verwandte Themen