Beschriftung | Erläuterung | Datentyp |
Ziel-Feature-Class | Die Feature-Class oder räumliche Tabelle aus einer Enterprise-Datenbank. | Feature Class |
Ziel-Join-Feld | Das Feld in der Ziel-Feature-Class, auf dem die Verbindung basieren soll. | Field |
Zugehörige Tabelle | Die Eingabetabelle mit den Feldern, die zur Berechnung der Statistiken verwendet werden. Statistiken werden mit dem Wert Ausgabe-Layer verbunden. | Table; Feature Class |
Zugehöriges Join-Feld | Ein Feld in der Summentabelle, das die Werte enthält, auf denen die Verbindung basiert. Aggregations- oder Summenstatistiken werden ebenfalls separat für jeden einzelnen Attributwert anhand dieses Feldes berechnet. | Field |
Ausgabe-Layer | Der Ausgabename des zu erstellenden Abfrage-Layers | Feature Layer |
Summenfeld(er) (optional) | Gibt das numerische Feld bzw. die numerischen Felder mit den Attributwerten an, mit denen die angegebene Statistik berechnet wird. Es können mehrere Statistik- und Feldkombinationen angegeben werden. NULL-Werte sind von allen statistischen Berechnungen ausgeschlossen. Der Ausgabe-Layer enthält das Feld ROW_COUNT mit der Gesamtzahl (oder Häufigkeit) jedes Einzelwertes aus dem Wert Zugehöriges Join-Feld. Der Unterschied zwischen dem Feld ROW_COUNT und dem Statistiktyp Anzahl besteht darin, dass ROW_COUNT NULL-Werte einschließt, während Anzahl NULL-Werte ausschließt. Die folgenden Statistiktypen stehen zur Verfügung:
| Value Table |
Parameterdefinitionen (optional) | Gibt einen oder mehrere Abfrageparameter für Kriterien oder Bedingungen an. Datensätze, die diesen Kriterien entsprechen, werden bei der Berechnung aggregierter Ergebnisse verwendet. Ein Abfrageparameter ähnelt der Variablen einer SQL-Anweisung, deren Wert beim Ausführen der Abfrage definiert wird. Dies ermöglicht es Ihnen, Abfragefilter für den Ausgabe-Layer dynamisch zu ändern. Sie können sich einen Parameter als ein Prädikat oder eine Bedingung in einer SQL-WHERE-Klausel vorstellen. Beispielsweise wird Country_Name = 'Nigeria' in einer SQL-WHERE-Klausel als Prädikat bezeichnet, in dem das Gleichzeichen (=) ein Vergleichsoperator, Country_Name ein Feldname auf der linken Seite und 'Nigeria' ein Wert auf der rechten Seite ist. Wenn Sie mehr als einen Parameter definieren, müssen Sie dazwischen einen logischen Operator angeben (UND, ODER usw.). Weitere Informationen zum Definieren von Parametern in einem Abfrage-Layer Sofern keine Angabe erfolgt, werden alle Datensätze aus der zugehörigen Tabelle bei der Berechnung von aggregierten oder Summenergebnissen verwendet. Es gibt die folgenden zwei Typen von Parameterdefinitionen:
Die folgenden Eigenschaften sind verfügbar:
| Value Table |
Eindeutige(s) Kennungsfeld(er) (optional) | Die eindeutigen Kennungsfelder, die zur Identifizierung der einzelnen Zeilen in der Tabelle verwendet werden. | 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. Standardmäßig wird der Shape-Typ des ersten Datensatzes im Ergebnissatz verwendet. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt.
| String |
Raumbezugs-ID (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. Standardmäßig wird der SRID-Wert des ersten Datensatzes im Ergebnissatz verwendet. 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. Standardmäßig wird der Raumbezug des ersten Datensatzes im Ergebnissatz verwendet. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt. | Spatial Reference |
Koordinaten weisen M-Werte auf (optional) | Legt fest, ob der Ausgabe-Layer lineare Messwerte (M-Werte) enthält.
| Boolean |
Koordinaten weisen Z-Werte auf (optional) | Legt fest, ob der Ausgabe-Layer Höhenwerte (Z-Werte) enthält.
| Boolean |
Ausdehnung (optional) | Gibt die Ausdehnung des Layers an. Die Ausdehnung muss alle Features in der Tabelle enthalten.
| Extent |
Zusammenfassung
Erstellt einen Abfrage-Layer, der DBMS-Tabellen basierend auf Zeit-, Bereichs- und Attributabfragen aus einer zugehörigen Tabelle dynamisch zusammenfasst, aggregiert und filtert und das Ergebnis mit einem Feature-Layer verbindet.
Weitere Informationen zum Aggregieren von Werten in zugehörige Features
Verwendung
Abfrage-Layer funktionieren nur mit Enterprise-Datenbanken. File-Geodatabases sind kein gültiger Eingabe-Workspace für dieses Werkzeug.
Aggregierte Ergebnisse werden immer dynamisch auf Datenbankebene berechnet.
Der Wert Ausgabe-Layer enthält Felder mit den Ergebnissen der statistischen Operation. Die Statistik nach Anzahl wird standardmäßig in das Feld ROW_COUNT aufgenommen.
Mit diesem Werkzeug stehen folgende statistische Operationen zur Verfügung: Anzahl, Summe, Durchschnitt, Minimum, Maximum und Standardabweichung.
Für jeden Statistiktyp wird ein Feld mit der folgenden Benennungsregel erstellt: COUNT_<field>, SUM_<field>, AVG_<field>, MIN_<field>, MAX_<field> und STDDEV_<field>, (wobei <field> der Name des Eingabefeldes ist, für das die Statistik berechnet wird).
Der Wert Zugehöriges Join-Feld wird in der Klausel "Gruppieren nach" in der von diesem Werkzeug generierten SQL-Anweisung verwendet. Statistiken werden für jeden einzelnen Attributwert separat anhand des Wertes Zugehöriges Join-Feld berechnet.
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, den Layer in einer Layer-Datei speichern oder mit Zeilen kopieren bzw. Features kopieren eine Kopie erstellen.
Parameter
arcpy.management.MakeAggregationQueryLayer(target_feature_class, target_join_field, related_table, related_join_field, out_layer, {statistics}, {parameter_definitions}, {oid_fields}, {shape_type}, {srid}, {spatial_reference}, {m_values}, {z_values}, {extent})
Name | Erläuterung | Datentyp |
target_feature_class | Die Feature-Class oder räumliche Tabelle aus einer Enterprise-Datenbank. | Feature Class |
target_join_field | Das Feld in der Ziel-Feature-Class, auf dem die Verbindung basieren soll. | Field |
related_table | Die Eingabetabelle mit den Feldern, die zur Berechnung der Statistiken verwendet werden. Statistiken werden mit dem Wert out_layer verbunden. | Table; Feature Class |
related_join_field | Ein Feld in der Summentabelle, das die Werte enthält, auf denen die Verbindung basiert. Aggregations- oder Summenstatistiken werden ebenfalls separat für jeden einzelnen Attributwert anhand dieses Feldes berechnet. | Field |
out_layer | Der Ausgabename des zu erstellenden Abfrage-Layers | Feature Layer |
statistics [[statistic_type, field],...] (optional) | Gibt das numerische Feld bzw. die numerischen Felder mit den Attributwerten an, mit denen die angegebene Statistik berechnet wird. Es können mehrere Statistik- und Feldkombinationen angegeben werden. NULL-Werte sind von allen statistischen Berechnungen ausgeschlossen. Der Ausgabe-Layer enthält das Feld ROW_COUNT mit der Gesamtzahl (oder Häufigkeit) jedes Einzelwertes aus dem Wert related_join_field. Der Unterschied zwischen dem Feld ROW_COUNT und dem Statistiktyp COUNT besteht darin, dass ROW_COUNT NULL-Werte einschließt, während COUNT NULL-Werte ausschließt.
| Value Table |
parameter_definitions [[parameter_def_type, name, alias, field_or_expression, data_type, start_value, end_value, operator, default_value, operator_for_next_parameter],...] (optional) | Gibt einen oder mehrere Abfrageparameter für Kriterien oder Bedingungen an. Datensätze, die diesen Kriterien entsprechen, werden bei der Berechnung aggregierter Ergebnisse verwendet. Ein Abfrageparameter ähnelt der Variablen einer SQL-Anweisung, deren Wert beim Ausführen der Abfrage definiert wird. Dies ermöglicht es Ihnen, Abfragefilter für den Ausgabe-Layer dynamisch zu ändern. Sie können sich einen Parameter als ein Prädikat oder eine Bedingung in einer SQL-WHERE-Klausel vorstellen. Beispielsweise wird Country_Name = 'Nigeria' in einer SQL-WHERE-Klausel als Prädikat bezeichnet, in dem das Gleichzeichen (=) ein Vergleichsoperator, Country_Name ein Feldname auf der linken Seite und 'Nigeria' ein Wert auf der rechten Seite ist. Wenn Sie mehr als einen Parameter definieren, müssen Sie dazwischen einen logischen Operator angeben (UND, ODER usw.). Weitere Informationen zum Definieren von Parametern in einem Abfrage-Layer Sofern keine Angabe erfolgt, werden alle Datensätze aus der zugehörigen Tabelle bei der Berechnung von aggregierten oder Summenergebnissen verwendet. Es gibt die folgenden zwei Typen von Parameterdefinitionen:
Die folgenden Eigenschaften sind verfügbar:
| Value Table |
oid_fields [oid_fields,...] (optional) | Die eindeutigen Kennungsfelder, die zur Identifizierung der einzelnen Zeilen in der Tabelle verwendet werden. | 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. Standardmäßig wird der Shape-Typ des ersten Datensatzes im Ergebnissatz verwendet. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt.
| 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. Standardmäßig wird der SRID-Wert des ersten Datensatzes im Ergebnissatz verwendet. 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. Standardmäßig wird der Raumbezug des ersten Datensatzes im Ergebnissatz verwendet. Dieser Parameter wird ignoriert, wenn der Ergebnissatz der Abfrage kein Geometriefeld zurückgibt. | Spatial Reference |
m_values (optional) | Legt fest, ob der Ausgabe-Layer lineare Messwerte (M-Werte) enthält.
| Boolean |
z_values (optional) | Legt fest, ob der Ausgabe-Layer Höhenwerte (Z-Werte) enthält.
| Boolean |
extent (optional) | Gibt die Ausdehnung des Layers an. Die Ausdehnung muss alle Features in der Tabelle enthalten.
| Extent |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie die gesamten Straftaten für jeden Bezirk aus einer Point-Feature-Class berechnet werden und das Ergebnis mit einer Police-District-Feature-Class verbunden wird.
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes")
Das folgende Skript im Python-Fenster veranschaulicht, wie die gesamten Straftaten für jeden Bezirk und für jeden Straftatentyp aus einer Point-Feature-Class berechnet werden und das Ergebnis mit einer Police-District-Feature-Class verbunden wird.
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes",
None,
"DISCRETE crime_type # Category STRING # # 'INCLUDE VALUES' 'VANDALISM, BURGLARY/THEFT' NONE")
Das folgende Skript im Python-Fenster veranschaulicht, wie der gesamte Niederschlag und der durchschnittliche Niederschlag aus einer Zeitserientabelle berechnet werden und das Ergebnis mit einer Water-Stations-Feature-Class verbunden wird.
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"weather_stations", "station_id", "observed_rainfall", "station_id",
"Total_Rainfall", [["SUM", "rainfall_inch"], ["MIN", "rainfall_inch"]])
Das folgende Skript im Python-Fenster veranschaulicht, wie der gesamte Niederschlag und der durchschnittliche Niederschlag aus einer Zeitserientabelle für ein beliebiges Zeitfenster berechnet werden und das Ergebnis mit einer Water-Stations-Feature-Class verbunden wird.
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"weather_stations", "station_id", "observed_rainfall", "station_id",
"Total_Rainfall", [["SUM", "rainfall_inch"], ["MIN", "rainfall_inch"]],
"RANGE TimeVar # collection_date DATE 1/1/2020 12/1/2020 NONE # NONE")