Skip to Content

Foire Aux Questions - Requête géographique sur les 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.

Auteurs : Marie

Ajoutez ou créez le fichier server_conf/mon_mapID/query.ini avec la ligne suivante :

noRowId = true 
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.