Utilisez la nouvelle boîte de dialogue New Query Layer (Nouvelle couche de requête) pour composer une requête SQL afin de définir une couche de requête dans la carte.
Voici un récapitulatif de la procédure de création d’une couche de requête via la boîte de dialogue New Query Layer (Nouvelle couche de requête) :
- Etablir une connexion à la base de données.
La première étape de création d'une couche de requête dans ArcGIS consiste à établir une connexion à la base de données que vous souhaitez interroger. Vous pouvez créer une connexion à une base de données dans l’arborescence du Catalogue, comme expliqué dans la rubrique Connexions aux bases de données dans ArcMap, ou créer la connexion à partir de la boîte de dialogue New Query Layer (Nouvelle couche de requête).
- Sélectionnez une table.
Une fois que la connexion avec la base de données est établie, la boîte de dialogue New Query Layer (Nouvelle couche de requête) affiche la liste des tables et vues trouvées dans cette base de données. Lorsque vous sélectionnez l’une des tables, ses colonnes s’affichent.
Chaque colonne d'une base de données comporte un type de données spécifique. ArcGIS fonctionne avec la plupart des types de base de données courants. Cependant, certains types de base de données peu courants ne sont pas pris en charge. Si le type de colonne attributaire est inconnu, cela indique qu'ArcGIS ne prend pas en charge ce type de données. Lorsque vous spécifiez une requête, toutes les colonnes comportant un type de données inconnu doivent être exclues ou remplacées dans la requête par un type de données pris en charge par ArcGIS.
Pour plus d’informations, reportez-vous à la rubrique Types de données SGBD pris en charge dans ArcGIS.
- Définissez une requête SQL.
Spécifiez une requête SQL dans la zone de texte Requête.
Lorsque vous créez une requête, vous pouvez insérer une table complète dans la zone de texte Requête en double-cliquant sur la table ou en la faisant glisser de la fenêtre Liste des tables vers la zone de texte Requête. Vous pouvez également ajouter certaines colonnes d'une table à la requête en double-cliquant sur ces colonnes ou en les faisant glisser de la fenêtre Colonnes vers la zone de texte Requête. Vous pouvez aussi saisir des requêtes spécifiques ou couper et coller une requête d'une application externe vers la zone de texte Requête.
Lorsque vous créez une couche de requête, vous devez utiliser la syntaxe SQL spécifique à la base de données. SELECT * FROM Test.myuser.US_States est un exemple courant de cette syntaxe. Cette instruction générerait une couche de requête contenant tous les enregistrements de la table US_States. Sur la carte, cela afficherait l’ensemble des États-Unis.
Pour plus d'informations sur la création de requêtes SQL, consultez la rubrique Création d'une expression de requête.
- Validez l’instruction SQL.
Après avoir créé une requête, vous devez la valider. Au cours de la validation, ArcGIS tente de déterminer les propriétés de la couche de requête en fonction de la première ligne renvoyée dans la table.
Au cours de la validation, ArcGIS tente de déterminer les propriétés de la couche de requête en fonction de la première ligne renvoyée dans la table.
Les propriétés d'une couche de requête permettent de filtrer les lignes renvoyées à ArcGIS par la base de données. Par exemple, si les entités d’une classe d’entités comportent plusieurs SRID, la propriété SRID définie sur la couche de requête est utilisée pour empêcher les lignes de la table de base de données qui ne correspondent pas à ce SRID de s’afficher sur la carte.
- Spécifiez un identifiant unique ou utilisez l’identifiant trouvé par ArcGIS lors de la validation.
L’identifiant unique est l’un des nombreux champs utilisés par ArcGIS pour identifier chaque ligne de la table.
- Pour les classes d’entités ou les vues contenant une colonne spatiale, vous pouvez définir les valeurs suivantes ou utiliser les valeurs par défaut détectées par ArcGIS lors de la validation :
- Dimensionnalité : détermine si les coordonnées d'une couche incluront des valeurs m pour stocker des données d'itinéraire et des valeurs z pour stocker des données 3D.
- Type de géométrie : détermine si la couche stocke des entités ponctuelles, multi-points, linéaires ou surfaciques.
- Référence spatiale : il s'agit du système de coordonnées et d'autres propriétés spatiales associées à la couche.
Il peut arriver qu’ArcGIS ne soit pas en mesure de déterminer avec précision la référence spatiale en fonction de la valeur SRID actuelle définie sur les entités dans la base de données. Lorsque cela se produit, la couche de requête a une référence spatiale inconnue et vous devez en définir une manuellement. Il est important de noter que la définition d’une référence spatiale pour la couche de requête ne reprojette pas les données, mais qu’elle définit simplement la référence spatiale qui doit être utilisée lors de l’appariement des résultats de la requête dans ArcGIS.
- SRID : identifiant de référence spatiale de la couche utilisé pour s’assurer que seules les géométries dotées du même identifiant de référence spatiale sont renvoyées par la requête. La valeur SRID est vierge si la couche de requête ne possède pas de champ spatial. Si cette valeur est définie, toutes les entités dépourvues de la valeur SRID de géométrie spécifiée sont exclues du jeu de résultats.
Pour créer une couche de requête dans la carte, procédez comme suit :
- Dans la boîte de dialogue Nouvelle couche de requête, donnez un nom à la couche de requête que vous créez dans la zone de texte Nom. Ce nom apparaîtra dans la table des matières ArcMap.
- Cliquez sur Connections (Connexions) pour vous connecter à la base de données qui contient la table à interroger.
La boîte de dialogue Manage Connection(s) (Gérer les connexions) s’affiche. Vous pouvez choisir des connexions aux bases de données existantes, créer des connexions, et mettre à jour ou supprimer des connexions existantes.
- Sélectionnez une connexion existante ou créez une connexion à une base de données.
- Pour créer une connexion à une base de données, cliquez sur New (Nouveau). La boîte de dialogue Database Connection (Connexion à une base de données) apparaît. Indiquez les informations de connexion, comme décrit dans la rubrique Connexions aux bases de données dans ArcMap. Lorsque la nouvelle version est ajoutée à la liste Connexions existantes, saisissez un nom descriptif pour la connexion, puis cliquez sur OK.
- Pour utiliser une connexion existante, sélectionnez-la dans la liste Connexions existantes, puis cliquez sur OK.
- Entrez une requête SQL dans la zone de texte Query (Requête).
- Cliquez sur Valider pour vous assurer que la syntaxe de la requête est correcte et que celle-ci renvoie des données exploitables par ArcGIS. Le processus de validation exécute la requête dans la base de données et vérifie si le jeu de résultats de la requête satisfait les normes de modélisation de données appliquées par ArcGIS. La couche de requête n’est pas ajoutée à la carte tant que la définition de la couche n’est pas validée.
Les règles de validation sont les suivantes :
- Le jeu de résultats doit comporter un champ spatial au maximum.
- Le jeu de résultats doit comporter une référence spatiale au maximum.
- Le jeu de résultats doit comporter un seul type de forme.
- Le jeu de résultats ne doit comporter aucun type de champ non pris en charge par ArcGIS.
Si la validation échoue pour quelque raison que ce soit, un message d’erreur est renvoyé pour que vous puissiez modifier la requête SQL.
La validation est particulièrement importante si vous utilisez des données de bases de données spatiales n'appliquant pas les mêmes normes qu'ArcGIS.
Au cours de la validation, ArcGIS définit les propriétés de dimensionalité, de type de géométrie, de référence spatiale, de SRID et d'identifiant unique sur la couche de requête. Ces valeurs sont basées sur le premier enregistrement renvoyé dans la requête. Si vous devez modifier ces paramètres, cochez la case Show Advanced Properties (Afficher les options avancées) pour afficher la boîte de dialogue Advanced Options (Options avancées) et définir les éléments suivants :
- Sélectionnez un ou plusieurs champs contenant des valeurs qui identifient de manière unique chaque ligne de la couche. Pour plus d’informations, reportez-vous à la rubrique Champs d’identifiant unique.
- Sélectionnez le type de géométrie dans le menu déroulant. Seules les entités du type de géométrie que vous choisissez apparaissent dans le jeu de résultats de la requête.
- Cliquez sur Select (Sélectionner) pour choisir le système de coordonnées à utiliser pour la référence spatiale ou importez la référence spatiale à partir d’un jeu de données existant en cliquant sur Import (Importer).
- Si votre requête a été validée avec succès et que vous avez défini les options avancées dont vous avez besoin, cliquez sur Finish (Terminer) pour ajouter le jeu de résultats à la carte sous forme de couche de requête.
Pour plus d’informations sur la modification des propriétés de la couche de requête, reportez-vous à la rubrique Modifier une couche de requête.