Requêtes de sélection par attributs

Les requêtes de sélection par attributs permettent de sélectionner des éléments d’une couche de la carte en utilisant les valeurs de leurs attributs, ou en utilisant une base de données liée à la couche.

Dans JMap Admin, les administrateurs JMap créent les requêtes ainsi que les formulaires qui leurs sont associés. Les utilisateurs JMap utilisent ensuite ces formulaires pour saisir des valeurs d’attributs pour faire la recherche. Tous les éléments dont les valeurs d’attributs correspondent aux valeurs saisies sont alors sélectionnés et présentés dans l’explorateur d’éléments.

L'onglet Requêtes de l'interface de configuration d'un projet vous permet de configurer les requêtes du projet.

L'onglet Requêtes s'affiche lorsque le projet contient au moins une couche.

Cet onglet présente un tableau qui affiche les groupes de requêtes. Le groupe Défaut est le groupe par défaut. Le tableau indique le nombre de requêtes que contient chaque groupe. La section Organisation des requêtes offre les détails sur les groupes.

Créer une requête par attributs

Pour créer une nouvelle requête vous devez vous positionner dans un groupe de l'onglet Requêtes. Le bouton Créer une requête s'affiche et vous pouvez donc ouvrir l’interface de configuration de requêtes.

Les paramètres varient selon le type de requête sélectionné.

Requêtes sur la couche

Requêtes externes

Ce type de requête est utilisé lorsque la recherche doit se faire dans des données contenues dans une base de données externe. La base de données externe doit contenir un champ permettant de faire le lien avec un attribut de la couche. Une requête SQL de type SELECT est d’abord exécutée dans la base de données externe et les valeurs retournées sont ensuite associées aux éléments de la couche en utilisant le champ de liaison.

Paramètres requis et optionnels

Bien que ce soit dans la conception du formulaire de recherche que les champs sont marqués requis ou optionnels, la clause WHERE de la requête doit être ajustée afin de supporter cette option. Pour ce faire, toute partie de la requête qui est associée à des paramètres optionnels doit être incluse à l’intérieur d’une paire d’accolades ( { } ).

Exemple de clause WHERE :

CITY = '$param1' AND { COUNTRY = '$param2' }

Cet exemple fait la recherche des villes qui ont la valeur de leur attribut CITY égale à la valeur du paramètre 1 ($param1) saisie par l’utilisateur et qui, optionnellement, ont la valeur de leur attribut COUNTRY égale à la valeur du paramètre 2 ($param2) saisie par l’utilisateur. Si le paramètre 2 est non-renseigné, tout le bloc { COUNTRY = '$param2' } est enlevé de la requête ainsi que l’opérateur devenu orphelin. Notez que l’administrateur doit absolument définir $param2 comme optionnel lors de la conception du formulaire. Consultez la section Formulaires pour plus d’information sur la conception des formulaires.

Valeurs multiples pour un même paramètre

Des valeurs multiples peuvent être saisis avec un champ de type Liste (choix multiples) dans les formulaires. Les valeurs sont séparées par le caractère délimiteur ; (point-virgule). Cette option peut être activée dans la clause WHERE de la requête. La syntaxe est la suivante :

$multiple{true} {\$delimiter{;}}

Exemple :

CITY = '$param1{$multiple{true} $delimiter{;}}'

Recherche les villes qui ont la valeur de leur attribut CITY égale à une des valeurs saisies dans le paramètre 1. Les valeurs sont séparées par des point-virgule.

Gestion des requêtes par attributs

Les requêtes par attributs peuvent être modifiées par les administrateurs. Lorsque les requêtes d’un projet sont modifiées, les applications qui diffusent le projet ne nécessitent pas d’être redéployées car les changements se reflètent de manière directe.

Organisation des requêtes

Les requêtes peuvent être groupées. Ceci est particulièrement utile pour les projets qui comportent un nombre élevé de requêtes.

Pour créer un nouveau groupe, dans l'onglet Requêtes appuyez sur Créer un groupe.

Pour supprimer un groupe, sélectionnez-le dans la liste et appuyez sur Supprimer.

Suppression des requêtes

La suppression d’une requête par attributs supprime définitivement la requête et le formulaire qui lui est associé. Pour supprimer une requête, sélectionnez-la dans la liste et appuyez sur Supprimer.

Publication des requêtes

Une fois une requête créée, elle est publiée automatiquement. Vous pouvez cependant annuler cette publication pour rendre la requête non disponible dans les applications tout en conservant sa configuration. Pour annuler la publication d’une requête, décochez la case Publiée de la requête dans l’interface de gestion des requêtes.

Requêtes sur des couches par référence

Lorsque un projet contient des couches par référence, les requêtes configurées sur ces couches dans le projet qui contient les couches originales sont disponibles automatiquement dans le projet. Le projet “hérite” de ces requêtes.

Vous ne pouvez pas modifier ces requêtes “par référence” à partir du projet, elles peuvent être modifiées seulement dans le projet qui contient la couche originale.

Si vous souhaitez modifier une requête “par référence”, créez une copie de la requête en appuyant sur Dupliquer. L’interface de configuration affiche les paramètres de la requête que vous pouvez modifier.

Une fois la nouvelle requête configurée, vous devez décocher la case Publiée de la requête “héritée” de la couche par référence pour qu’elle ne soit plus disponible dans les applications JMap qui utilisent la couche par référence.

Vous pouvez aussi créer une nouvelle requête sur une couche par référence, tel que décrit dans la section Créer une requête par attributs.

Dernière mise à jour

K2 Geospatial 2024