Skip To Content

Widget de requête

Le widget Requête permet d'extraire des informations des données source en exécutant une requête prédéfinie. Il peut s'agir de l'une des sources de données suivantes :

  • Une couche d'entités de la carte actuelle
  • Une couche d'entités ajoutée en tant qu'élément sur le portail
  • Une couche d'entités provenant d'un service REST d’ArcGIS Server
    Astuce:

    Une couche d'entités peut provenir d'un service de carte ou d'un service d'entités.

  • Couche d'imagerie issue d'un service d'imagerie
  • Table autonome

Le widget Query (Requête) sert de générateur de requête pendant la configuration. Il vous permet de définir la requête en spécifiant des données source et des filtres et en affichant les champs dans les résultats de la requête. Chaque requête concerne une couche. Toutefois, vous pouvez définir plusieurs requêtes pour une seule application, et les couches de données peuvent provenir de plusieurs sources.

Configurer le widget Requête

Ce widget peut être configuré pour s'ouvrir automatiquement au démarrage d’une application. Pour activer cette fonctionnalité, cliquez sur le bouton Open this widget automatically when the app starts (Ouvrir ce widget automatiquement au démarrage de l’application) Ouvrir ce widget automatiquement au démarrage de l’application pour le widget, lequel devient alors vert foncé.

