Résumé
Crée une couche de requête à partir d'une table SGBD selon une instruction SQL Select en entrée.
Utilisation
Les couches de requête fonctionneront uniquement avec des bases de données d'entreprise. Les géodatabases fichier ou géodatabase personnels ne sont pas des espaces de travail en entrée valides pour cet outil.
Si le résultat de la requête SQL saisie renvoie une colonne spatiale, la sortie est une couche d'entités. Si la requête SQL ne renvoie pas de colonne spatiale, la sortie est une table autonome.
Les fichiers de connexion nécessaires à cet outil peuvent être créés à l'aide de l'outil Créer une connexion à une base de données.
- Si le résultat de la requête SQL ne renvoie pas d'enregistrements, la couche de requête en sortie est vide, contenant uniquement la structure des colonnes renvoyées par la requête. Dans ce cas, si les colonnes renvoyées contiennent une colonne spatiale, l'outil utilise les valeurs par défaut suivantes pour créer la couche de requête :
- Type de Géométrie : POINT
- SRID : 1
- Référence spatiale : NAD1983
Il appartient ensuite à l'utilisateur de modifier chacune de ces valeurs souhaitées avant d'exécuter l'outil.
En ce qui concerne les données géographiques, chaque enregistrement dans le résultat renvoyé par l'instruction SQL doit avoir un SRID (identifiant de référence spatiale) associé. La valeur SRID utilisée par la base de données pour déterminer la référence spatiale pour les données. Les différences fonctionnelles spécifiques pour le SRID varient selon la plate-forme de SGBD. Certaines plates-formes de SGBD prennent en charge plusieurs valeurs SRID dans la même table ; ArcGIS prend en charge une seule valeur. Cet outil permet de choisir la valeur SRID ou prend par défaut le SRID du premier enregistrement du jeu de résultats.
Syntaxe
MakeQueryLayer_management (input_database, out_layer_name, query, {oid_fields}, {shape_type}, {srid}, {spatial_reference})
Paramètre | Explication | Type de données |
input_database | Fichier de connexion à une base de données qui contient les données à interroger. | Workspace |
out_layer_name | Nom en sortie de la couche d'entités ou vue tabulaire à créer. | String |
query | Instruction SQL qui définit la requête Select à publier dans la base de données. | String |
oid_fields [oid_fields,...] (Facultatif) | Un ou plusieurs champs de la liste d'instructions SELECT pouvant être utilisés pour générer un identifiant d'enregistrement dynamique, unique. | String |
shape_type (Facultatif) | 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. La validation de l'outil tente de définir cette propriété selon le premier enregistrement dans le jeu de résultats. Il est possible de modifier ce comportement avant d'exécuter l'outil si ce n'est pas le type de forme en sortie souhaité. 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) | Définit la valeur SRID (identifiant de référence spatiale) pour les requêtes qui renvoient la 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. La validation de l'outil tente de définir cette propriété selon le premier enregistrement dans le jeu de résultats. Il est possible de modifier ce comportement avant d'exécuter l'outil si ce n'est pas la valeur SRID en sortie souhaité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) | Définit le système de coordonnées qui sera utilisé par la couche de requête en sortie. La validation de l'outil tente de définir cette propriété selon le premier enregistrement dans le jeu de résultats. Il est possible de modifier ce comportement avant d'exécuter l'outil si ce n'est pas le système de coordonnées en sortie souhaité. 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 |
Exemple de code
Exemple 1 d'utilisation de l'outil Générer une couche de requête (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil Générer une couche de requête en mode immédiat.
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)
Exemple 2 d'utilisation de l'outil Générer une couche de requête (script autonome)
Le script autonome ci-dessous illustre l'utilisation de l'outil Générer une couche de requête.
# 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)
Environnements
Cet outil n'utilise aucun environnement de géotraitement
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui