Abfrage-Layer erstellen (Datenmanagement)

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 nicht von ArcGIS 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 gewünschte 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 gewünschte 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 gewünschte 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 der Parameter Räumliche Eigenschaften für den Layer definieren 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 Räumliche Eigenschaften für den Layer definieren aktiviert ist (spatial_properties = DEFINE_SPATIAL_PROPERTIES in Python). Die Ausdehnung muss alle Features in der Tabelle enthalten.

  • Default: Die Ausdehnung basiert auf der maximalen Ausdehnung aller beteiligten Layer. Dies ist die Standardeinstellung.
  • Aktuelle Anzeigeausdehnung: Die Ausdehnung entspricht dem Datenrahmen oder der sichtbaren Anzeige. Die Option ist nicht verfügbar, wenn keine aktive Karte vorhanden ist.
  • Wie unten angegeben: Die Ausdehnung basiert auf den angegebenen Minimal- und Maximalwerten der Ausdehnung.
  • Durchsuchen: Die Ausdehnung basiert auf einem vorhandenen Dataset.
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 gewünschte 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 gewünschte 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 gewünschte 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 Räumliche Eigenschaften für den Layer 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 kleinste 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 im Python-Fenster veranschaulicht, wie das Werkzeug 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)

Im folgenden eigenständigen Skript wird veranschaulicht, wie das Werkzeug 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)