Étiquette | Explication | Type de données |
Classe d’entités cible | Classe d’entités ou table spatiale d’une base de données d’entreprise. | Feature Class |
Champ de jointure cible | Champ de la classe d’entités cible sur lequel la jointure est basée. | Field |
Table associée | Table en entrée contenant les champs utilisés pour le calcul des statistiques. Les statistiques sont ajoutées à la valeur Couche en sortie. | Table; Feature Class |
Champ de jointure associé | Champ dans la table de synthèse qui contient les valeurs sur lesquelles la jointure est basée. Les statistiques d’agrégation ou de synthèse sont également calculées séparément pour chaque valeur attributaire unique de ce champ. | Field |
Couche en sortie | Nom en sortie de la couche de requête à créer | Feature Layer |
Champ(s) de récapitulation (Facultatif) | Spécifie le ou les champ(s) numérique(s) contenant les valeurs attributaires utilisées pour calculer les statistiques indiquées. Vous pouvez spécifier plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs statistiques. La couche en sortie comprend un champ ROW_COUNT affichant le décompte total (ou la fréquence) de chaque valeur unique pour la valeur Champ de jointure associé. La différence entre le champ ROW_COUNT et le type de statistique Total est que ROW_COUNT inclut les valeurs nulles tandis que Total exclut ces valeurs. Types de statistiques disponibles :
| Value Table |
Définitions des paramètres (Facultatif) | Spécifie un ou plusieurs paramètres de requête pour les critères ou les conditions. Les enregistrements correspondant à ces critères sont utilisés lors du calcul des résultats agrégés. Un paramètre de requête est similaire à une variable d’instruction SQL dont la valeur est définie au moment de l’exécution de la requête. Vous pouvez ainsi changer dynamiquement les filtres de requête de la couche en sortie. Vous pouvez imaginer un paramètre comme un prédicat ou une condition dans une clause where SQL. Par exemple, Country_Name = 'Nigeria' dans une clause where SQL est appelé prédicat, dans lequel = est un opérateur de comparaison, Country_Name un nom de champ à gauche et 'Nigeria' une valeur à droite. Lorsque vous définissez plusieurs paramètres, vous devez spécifier un opérateur logique entre eux (par exemple, AND, OR, etc.). En savoir plus sur la définition de paramètres dans une couche de requête Lorsque cette option n’est pas spécifiée, tous les enregistrements de la table associée sont utilisés dans le calcul des résultats agrégés ou récapitulatifs. Les deux types de définition de paramètre sont les suivants :
Les propriétés suivantes sont disponibles :
| Value Table |
Champ(s) d’identifiant unique (Facultatif) | Champs d’identifiant unique utilisés pour identifier de manière unique chaque ligne d’une table. | String |
Type de forme (Facultatif) | Spécifie le type de forme de la couche de requête. Seuls les enregistrements du jeu de résultats de la requête qui correspondent au type de forme spécifié sont utilisés dans la couche de requête en sortie. Par défaut, le type de forme du premier enregistrement dans le jeu de résultats est utilisé. Ce paramètre est ignoré si le jeu de résultats de la requête ne renvoie pas de champ de géométrie.
| String |
ID de référence spatiale (SRID) (Facultatif) | La valeur d’identifiant de référence spatiale (SRID) pour les requêtes retournant une géométrie. Seuls les enregistrements du jeu de résultats de la requête qui correspondent à la valeur SRID spécifiée sont utilisés dans la couche de requête en sortie. Par défaut, la valeur SRID du premier enregistrement dans le jeu de résultats est utilisée. Ce paramètre est ignoré si le jeu de résultats de la requête ne renvoie pas de champ de géométrie. | String |
Système de coordonnées (Facultatif) | Le système de coordonnées qui sera utilisé par la couche de requête en sortie. Par défaut, la référence spatiale du premier enregistrement dans le jeu de résultats est utilisée. Ce paramètre est ignoré si le jeu de résultats de la requête ne renvoie pas de champ de géométrie. | Spatial Reference |
Les coordonnées comportent des valeurs M (Facultatif) | Indique si la couche en sortie contient des mesures linéaires (valeurs m).
| Boolean |
Les coordonnées comportent des valeurs Z (Facultatif) | Indique si la couche en sortie contient des valeurs d’élévation (valeurs z).
| Boolean |
Étendue (Facultatif) | Définit l’étendue de la couche. L’étendue doit inclure toutes les entités de la table.
| Extent |
Synthèse
Créer une couche de requête synthétisant, agrégeant et filtrant les tables DBMS dynamiquement en fonction de requêtes temporelles, par plage et attributaires à partir d’une table associée, et placer le résultat dans une couche d’entités.
En savoir plus sur l’agrégation de valeurs dans des entités associées
Utilisation
Les couches de requête fonctionnent uniquement avec des bases de données d’entreprise. Les géodatabases fichier ne sont pas des espaces de travail en entrée valides pour cet outil.
Les résultats agrégés sont toujours calculés dynamiquement au niveau de la base de données.
La valeur Couche en sortie est constituée de champs contenant le résultat de l’opération statistique. La statistique Total est incluse dans le champ ROW_COUNT par défaut.
Les opérations statistiques disponibles avec cet outil sont les suivantes : total, somme, moyenne, minimum, maximum et écart type.
Un champ est créé pour chaque type de statistique selon la convention d’affectation de noms suivante : COUNT_<field>, SUM_<field>, AVG_<field>, MIN_<field>, MAX_<field> et STDDEV_<field> (où <field> est le nom du champ en entrée pour lequel la statistique est calculée).
La valeur Champ de jointure associé est utilisée dans la clause Regrouper par de l’instruction SQL générée par cet outil. Les statistiques sont calculées séparément pour chaque valeur attributaire unique à partir de la valeur Champ de jointure associé.
La couche qui est créée par l’outil est temporaire et n’est pas conservée une fois la session terminée, sauf si le projet est enregistré, si la couche est enregistrée dans un fichier de couche ou si les données sont conservées via la réalisation d’une copie à l’aide de l’outil Copier des enregistrements ou Copier des entités.
Paramètres
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})
Nom | Explication | Type de données |
target_feature_class | Classe d’entités ou table spatiale d’une base de données d’entreprise. | Feature Class |
target_join_field | Champ de la classe d’entités cible sur lequel la jointure est basée. | Field |
related_table | Table en entrée contenant les champs utilisés pour le calcul des statistiques. Les statistiques sont ajoutées à la valeur out_layer. | Table; Feature Class |
related_join_field | Champ dans la table de synthèse qui contient les valeurs sur lesquelles la jointure est basée. Les statistiques d’agrégation ou de synthèse sont également calculées séparément pour chaque valeur attributaire unique de ce champ. | Field |
out_layer | Nom en sortie de la couche de requête à créer | Feature Layer |
statistics [[statistic_type, field],...] (Facultatif) | Spécifie le ou les champ(s) numérique(s) contenant les valeurs attributaires utilisées pour calculer les statistiques indiquées. Vous pouvez spécifier plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs statistiques. La couche en sortie comprend un champ ROW_COUNT affichant le décompte total (ou la fréquence) de chaque valeur unique pour la valeur related_join_field. La différence entre le champ ROW_COUNT et le type de statistique COUNT est que ROW_COUNT inclut les valeurs nulles tandis que COUNT exclut ces valeurs.
| 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],...] (Facultatif) | Spécifie un ou plusieurs paramètres de requête pour les critères ou les conditions. Les enregistrements correspondant à ces critères sont utilisés lors du calcul des résultats agrégés. Un paramètre de requête est similaire à une variable d’instruction SQL dont la valeur est définie au moment de l’exécution de la requête. Vous pouvez ainsi changer dynamiquement les filtres de requête de la couche en sortie. Vous pouvez imaginer un paramètre comme un prédicat ou une condition dans une clause where SQL. Par exemple, Country_Name = 'Nigeria' dans une clause where SQL est appelé prédicat, dans lequel = est un opérateur de comparaison, Country_Name un nom de champ à gauche et 'Nigeria' une valeur à droite. Lorsque vous définissez plusieurs paramètres, vous devez spécifier un opérateur logique entre eux (par exemple, AND, OR, etc.). En savoir plus sur la définition de paramètres dans une couche de requête Lorsque cette option n’est pas spécifiée, tous les enregistrements de la table associée sont utilisés dans le calcul des résultats agrégés ou récapitulatifs. Les deux types de définition de paramètre sont les suivants :
Les propriétés suivantes sont disponibles :
| Value Table |
oid_fields [oid_fields,...] (Facultatif) | Champs d’identifiant unique utilisés pour identifier de manière unique chaque ligne d’une table. | String |
shape_type (Facultatif) | Spécifie le type de forme de la couche de requête. Seuls les enregistrements du jeu de résultats de la requête qui correspondent au type de forme spécifié sont utilisés dans la couche de requête en sortie. Par défaut, le type de forme du premier enregistrement dans le jeu de résultats est utilisé. Ce paramètre est ignoré si le jeu de résultats de la requête ne renvoie pas de champ de géométrie.
| String |
srid (Facultatif) | La valeur d’identifiant de référence spatiale (SRID) pour les requêtes retournant une géométrie. Seuls les enregistrements du jeu de résultats de la requête qui correspondent à la valeur SRID spécifiée sont utilisés dans la couche de requête en sortie. Par défaut, la valeur SRID du premier enregistrement dans le jeu de résultats est utilisée. Ce paramètre est ignoré si le jeu de résultats de la requête ne renvoie pas de champ de géométrie. | String |
spatial_reference (Facultatif) | Le système de coordonnées qui sera utilisé par la couche de requête en sortie. Par défaut, la référence spatiale du premier enregistrement dans le jeu de résultats est utilisée. Ce paramètre est ignoré si le jeu de résultats de la requête ne renvoie pas de champ de géométrie. | Spatial Reference |
m_values (Facultatif) | Indique si la couche en sortie contient des mesures linéaires (valeurs m).
| Boolean |
z_values (Facultatif) | Indique si la couche en sortie contient des valeurs d’élévation (valeurs z).
| Boolean |
extent (Facultatif) | Définit l’étendue de la couche. L’étendue doit inclure toutes les entités de la table.
| Extent |
Exemple de code
Le script ci-dessous pour la fenêtre Python indique comment calculer le nombre total de délits pour chaque district à partir d’une classe d’entités ponctuelles, et ajouter le résultat obtenu à une classe d’entités Districts de police.
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes")
Le script ci-dessous pour la fenêtre Python indique comment calculer le nombre total de délits pour chaque district et pour chaque type de délit à partir d’une classe d’entités ponctuelles, et ajouter le résultat obtenu à une classe d’entités Districts de police.
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")
Le script ci-dessous pour la fenêtre Python indique comment calculer les précipitations totales et moyennes à partir d’une table de série chronologique, et ajouter le résultat obtenu à une classe d’entités Stations météo.
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"]])
Le script ci-dessous pour la fenêtre Python indique comment calculer les précipitations totales et moyennes à partir d’une table de série chronologique pour n’importe quelle fenêtre temporelle, et ajouter le résultat obtenu à une classe d’entités Stations météo.
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")
Environnements
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?