#1 Wed 25 June 2008 17:41
- Bertrand DORNER
- Participant actif
- Lieu: COLMAR
- Date d'inscription: 5 Sep 2005
- Messages: 90
Affichage sélectif de champs dans Mapserver
Bonsoir,
En mettant à jour notre intranet cartographique local, j'ai été confronté à une réaction bizarre pour deux couches au format Mapinfo différentes.
Pour une couche de triages fournie par un partenaire, pas de problèmes, j'arrive à n'afficher que certains des champs de la couche.
Champs d'origine et ordre ; IIDTSTARCO, AG, POSTE, LIB_POSTE, UT, LIB_UT
Champs dans l'affichage Mapserver et ordre ; LIB_POSTE LIB_UT AG ; champ clé POSTE ; ce qui est indiqué dans le mapfile est respecté dans l'affichage.
Pour une couche de défrichements, par contre, impossible de faire respecter le non affichage de deux champs contenant des informations nominatives.
Champs d'origine et ordre ; ID_AUTO, ID_REGISTRE, ID_SYLVA, NOM_COMMUNE, TYPE_ZONE, TYPE_PROPRIETAIRE, NOM_PROPRIETAIRE, NOM_DEMANDEUR_AUTORISATION, AUTORISATION, DATE_ARRETE_AUTORISATION, DATE_EXPIRATION_AUTORISATION, DATE_PV, DESTINATION, SURF_ARRETE_AUTORISATION_HA, SURF_SIG_HA, BOISEMENT_COMPENSATEUR, SURF_BOISEMENT_COMPENSATEUR_HA, RECOURS_TA
Champs tels que présentés dans le mapfile en vue d'affichage ; TYPE_PROPRIETAIRE DESTINATION TYPE_ZONE NOM_COMMUNE AUTORISATION DATE_ARRETE_AUTORISATION DATE_EXPIRATION_AUTORISATION DATE_PV SURF_ARRETE_AUTORISATION_HA BOISEMENT_COMPENSATEUR SURF_BOISEMENT_COMPENSATEUR_HA RECOURS_TA ; champ clé ID_AUTO
La page d'affichage de la sélection de quelques défrichements recensés fait apparaître l'ordre des champs tel qu'il est sous MapInfo, et non tel que je l'aurais voulu.
Les extraits de code de mapfile sont
LAYER
NAME "L_DEFRICHEMENT_068"
CONNECTIONTYPE OGR
CONNECTION "foret\L_DEFRICHEMENT_068.tab"
TYPE Polygon
TRANSPARENCY 100
TEMPLATE "ttt"
STATUS ON
PROJECTION
"init=epsg:27582"
END
METADATA
"id_attribute_string" "ID_AUTO"
"returned_query_attributes" "TYPE_PROPRIETAIRE DESTINATION TYPE_ZONE NOM_COMMUNE AUTORISATION DATE_ARRETE_AUTORISATION DATE_EXPIRATION_AUTORISATION DATE_PV SURF_ARRETE_AUTORISATION_HA BOISEMENT_COMPENSATEUR SURF_BOISEMENT_COMPENSATEUR_HA RECOURS_TA"
END
CLASS
NAME "L_DEFRICHEMENT_068"
STYLE
SYMBOL "hachuresD"
SIZE 6
COLOR 160 80 0
OUTLINECOLOR 160 80 0
END
END
END
et, pour les triages
LAYER
NAME "N_TRIAGE_ONF_068"
CONNECTIONTYPE OGR
CONNECTION "foret\N_TRIAGE_ONF_068.TAB"
TYPE Polygon
MINSCALE 9900
TRANSPARENCY 100
TEMPLATE "ttt"
STATUS ON
PROJECTION
"init=epsg:27582"
END
METADATA
"id_attribute_string" "POSTE"
"query_returned_attributes" "LIB_POSTE LIB_UT AG"
END
CLASS
NAME "N_TRIAGE_ONF_068"
STYLE
OUTLINECOLOR 255 112 255
SIZE 1
END
END
END
A un moment, j'ai pensé que l'absence de champ identifiant renseigné par une valeur unique avait joué un rôle, d'où la création de ce champ ID_AUTO. Mais ce n'est pas le cas. Pour l'heure, à moins que je ne sois tombé sur des erreurs de code non détectées, je ne comprends pas pourquoi ces deux couches sont traitées différemment.
Merci d'avance pour les éventuelles pistes.
Bertrand
Hors ligne
#2 Wed 25 June 2008 18:16
- Bertrand DORNER
- Participant actif
- Lieu: COLMAR
- Date d'inscription: 5 Sep 2005
- Messages: 90
Re: Affichage sélectif de champs dans Mapserver
Rebonsoir,
Evidemment, c'est APRES avoir fait ma demande d'aide que je découvre où est l'erreur !
Elle se situe au niveau de la couche des défrichements, la syntaxe pour la couche des triages étant correcte.
Dans la foulée, autant que je vous signale une autre découverte (qui me semble liée à la version de mapserver utilisée, je n'avais pas observé cela sur la version précédente de notre intranet carto) : si on veut ne pas afficher de données attributaires, il faut que soient absentes
- la ligne TEMPLATE "ttt" ET
- les lignes associées aux métadonnées ;
Bertrand
Hors ligne