banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

State Of The Map 2024

#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


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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

 

Pied de page des forums

Powered by FluxBB