Les étapes suivantes décrivent comment configurer une requête. Répétez la procédure si vous devez définir plusieurs requêtes.

  1. Survolez le widget avec le curseur et cliquez sur le bouton Configure this widget (Configurer ce widget) Configure this widget (Configurer ce widget) pour ouvrir la boîte de dialogue des propriétés de configuration.
  2. Vous pouvez cliquer sur Change widget icon (Modifier l’icône du widget) pour remplacer l’icône par défaut de ce widget.

    Une fenêtre d'exploration de fichiers s'ouvre, qui vous permet de rechercher le fichier d'image local à utiliser comme icône du widget.

  3. Cliquez sur + New query (Nouvelle requête).

    La fenêtre Set data source (Définir la source de données) apparaît. Par défaut, l’option Map (Carte) est sélectionnée et toutes les couches d’entités de la carte actuelle sont répertoriées en dessous.

    Autrement, vous pouvez sélectionner ArcGIS Online ou Service URL (URL de service). Outre les couches, vous pouvez interroger les tables associées.

  4. Attention :

    Web AppBuilder for ArcGIS, intégré dans ArcGIS Online, prend en charge l’authentification ArcGIS for Server qui permet d’ajouter des services sécurisés et d’y accéder. Pour les services sécurisés avec l'authentification au niveau du Web, les administrateurs doivent configurer des serveurs approuvés qui permettent à ArcGIS Online de transmettre automatiquement les informations d'identification. Lorsque des serveurs approuvés sont mis à jour, vous devez modifier l'application et enregistrer les informations actualisées. Pour plus d’informations, reportez-vous à la rubrique Services Web ArcGIS Server.

  5. Cliquez sur l'option en regard d'une source de données.
  6. Sélectionnez une couche dans la liste.
  7. Cliquez sur OK pour fermer la fenêtre Set data source (Définir la source de données) et retourner à la fenêtre de configuration des requêtes.

    Par défaut, l'onglet Infos est actif.

  8. Spécifiez le titre et l'icône correspondant à la tâche de requête.
  9. Cliquez sur l'onglet Filtres.
  10. Cliquez sur Set (Définir) Set (Définir) sous Query criteria (Critères de requête) pour définir une clause where pour la requête.
    1. Cliquez sur + Add expression (Ajouter une expression) pour afficher le générateur d'expression.

      L'expression de filtre peut être une opération basée sur une valeur ou une opération entre deux champs.

    2. Sélectionnez un champ de données, une expression de requête, puis renseignez la zone de texte.

      Lorsque vous exécutez une requête sur les attributs du champ de date, et spécifiez l’option the date (la date) pour la valeur, vous avez la possibilité de choisir l’heure en sélectionnant Show time (Afficher l’heure). Cette option vous permet de spécifier la précision temporelle du champ affiché dans l’application, si cet attribut et cette précision sont applicables.

      Remarque :

      Vous devez choisir une date avant de définir l’heure.

      Vous pouvez choisir de définir la précision temporelle à l’un des niveaux suivants : Hour (Heure), Minute ou Second (Seconde) . Par exemple, si vous prédéfinissez les valeurs Hour (Heure) et Minute sans renseigner la valeur Second (Seconde), les valeurs des secondes ne seront pas visibles dans la sélection au moment de l’exécution et vous n’aurez pas la possibilité de les saisir, même si la couche contient des attributs de second niveau. Si vous cochez la case Show Time (Afficher l’heure), sans toutefois renseigner les trois zones de texte Hour (Heure), Minute et Second (Seconde), l’option de temps spécifique ne sera pas visible au moment de l’exécution.

      Vous disposez des options suivantes pour Set Input Type (Définir le type d’entrée) à l’aide du bouton Set (Définir) Set (Définir) :

      • Valeur : ce filtre repose sur une valeur spécifique. Vous pouvez soit définir une valeur prédéfinie ou demander de façon interactive à l'utilisateur final d'indiquer une nouvelle valeur en activant l'option Demander des valeurs. Lorsque l'option Demander des valeurs est activée, fournissez des informations sur la valeur dans le champ Invite et une astuce dans le champ Astuce. Cela aidera l'utilisateur final à saisir ses valeurs de requête.
      • Champ : comparez la valeur d'un champ à celle d'un autre champ.
      • Unique : ce filtre est basé sur une liste de valeurs uniques pour le champ sélectionné dans la couche. Cette option est souvent utilisée en même temps que l'option Demander des valeurs afin que l'utilisateur final puisse sélectionner de manière interactive une valeur dans la liste, qui peut être un ensemble de toutes les valeurs uniques ou un ensemble de valeurs uniques dynamiques basé sur les expressions précédentes ou sur toutes les autres expressions quel que soit leur ordre. Lorsque l'option Demander des valeurs est activée, fournissez des informations sur la valeur dans le champ Invite et une astuce dans le champ Astuce, et indiquez comment les valeurs sont répertoriées.
      • Unique (predefined) (Unique (prédéfinie)) : prédéfinissez une liste statique de valeurs ; permet également d’afficher les valeurs de manière dynamique en fonction des expressions précédentes ou de toutes les autres expressions, quel que soit leur ordre.

        Attention :
        Les filtres selon une valeur unique nécessitent une couche de service de carte en version 10.1 ou ultérieure. L'option Unique n'apparaît pas si vous créez un filtre sur une couche de service en version 10.0 ou antérieure.

        Attention :
        Pour afficher la description des valeurs codées lorsque l'option Values filtered by previous expressions (Valeurs filtrées selon des expressions précédentes) ou Values filtered by all other expressions (Valeurs filtrées selon toutes les autres expressions) est sélectionnée, le service doit prendre en charge la capacité de requête par statistiques.

      • Multiple (Plusieurs) : filtrez sur plusieurs valeurs du champ et extrayez une liste dynamique de valeurs de la couche.
      • Multiple (predefined) (Plusieurs (prédéfinie)) : prédéfinissez une liste statique de valeurs.
        Remarque :

        Seuls les opérateurs is any of (est l’un(e) des) et is none of (n’est aucun(e) des) prennent en charge plusieurs valeurs.

      Remarque :

      Si vous avez créé une expression basée sur plusieurs valeurs ou sur une valeur unique, vous pouvez configurer une expression interactive en cochant la case Ask for values (Demander des valeurs). Vous ne pouvez pas demander des valeurs dans les expressions basées sur un seul champ.

    3. Utilisez + Add set (Ajouter un jeu) pour ajouter un jeu d’expressions, qui permet de définir et d’appliquer deux filtres à une même requête. Si All (Toutes), c’est-à-dire toutes les expressions, ou Any (Certaines), c’est-à-dire certaines expressions de cet ensemble sont vraies, les enregistrements qui correspondent à toutes les expressions ou ceux qui correspondent à certaines expressions de l’ensemble sont renvoyés dans les résultats.
    4. Cliquez sur OK pour fermer la boîte de dialogue.
  11. Sélectionnez éventuellement Display SQL expression for end users (Afficher l’expression SQL pour les utilisateurs) pour afficher l’expression SQL dans le widget.
  12. La section Filtres spatiaux vous permet de choisir les filtres spatiaux à la disposition des utilisateurs finaux. Sélectionnez un ou plusieurs filtres parmi les suivants et choisissez-en un par défaut en cliquant sur Make default (Définir par défaut) :
    • Renvoyer uniquement les entités dans l'étendue actuelle de la carte : permet de renvoyer les entités au sein de l'étendue actuelle de la carte.
    • Renvoyer uniquement les entités qui intersectent la forme dessinée sur la carte : cliquez sur les icônes pour sélectionner les outils de dessin disponibles dans le widget. Sélectionnez éventuellement Enable buffer option (Activer l’option de zone tampon) pour ajouter un paramètre de zone tampon pour les utilisateurs finaux.
    • Renvoyer uniquement les entités dotées d'une relation spatiale avec les entités d'une autre couche : cliquez sur DéfinirDéfinir pour sélectionner des règles de relations spatiales via l'option Définir les relations spatiales. Vous pouvez spécifier une étiquette conviviale pour chaque relation en double-cliquant sur le champ d’étiquette. Sélectionnez éventuellement Enable buffer option (Activer l’option de zone tampon) pour ajouter un paramètre de zone tampon pour les utilisateurs finaux. Les relations spatiales suivantes sont prises en charge :
      • Intersecter : une partie de l'entité de la couche 1 figure dans une entité de la couche 2.
      • Contenir : une partie ou la totalité d'une entité de la couche 1 contient entièrement l'entité de la couche 2.
      • Croiser : l'entité de la couche 1 croise une entité de la couche 2.
      • Intersection de l'enveloppe : l'enveloppe de la couche 1 intersecte l'enveloppe de la couche 2.
      • Intersection de l'index : l'enveloppe de la couche de requête intersecte l'entrée d'index de la couche cible.
      • Superposition : les entités de la couche 1 se superposent à celles de la couche 2.
      • Coïncider : l'entité de la couche 1 coïncide avec la bordure d'une entité de la couche 2.
      • Dans : l'entité de la couche 1 est complètement entourée par l'entité de la couche 2.
    • Renvoyer les entités dans l'étendue complète de la carte : permet de renvoyer les entités au sein de l'étendue complète de la carte.
    Remarque :
    Désélectionnez toutes les options si vous ne voulez pas appliquer de filtre spatial à la requête.
  13. Cliquez sur l'onglet Résultats pour configurer le contenu et le symbole affichés pour les résultats de la requête.
  14. Cochez éventuellement la case Use layer’s pop-up configuration in the web map (Utiliser la configuration des fenêtres contextuelles de la couche dans la carte Web) pour afficher le contenu défini par la configuration des fenêtres contextuelles de la couche dans la carte Web.
  15. Sélectionnez éventuellement Configure custom content (Configurer le contenu personnalisé) pour afficher le contenu personnalisé.
    1. Cliquez sur l’icône d’ajout à côté de la zone de texte Title of each result item (Titre de chaque élément de résultat).

      La liste des champs de la couche s'affiche. Vous pouvez sélectionner les champs un par un. Les valeurs du champ sélectionné s'affichent dans la zone de texte et servent de titre pour les résultats de la requête. Répétez cette étape pour ajouter des champs supplémentaires. Lorsque plusieurs champs sont ajoutés, la concaténation des valeurs de champ est utilisée comme titre du résultat.

    2. Cliquez sur l'icône en forme de crayon près de la zone de texte Ces attributs de champs s'afficheront pour ouvrir la boîte de dialogue Définir les champs d'affichage. Cochez les champs que vous voulez afficher dans les résultats. Pour les champs individuels, la colonne Special Type (Type spécial) permet d’afficher une image. Vous pouvez également cliquer sur les flèches vers le haut et vers le bas dans la colonne Actions pour modifier l'ordre d'affichage des champs.
  16. Cliquez sur l’icône en forme de crayon près de l’option Sort result items (Trier les éléments de résultat) pour configurer les champs en fonction desquels le résultat de la requête est trié.

    Les services doivent prendre en charge la pagination ou le tri dans le résultat de la requête.

  17. Sélectionnez éventuellement l’option Use symbols defined by the layer (Utiliser les symboles définis par la couche) pour utiliser le symbole par défaut de la couche.
  18. Vous pouvez également sélectionner l'option Utiliser un symbole personnalisé, puis cliquer sur l'icône de symbole pour définir un symbole personnalisé.

    Dans la fenêtre Aperçu qui s'affiche, choisissez la couleur et le style du symbole de mise en surbrillance obtenu.

  19. Cliquez n'importe où en dehors de la fenêtre d'aperçu des symboles pour la refermer.
  20. Vous pouvez également cocher la case Allow to change symbols at runtime (Permettre la modification de symboles au moment de l’exécution) pour changer de façon interactive les symboles des entités résultantes au moment de l’exécution.
  21. Cliquez sur l'onglet Options pour spécifier si oui ou non les résultats de la requête peuvent être exportés et comment la tâche de requête crée des couches.
  22. Répétez les étapes 3 à 20 pour ajouter des tâches de requête.
  23. Pour réorganiser les tâches de requête existantes, placez le pointeur de la souris sur la tâche et cliquez sur la flèche vers le haut ou vers le bas.
  24. Sélectionnez éventuellement Turn off query result layers when the widget is closed (Désactiver les couches de résultats de requête lorsque le widget est fermé) et personnalisez Tab labels (Étiquettes de l’onglet).
  25. Cliquez sur OK pour enregistrer et fermer la fenêtre Requête.

