Accueil » FAQs » CartoWeb 3 » Quelques fonctionnalités clé détaillées » Requête géographique sur les données

16-10-2008 03:48:11

Ouvrir toutes les questions / Fermer toutes les questions

Requête géographique sur les données

Comment afficher la table attributaire d'une couche de données ?
Auteur : yjacolin
Pour l'affichage des données attributaires il faut simplement créer des fichiers query.ini côté client et côté serveur. Vous pouvez partir des fichiers qui se trouvent dans les exemples, cela est plus simple.
  • Configuration côté client
 persistentQueries=false
displayExtendedSelection = false
 ;queryLayers = liste,de,couche ; si absente toute les couches sont utilisées

returnAttributesActive = false
defaultPolicy = POLICY_XOR ; Autres choix : POLICY_UNION, POLICY_INTERSECTION ou POLICY_REPLACE
defaultMaskmode = false
defaultHilight = true
defaultAttributes = true
defaultTable = true
weightQuery = 40
  • Configuration côté serveur
 drawQueryUsingHilight=false
noRowId=false

Vous pouvez configurer le module mapquery également, comme cela :

 maxResults=100
ignoreQueryThreshold=1000

Une chose à ne pas oublier pour que les couches soient interrogeables, c'est à dire retournent des résultats lors d'une requête, c'est de rajouter le paramètre TEMPLATE avec une valeur fictive, par exemple :

 TEMPLATE "ttt"

Vous pouvez également définir des méta-données dans la définition de la couche dans le mapfile :

 METADATA
"id_attribute_string" "FID|string"
"query_returned_attributes" "FID FNAME"
END

Vous pouvez gérer la manière dont les objets géométriques vont apparaitre sur la carte à l'aide du plugin hilight (vous devrez charger ce plugin et définir éventuellement des couches spécifiques dans le mapfile). Vous trouverez plus d'information à ce sujet dans la documentation.


Pas assez clair ? Aller plus loin ? Posez une question en lien avec ce problème ici.

Comment masquer la colonne d'identifiant de la table de résultats après interrogation des données
Auteurs : Marie
Ajoutez ou créez le fichier server_conf/mon_mapID/query.ini avec la ligne suivante :
noRowId = true 
Comment personnaliser les noms des champs dans la table de résultats ?
Auteur : Marie
Il faut utiliser le système de traduction de cartoweb (l'internationalisation) : Dans le fichier serveur.mon_map_id.fr.po (situé dans le dossier projects/mon_projet/po/), rajouter :

 # mon_map_id.map ou autre commentaire jugé utile !
msgid "NOM_DU_CHAMP"
msgstr "Nom du champ personnalisé"

Attention cependant aux problèmes de noms de champ non déterministes : s'il y a deux tables avec dans chacune un champ nommé "SURFACE" et que dans l'une on veuille le traduire par "Surface en ha" et dans l'autre "Surface en m²", on ne pourra pas le faire. Il faudra alors changer les noms des champs dans les tables : "SURAFCE_HA" et "SURFACE_M2" par exemple.


En ce qui concerne la colonne d'identifiants définis dans le mapfile par ces lignes :

 METADATA
"id_attribute_string" "champ_id"
END

Il est possible de les masquer pour toutes les couches en ajoutant cette ligne dans le fichier query.ini côté serveur () :

 noRowId = true 

Pas assez clair ? Aller plus loin ? Posez une question en lien avec ce problème ici.