Utiliser le widget Requête

Voici comment utiliser le widget Requête :

  1. Cliquez sur le widget Requête pour l'ouvrir. Une liste de requêtes s'affiche dans l'onglet Tâches si vous avez configuré plusieurs requêtes.
    Liste de requêtes

    Si le widget ne comprend qu’une requête et qu’il n’exige pas la saisie d’informations par les utilisateurs, cliquez sur le widget pour exécuter la requête et afficher immédiatement les résultats.

    Si le widget ne comprend qu’une requête et qu’il exige la saisie d’informations par les utilisateurs, cliquez sur le widget pour afficher la requête avec les données saisies par l’utilisateur.

    Remarque :

    Parmi les informations saisies par les utilisateurs finaux, on compte des critères d'attributs, un ou plusieurs filtres spatiaux, ou une combinaison des deux.

  2. Cliquez sur une des requêtes. La requête peut s'exécuter différemment selon votre configuration.
    1. Si la requête n'exige la spécification d'aucune information, le résultat s'affiche dans l'onglet Résultats, et les entités résultantes apparaissent sur la carte avec le symbole spécifié lors de la configuration.
    2. Si l'option Demander des valeurs est activée dans la configuration, une zone de texte s'affiche pour vous inviter à saisir une nouvelle valeur de paramètre. La valeur par défaut s'affiche initialement dans la zone. Si des valeurs uniques sont définies, la zone de texte les répertorie toutes.

      Remarque :
      Lorsque vous exécutez une requête sur les attributs du champ de date, si le sélecteur temporel est configuré, vous pouvez choisir des valeurs temporelles prédéfinies à partir de la liste déroulante, ou les modifier en les saisissant dans le champ.

    3. Vous pouvez utiliser un ou plusieurs filtres spatiaux.
      • Renvoyer uniquement les entités dans l'étendue actuelle de la carte : permet de renvoyer les entités au sein de l'étendue actuelle de la carte.
      • Renvoyer uniquement les entités qui intersectent la forme dessinée sur la carte : vous pouvez utiliser un jeu d'outils de dessin pour dessiner des formes sur la carte afin de définir la zone. Vous pouvez également appliquer une distance de recherche aux formes.
        Dessiner sur la carte
      • Renvoyer uniquement les entités dotées d'une relation spatiale avec les entités d'une autre couche : les résultats sont basés sur la relation spatiale entre les entités de la couche de requête et celles de la couche associée. Vous pouvez également appliquer une distance de recherche aux géométries des entités de la couche associée.
        A une relation spatiale avec des entités d'une autre couche
      • Renvoyer les entités dans l'étendue complète de la carte : permet de renvoyer les entités au sein de l'étendue complète de la carte.
    4. Cliquez sur Apply (Appliquer) pour exécuter la requête.

      Les entités renvoyées par la requête apparaissent en surbrillance sur la carte avec le symbole que vous avez spécifié lors de la configuration. Si la couche possède des données associées, les enregistrements associés sont également inclus dans les résultats.

  3. Dans le panneau des résultats de requête :
    • Displayed features (Entités affichées) : indique le nombre de résultats affichés parmi tous les résultats renvoyés. Cliquez sur le bouton Load more (Charger plus) Load more (Charger plus) pour charger plus de résultats à afficher.
    • Cliquez sur Expand all (Tout développer) Expand all (Tout développer) ou Collapse all (Tout réduire) Collapse all (Tout réduire) pour développer ou réduire tous les détails des résultats affichés et sur Down arrow (Flèche bas) ou Up arrow (Flèche haut) pour afficher les résultats individuels.
    • Cliquez sur le bouton des points de suspension (...) pour effectuer des actions sur le jeu de résultats, comme suit :
      • Zoom
      • Déplacer sur
      • Flash
      • Statistiques
      • Afficher dans la table attributaire
      • Supprimer ce résultat
      • Modifier le symbole
    Astuce:

    Le nombre maximum d'entités qu'une requête peut renvoyer dépend de la propriété maxRecordCount définie dans le service. La valeur par défaut est 1 000. Par exemple, si vous utilisez la valeur par défaut et attendez qu'une requête renvoie 1 300 entités, vous verrez d'abord 1 000 entités dans le volet de résultat de la requête. En faisant défiler le volet, les 300 entités restantes apparaissent.

    Autrement, si vous exécutez une requête sur une table associée, toutes les entités associées sont mises en surbrillance sur la carte et répertoriées dans le volet Query (Requête).