Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Tue 28 April 2009 17:09

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

3 petites question pour un map file [cartoweb]

Bonjour,

Je débute depuis quelque jours sur cartoweb pour mettre des données en ligne. J'ai pris le soin de faire les divers tuto (celui de MapServeur avec Ms4w, et celui de Cartoweb) pour me former (pas assez de créneaux horaires en cours).

J'arrive à afficher plusieurs couche via cartoweb. Mes données sont des shapefiles, et je les intègre dans un même mapfile. Pour le faire, j'ai (comme le propose le tutorial http://cartoweb.org/cwiki/HowToCreateANewProject traduit par Yves) copié le projet, je l'ai renommé et j'ai ajouté mes propres .shp, changé l'extent, changer les définition dans le layer.ini et dans monprojet.ini
Résultat, pas de soucis : mes couches s'affichent. Déjà un bon point

Or, le tuto est basé sur les régions française et tout était configuré pour qu'une petite fenetre de localisation de la france apparaisse quand on veut visualiser les données. Je voudrais juste savoir comment l'enlever. J'ai supprimer le fichier image présent dans serv_conf/monprojet/image, ca ne veut pas. J'ai supprimé les lignes 32 à 39 du mapfile (de REREFENCE à END), ca ne veut pas également. En sachant que mon projet n'a rien a voir avec la france et que mes données s'affiche bien, j'aimerais juste enlever cette fenêtre de localisation.

Ma deuxième question concerne l'affichage des données attributaires. Quand je clik sur un polygon par exemple, pas de soucis, les champs s'affichent. Mais je ne voudrais pas afficher tout les champs et je n'ai pas trouvé la syntaxe sur le net que je dois mettre dans mon mapfile. Je sais que si je ne met PAS la ligne :

Code:

TEMPLATE "ttt" ni, 
METADATA
           "id_attribute_xxxx" "xxx"

le résultat, dans ce cas, c'est que les données attributaire ne s'affichent plus. Donc, pas bon non plus.

Enfin, dernière question : Les données que j'ai réussi à afficher, pas eu de soucis car la symbologie était unique. Il me reste d'autre shapfiles à mettre mais je veux que ces derniers s'affichent differement par rapport à un champ précis. (comme si dans ArcGis, je faisais une symbologie à valeur unique par rapport à un champ de la table attributaire, ou comme si on faisais une couche virtuelle sous GéoConcept avec une symbologie). J'imagine que là aussi c'est dans le mapfile que tout ceci se regle, mais en recherchant sur internet je n'ai pas trouvé (pourtant j'ai fait en long large et travers cartoweb-community.net, très bien expliqué pour les débutants, mais pas trouvé sad


La dernière fois, avec PostGis, j'avais mis deux jours à resoudre mon problème (merci Yves), donc je vais continuer à chercher, mais si quelqu'un a une réponse, c avec plaisir smile

Merci d'avance,

Cordialement

Julien

Hors ligne

 

#2 Tue 28 April 2009 17:33

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9857
Site web

Re: 3 petites question pour un map file [cartoweb]

Julien,

Je suis persuader qu'il y a une option pour activer ou désactiver la carte de référence, je suis étonné que la désactivation de l'objet REFERENCE dans le mapfile ne résoud pas le problème (as tu bien relancer le script cw3.steup.php ou nettoyer le cache ?)

Pour la liste des attributs, pareil, il me semble que c'est dans le mapfile que cela se gère dans les métadatas, comme indiqué ici : http://cartoweb-community.gloobe.org/do … ta-donnees (même question que précédement : cw3.setup.php et cache ?)

La sémiologie est définie dans le mapfile : LAYER->CLASS : http://mapserver.org/mapfile/class.html

Voici un exemple :

Code:

LAYER
    STATUS ON
    GROUP "osm"
    NAME "building"
    TYPE POLYGON
    CONNECTIONTYPE postgis
    CONNECTION _db_connection
    DATA "way from (select way,osm_id, name from osm.osm_polygon where (building is not null and building!='no' and building!='false') or aeroway='terminal' or leisure='stadium' or amenity='library' or amenity='cinema' or amenity='place_of_worship' or amenity='townhall' or amenity='prison' or amenity='public_building' ) as foo using unique osm_id using srid=900913"
    LABELITEM "name"
    PROCESSING "LABEL_NO_CLIP=ON"
    PROCESSING "CLOSE_CONNECTION=DEFER"
    MAXSCALEDENOM 60000
    CLASS
        MAXSCALEDENOM 7000
        STYLE
            COLOR _building_offset_clr
            OFFSET 2 2
        END
        STYLE
            COLOR _building_clr
        END
        LABEL
        _default_lbl
        MAXSCALEDENOM 7000
            SIZE 7
            COLOR 0 0 0
            OUTLINECOLOR 255 255 255
            PRIORITY 1
            WRAP ' '
            MAXLENGTH 6
            ALIGN CENTER
        END
    END
    CLASS
        MAXSCALEDENOM 11000
        STYLE
            COLOR _building_offset_clr
            OFFSET 1 1 
        END
        STYLE
            COLOR _building_clr
        END
    END
    CLASS
        STYLE
            COLOR _building_clr
            OUTLINECOLOR _building_offset_clr
            WIDTH 0.5
        END
    END
    METADATA
      "wms_title" "buildings"
      "wms_srs"   "EPSG:4326 EPSG:900913 EPSG:27572"
      "wfs_srs" "EPSG:54004 EPSG:4326 EPSG:27572"
    END
END

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Wed 29 April 2009 12:29

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Salut,

Merci pour ta réponse Yves. Alors pour les attributs, la syntaxe "query_returned_attributes" marche niquel avec les métadata dans le mapfiles. Merci smile Déjà un bon point pour moi

Apres, il me reste les deux autres soucis. J'ai fait comme tu me suggérais pour la carte de référence. Je l'ai enlevé du mapfiles, puis j'ai relancé le script de setup (php cw3setup.php --install --base-url mon url --profile develompent --project mon projet), ca ne marche pas. J'ai aussi nettoyer le cache (php cw3setup.php --clean), ca ne marche pas non plus. Quand je veux voir mes données, voilà ce que ca m'affiche

Code:

 atal error: [MapServer Error]: msImageLoadGD(): ((null)) in C:\ms4w\apps\cartoweb3\coreplugins\images\server\ServerImages.php on line 298

Je suis allé voir sur le fichier et la ligne en question : $ms_keymap = $msMapOBJ ->drawrefercencemapa () ; Mais je n'ai jamais modifié ce fichier, et je ne sais pas ce qui est mauvais.

Apres, pour la sémiologie d'un de mes fichiers shape, j'ai avancé, mais toujours un soucis. Voici mon mapfiles.


Code:

MAP
  NAME "atlas"
  EXTENT 455230.710001 149190.080000 462026.540003 155512.459998
  IMAGETYPE PNG
  IMAGECOLOR 255 255 255
  STATUS ON
  UNITS METERS
  FONTSET "fonts.txt"
  SYMBOLSET "symbols.txt"
  SHAPEPATH "data"

  OUTPUTFORMAT
    NAME png
    DRIVER "GD/PNG"
    MIMETYPE "image/png"
    IMAGEMODE PC256
    EXTENSION "png"
    FORMATOPTION "INTERLACE=OFF"
    TRANSPARENT OFF
  END
 
  OUTPUTFORMAT
    NAME jpeg
    DRIVER "GD/JPEG"
    MIMETYPE "image/jpeg"
    IMAGEMODE RGB
    EXTENSION "jpg"
    FORMATOPTION "INTERLACE=OFF"
    FORMATOPTION "QUALITY=80"
  END
 
  REFERENCE
    IMAGE images/keymap_france.png
    EXTENT -168827.05 1620431 1414509.05 2677441
    STATUS ON
    COLOR -1 -1 -1
    OUTLINECOLOR 200 0 0
    SIZE 224 150
  END

  SCALEBAR
    POSTLABELCACHE TRUE
    STYLE 0
    UNITS meters
    SIZE 350 3
    TRANSPARENT TRUE
    COLOR 77 77 88
    IMAGECOLOR 242 255 195
    BACKGROUNDCOLOR 222 222 222
    LABEL
      TYPE BITMAP
      SIZE SMALL
      COLOR 0 0 0
      POSITION UR
      BUFFER 10
    END
  END

  LEGEND
    KEYSIZE 20 15
  END
    LAYER
        NAME                    "bati"
        TYPE                    POLYGON
        DATA                    "bati"
        CLASS
            NAME                "bati"
            STYLE        
                COLOR            240 240 240
                OUTLINECOLOR    0 0 0
            END
        END
    END
    LAYER
        NAME                    "hydro"
        TYPE                    POLYGON
        DATA                    "hydro"
        CLASS
            NAME                "hydro"
            STYLE
                COLOR            80 90 255
                OUTLINECOLOR    0 0 0 
            END
        END
    END
    LAYER
        NAME                    "voies"
        TYPE                    LINE
        DATA                    "voies"
        TEMPLATE                "ttt"
        CLASS
            NAME                "voies"
            STYLE
                COLOR            0 0 0 
            END
        END
        METADATA
            "id_attribute_string" "ID"
        END
    END
    LAYER
        NAME                    "commerce_perimetre_general"
        TYPE                    POLYGON
        DATA                    "commerce_perimetre_general"
        TEMPLATE                "ttt"
        CLASS
            NAME                "commerce"
            STYLE
                COLOR            235 0 0 
                OUTLINECOLOR    0 0 0 
            END
        END
        METADATA
            "id_attribute_string" "IDENTIFIAN"
            "query_returned_attributes" "RAISON_SOC CODE_APE Libe_APE SECTEUR_AC ENSEIGNE_E NOM_COMMER SIRET_REQU"
        END
    END
    LAYER
        NAME                    "hypercentre_secteur_activite"
        TYPE                    POLYGON
        DATA                    "hypercentre_secteur_activite"
        TEMPLATE                "ttt"
        CLASSITEM                "SECTEUR_AC"
        CLASS
            NAME                "Cellule vide"
            EXPRESSION            'Cellule vide'
                COLOR            255 255 0 
                OUTLINECOLOR    0 0 0 
            END
        CLASS
            NAME                 "Banque assurance"
            EXPRESSION            'Banque assurance'
                COLOR            230 0 170
                OUTLINECOLOR    0 0 0    
            END
            METADATA
            "id_attribute_string" "IDENTIFIAN"
            "query_returned_attributes" "RAISON_SOC CODE_APE Libe_APE SECTEUR_AC ENSEIGNE_E NOM_COMMER SIRET_REQU"
        END
    END
END

Je veux faire plusieurs symbologie sur le shape hypercentre_secteur_activite avec le champ SECTEUR_AC. Pour faire mon test, je n'ai pris que deux secteurs d'activités (banque et cellule vide). J'ai fait en sorte de mettre CLASSITEM pour savoir sur quel champs se faisait la symbologie. Donc j'ai l'impression que mon mapfile est bon. (enfin, ca doit être juste une impression).
A la visualisation des données, dans la légende apparait bien la donnée hypercentre_secteur_activite avec dessous deux polygones : Un pour cellule vide, un pour Banque Assurance. Je me dis que c'est bon. Or un soucis : Je me rend compte que ce thème des secteurs d'activité n'est pas selectionnable (pourquoi ?) contrairement à mes autres données. De plus, si je déselectionne ma couche commerce pour vouloir faire apparaitre celui des secteur, bah en fait, je me rend compte que je n'ai pas de données.

Je précise que dans layers.ini , j'ai ceci

Code:

....
layers.hypercentre_secteur_activite.className = Layer
layers.hypercentre_secteur_activite.label = hypercentre_secteur_activite
layers.hypercentre_secteur_activite.msLayer = hypercentre_secteur_activite
....

En écrivant ce message, je viens de me rendre compte qu'en fait, je dois le faire pour chaque champs (ca pourrait être la solution, j'avoue ne pas avoir testé. Dès que ce message est fini, je test, ca coute rien) ou est ce que mes couches dans layers.ini sont bien remplies. j'ajoute également que le fichier monprojet.ini est rempli correctement.

je continue a chercher une solution, c'est sur, mais là, je comprend pas pourquoi ma classif dans le mapfile ne marche pas. Pourtant, j'ai bien configurer LAYER => CLASS comme tu me le préconisais sad


Cordialement,

Julien

Dernière modification par julien nied (Wed 29 April 2009 12:30)

Hors ligne

 

#4 Wed 29 April 2009 15:05

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

C'est encore moi smile

Ce que je n'arrive pas à comprendre, c'est que : Si je veux montrer sur la couche qu'une partie des données (par exemple les banque assurance). Sur mon MapFile, je fais :

Code:

LAYER
        NAME                    "hypercentre_secteur_activite"
        TYPE                    POLYGON
        DATA                    "hypercentre_secteur_activite"
        TEMPLATE                "ttt"
        CLASSITEM                "SECTEUR_AC"
        CLASS
            NAME                "Banque assurance"
            EXPRESSION      'Banque'
                COLOR            255 255 0 
                OUTLINECOLOR    0 0 0 
            END

Et bien là, quand je veux voir mes données sur cette même couche (bien evidemment, je vais pas faire une couche par secteur d'activité) et bien là, ca ne marche plus. Exemple, si je fais ceci :

Code:

LAYER
        NAME                    "hypercentre_secteur_activite"
        TYPE                    POLYGON
        DATA                    "hypercentre_secteur_activite"
        TEMPLATE                "ttt"
        CLASSITEM                "SECTEUR_AC"
        CLASS
            NAME                "Banque assurance"
            EXPRESSION      'Banque assurance'
                COLOR            255 255 0 
                OUTLINECOLOR    0 0 0 
            END
          CLASS
            NAME                "Equipement de la personne"
            EXPRESSION      'Equipement de la personne'
                COLOR            255 255 0 
                OUTLINECOLOR    0 0 0 
            END

Ici, j'ai juste rajouté une autre CLASS à ma couche hypercentre_secteur_activité, mais ca ne marche plus. Je n'arrive pas à savoir où est le problème. Pour visualiser sur un seul attribut ca marche, dès que je veux en mettre en deuxième, ca ne fonctionne plus. Bizarre, vous avez dit bizarre nan ?

Hors ligne

 

#5 Wed 29 April 2009 15:12

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9857
Site web

Re: 3 petites question pour un map file [cartoweb]

Peux tu lister les différentes valeurs contenu dans SECTEUR_AC. Merci,

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#6 Wed 29 April 2009 15:20

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Oh oui avec grand plaisir. Il s'agit en fait d'une classification de commerce d'une ville par secteur d'activité pour faire un atlas commercial pour un service économique. Donc dans mon shape, j'ai un champs SECTEUR_AC avec ces différentes valeurs :
Alimentaire specialisee
Alimentation generale
Antiquites brocante
Artisanat alimentaire
Automobile cycle
Autres services
Autres services aux entreprises
Autres services aux particuliers
Banque assurance
Bijoux optique
Bricolage jardin
Carburants
Cellule vide
Coiffure esthetique
Commerce de gros
Culture loisirs
Equipement de la maison
Equipement de la personne
Immobilier
Informatique telephonie
Restauration cafe brasserie
Santee beaute
Supermarche Hypermarche
Tabac presse

Donc mon objectif est de faire une classe pour chaque secteur d'activité (comme j'ai pu faire simplement sur ArcGis par exemple). J'avoue que là, je comprend pas trop.

Hors ligne

 

#7 Wed 29 April 2009 15:40

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9857
Site web

Re: 3 petites question pour un map file [cartoweb]

Julien,

Réfère toi à la doc, le paramètre EXPRESSION peut s'utiliser comme ceci :

Code:

EXPRESSION ('[TYPE]' = '5')

http://mapserver.org/mapfile/class.html

Si tu utilises CLASSITEM, tente avec ceci :

Code:

LAYER
        NAME                    "hypercentre_secteur_activite"
        TYPE                    POLYGON
        DATA                    "hypercentre_secteur_activite"
        TEMPLATE                "ttt"
        CLASSITEM                SECTEUR_AC
        CLASS
            NAME                "Banque assurance"
            EXPRESSION     "Banque assurance"
             COLOR            255 255 0
             OUTLINECOLOR    0 0 0
        END
        CLASS
            NAME                "Equipement de la personne"
            EXPRESSION      "Equipement de la personne"
            COLOR            255 255 0
            OUTLINECOLOR    0 0 0
        END
END

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#8 Wed 29 April 2009 17:37

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Je te rassure Yves, avant de poster, j'essaie de m'aider de la doc (c'est pour cela que j'ai fait les tuto au début pour voir comment ca fontionnait avant de me lancer n'importe comment). Pour les class, j'ai essayer de m'aider ce que tu avais donné comme site, et surtout http://umn.mapserver.ch/index_en.php (rubrique shapefiles) où sont expliqués comment faire une classif, et bien ca ne marche toujours pas. Si je post, c'est que je suis vraiment bloqués, et que je continue à faire des recherches.
Même si je met des guillements en faisant un CLASSITEM, au dela de une classe, la légende s'affiche bel et bien, mais il n'y a plus de donnée. En revanche, j'ai refais le test avec une seule class (ex : Banque), et bien là, il ne m'affiche que les banque (ce que je lui demande). Mais impossible d'afficher les Banques et un autre secteur d'activité pour les différencier.
En faisant EXPRESSION ('[SECTEUR_AC]' = '5'), la légende est bonne, la donnée est selectionnable mais pas de donnée affichée, docn je comprend pas pourquoi.
Par contre, une question : Si je fais par classITEM (ce qui me semble le plus simple et le mieux adaptée), doit changer quelque chose à mon fichier layer.ini ?  (à l'origine, il est rempli correctement, avant de faire une classification)

Enfin, désolé, mais c'est vrai que je suis dans le flou (j'avais pourtant bien avancé dans l'intégration des autres données)

Cordialement,

Julien

Dernière modification par julien nied (Wed 29 April 2009 18:01)

Hors ligne

 

#9 Thu 30 April 2009 14:30

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Bonjour tout le monde;

J'avance un peu dans mes problème, mais tout n'a pas été résolu et j'essaie de comprendre pourquoi. Je m'explique : Ce que je voulais faire c'était avoir une couche secteur d'activité, donc faire plusieurs class selon un Champs Secteur activité. Soit cette couche est coché et sur le naviguateur internet et dans ce cas, on voit apparaitre tous les secteurs, soit elle ne l'ai pas et c'est une autre couche qui est visualisable. Ca, c'est mon objectif : Avec le mapfile que j'avais laissé hier, je ne pouvais afficher qu'une seule classe et si je voulais en afficher plusieurs, dans ce cas, la légende, elle était bonne, mais je n'avais plus aucune donnée. (j'espère être clair). Voilà pour l'état des lieux.

J'ai un peu avancé, et je suis arrivé à ce mapfile : (je  ne montre que la couche hypercentre_secteur_activite : celle que j'ai modifié).

Code:

LAYER
        NAME                    "hypercentre_secteur_activite"
        TYPE                    POLYGON
        DATA                    "hypercentre_secteur_activite"
        TEMPLATE                "ttt"
        CLASSITEM                "SECTEUR_AC"
        CLASS
            EXPRESSION            'Coiffure esthetique'
                COLOR            255 255 0 
                OUTLINECOLOR    0 0 0 
            END
        CLASS
            EXPRESSION            'Banque assurance'
                COLOR            230 0 170
                OUTLINECOLOR    0 0 0    
            END
            METADATA
            "id_attribute_string" "IDENTIFIAN"
        END
    END

Qu'ai-je changé par rapport à hier ? Et bien pas grand chose : En fait, j'ai juste pour tester supprimer les lignes NAME qui servent à constuire la légende. Le résultat est a moitié satisfaisant. D'un côté graphique, ma couche est enfin bonne, car si je la coche apparait alors les polygons de couleurs différentes suivant le secteur d'activité, et c'est bel et bien ce que je recherche. D'un autre côté, j'ai désormais un problème de légende. En effet, ma couche est selectionnable, mais elle s'appelle hypercentre_secteur_activite et quand je la coche, elle ne décline par secteur d'activité. Si je rajoute les lignes Name, alors la légende est bonne (mais non selectionnable) et je n'ai plus de données.

C'est la raison pour laquelle je pense que la deuxième solution est la bonne, même si elle n'est pas (encore) complète. j'ai vu qu'on pouvait configurer la légende, donc je me doute qu'en travaillant dessus, je pourrais arriver à obtenir mon résultat. Si quelqu'un aurait quelques pistes pour construire ma légende, surtout au niveau de la syntaxe, car j'ai vriament du mal sur ca.

Sur http://umn.mapserver.ch/index_en.php rebrique légend  :

Code:

The Legend is created automatically for all Layer Objects which contain CLASS Objects using a NAME

J'aurais bien voulu faire comme ca, c'est sur : Le soucis, c'est que je rajoute un Name à chaque classe, mes données disparaissent, ma légende est bonne, ca s'est sur, mais plus aucune donné ne s'affiche.
J'ai vu alors qu'il fallait créer une légende avec les Templates, serait ce bien la bonne démarche à suivre pour arriver à faire ce que je souhaite, et si oui, sur quelles pistes dois-je partir.

Cordialement,

Julien

Hors ligne

 

#10 Thu 30 April 2009 14:34

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9857
Site web

Re: 3 petites question pour un map file [cartoweb]

Julien,

Une ou plusieurs captures d'écran seraient les bienvenu pour expliciter ce que tu veux et ce que tu as !

Merci,

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#11 Thu 30 April 2009 14:54

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Bien sûr. Voilà l'url ou y'a ma capture d'écran : http://cjoint.com/?fceD6CYF1O

Dans mes thèmes à gauche sont visualisées les couches
Bati (rien à modifier)
Hydro (rien à modifier)
Voies (à étiquetter, mais j'ai testé, et j'ai réussi)
Secteur d'activité (je voudrais que la légende se décline par secteur d'activités)

Apres, la carte en elle même là me convient avec le mapfile que j'ai fait ce matin. Mais je voudrais la correspondance pour la légende. j'espère que j'ai été assez clair 
Cordialement,

julien

Hors ligne

 

#12 Thu 30 April 2009 15:10

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Pour être encore plus clair dans ma démarche :

Quand je rajoute la ligne NAME pour chaque class de mon LAYER secteur_activité, ca me donne ceci comme résultat  :     http://cjoint.com/?fceVC760tL ou ceci
http://cjoint.com/data/fceWOjnE3t.htm

Ma légende est bonne mais les données ne s'affichent plus. D'où mon problème.
Je souhaiterai afficher la carte comme si la première capture d'écran et afficher la légende comme sur la 2è ou la 3è capture d'écran

Cordialement,

Juien

Hors ligne

 

#13 Thu 30 April 2009 15:13

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9857
Site web

Re: 3 petites question pour un map file [cartoweb]

Julien,

N'afficherais tu pas ta couche commerce ou bait (plutôt) par dessus ta couche secteur d'activité celle-ci serait cachée ? Quel est l'ordre de ces couches dans ton mapfile ?

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#14 Thu 30 April 2009 15:21

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Et bien quand je déselectionne la couche commerce ET la couche bati (dans l'exemple des deux dernieres captures d'écran, cad avec NAME pour chaque classe), il ne reste plus que les voies et l'hydro. Aucun polygon ne s'affiche

Pour mon mapfile, l'odre des couches est :
couche bati
couche hydro
couche voies
couche commerce
couche secteur_d'activite

Voici le mapfile détaile

Code:

LAYER
        NAME                    "bati"
        TYPE                    POLYGON
        DATA                    "bati"
        CLASS
            NAME                "bati"
            STYLE        
                COLOR            240 240 240
                OUTLINECOLOR    0 0 0
            END
        END
    END
    LAYER
        NAME                    "hydro"
        TYPE                    POLYGON
        DATA                    "hydro"
        CLASS
            NAME                "hydro"
            STYLE
                COLOR            80 90 255
                OUTLINECOLOR    0 0 0 
            END
        END
    END
    LAYER
        NAME                    "voies"
        TYPE                    LINE
        DATA                    "voies"
        TEMPLATE                "ttt"
        LABELITEM                "LIBELLé"
        CLASS
            NAME                "voies"
            STYLE
                COLOR            0 0 0 
            END
        END
        METADATA
            "id_attribute_string" "ID"
        END
    END
    LAYER
        NAME                    "commerce_perimetre_general"
        TYPE                    POLYGON
        DATA                    "commerce_perimetre_general"
        TEMPLATE                "ttt"
        CLASS
            NAME                "commerce"
            STYLE
                COLOR            235 0 0 
                OUTLINECOLOR    0 0 0 
            END
        END
        METADATA
            "id_attribute_string" "IDENTIFIAN"
            "query_returned_attributes" "RAISON_SOC CODE_APE Libe_APE SECTEUR_AC ENSEIGNE_E NOM_COMMER SIRET_REQU"
        END
    END
    LAYER
        NAME                    "secteur_activite"
        TYPE                    POLYGON
        DATA                    "secteur_activite"
        TEMPLATE                "ttt"
        CLASSITEM                SECTEUR_AC
        CLASS
            NAME                "Alimentaire specialise"
            EXPRESSION            "Alimentaire specialise"
            STYLE
                COLOR            190 232 255
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Alimentation generale"
            EXPRESSION            "Alimentation generale"
            STYLE
                COLOR            0 197 255
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Antiquites brocante"
            EXPRESSION             "Antiquites brocante"
            STYLE
                COLOR            230 190 255
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS    
            NAME                "Artisanat alimentaire"
            EXPRESSION            "Artisanat alimentaire"
            STYLE
                COLOR            0 40 115
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS    
            NAME                "Automobile Cycles"
            EXPRESSION            "Automobile Cycles"
            STYLE
                COLOR            255 255 0
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Autres Services"
            EXPRESSION            "Autres Services"
            STYLE
                COLOR            200 200 200
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Autres services aux entreprises"
            EXPRESSION            "Autres services aux entreprises"
            STYLE    
                COLOR            200 200 200
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Autres services aux particuliers"
            EXPRESSION            "Autres services aux particuliers"
            STYLE
                COLOR            75 75 75 
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Banque assurance"
            EXPRESSION            "Banque assurance"
            STYLE
                COLOR            130 130 130
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Bijoux Optique"
            EXPRESSION            "Bijoux Optique"
            STYLE
                COLOR            255 127 127
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Bricolage Jardin"
            EXPRESSION            "Bricolage Jardin"
            STYLE    
                COLOR            75 230 0 
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            EXPRESSION            "Carburants"
            STYLE
                COLOR            255 255 190
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Cellule vide"
            EXPRESSION            "Cellule vide"
            STYLE
                COLOR            0 0 0
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Coiffure esthetique"
            EXPRESSION            "Coiffure esthetique"
            STYLE
                COLOR            168 0 0 
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Commerce de gros"
            EXPRESSION            "Commerce de gros"
            STYLE
                COLOR            75 75 75 
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Culture loisirs"
            EXPRESSION            "Culture loisirs"
            STYLE
                COLOR            230 150 0 
                OUTLINECOLOR    0 0 0
            END
        END
        CLASS
            NAME                "Equipement de la maison"
            EXPRESSION            "Equipement de la maison"
            STYLE
                COLOR            230 0 170
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Equipement de la personne"
            EXPRESSION            "Equipement de la personne"
            STYLE
                COLOR            230 0 0 
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Immobilier"
            EXPRESSION            "Immobilier"
            STYLE
                COLOR            130 130 130 
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Informatique telephonie"
            EXPRESSION            "Informatique telephonie"
            STYLE
                COLOR            255 210 130
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Restauration cafe brasserie"
            EXPRESSION            "Restauration cafe brasserie"
            STYLE
                COLOR            170 110 0
                OUTLINECOLOR     0 0 0 
            END
        END
        CLASS
            NAME                "Sante beaute"
            EXPRESSION             "Sante beaute"
            STYLE
                COLOR            255 190 190 
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS
            NAME                "Supermarche Hypermarche"
            EXPRESSION            "Supermarche Hypermarche"
            STYLE
                COLOR            0 90 230 
                OUTLINECOLOR    0 0 0 
            END
        END
        CLASS    
            NAME                "Tabac presse"
            EXPRESSION            "Tabac presse"
            STYLE
                COLOR            115 115 0 
                OUTLINECOLOR    0 0 0 
            END

Sur ce Mapfile, (au risque de me répéter, mais c'est mieux d'en dire plus que pas assez :p ) si j'enleve tout les NAME "xxxx" présent dans chaque CLASS, j'en reviens à la 1ere capture d'écran : les données sont graphiquement visible, mais plus la légende

Cordialement,

Hors ligne

 

#15 Thu 30 April 2009 16:25

Cornet Jérémie
Participant assidu
Lieu: Nouméa
Date d'inscription: 6 Apr 2008
Messages: 229

Re: 3 petites question pour un map file [cartoweb]

Salut,

Essaie en enlevant le classitem mais en mettant l'expression comme ça

Code:

CLASS
    NAME                "Alimentaire specialise"
        EXPRESSION ([SECTEUR_AC] = "Alimentaire specialise")
        STYLE
            COLOR            190 232 255
                        OUTLINECOLOR    0 0 0
        END 
END

et tu peux aussi enlever les guillemets autour de tes NAME de couches (je sais pas si ca changera quelque chose mais ca vaut le coup de tenter).

Jérémie

PS : pour les feignants comme moi, l'extension AMEIN pour ArcGIS permet d'écrire le mapfile à ta place (même s'il reste des ajustements à faire)

Dernière modification par Cornet Jérémie (Thu 30 April 2009 16:40)

Hors ligne

 

#16 Thu 30 April 2009 17:05

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Erf merci de la proposition Jérémie, mais ne fonctionne pas.
J'ai donc enlevé le CLASS ITEM et j'ai teste EXPRESSION ([SECTEUR_AC]) = "Alimentaire specialise". Si je met des guillements autour de mes NAME, message d'erreur :

message : MapServer error : Error in msEvalExpression : Failed to parse expression : Supermarché Hypermarché = Alimentation generale" (Que vient faire mon secteur Hypermarche alors que je ne le lui demande pas?)


Si j'enleve les guillemets : Ca ne marche pas non plus, mais je n'ai pas le même message d'erreur :

message : MapServer error : Error in loadClass () : Parsing error near (specialise)


J'ai tenté de mettre des parenthèses ou des apostrophes, marche pas non plus. Comme tu le dis, ca vaut le coup de tenter. Bref, je suis sur que la solution n'est pas loin, et ca ne marche pas.
Pour info, j'ai voulu faire une classif sur un autre données shapes, mais non pas sur un champ texte, mais sur un champ entier.

Exemple : EXPRESSION ([Ancienne_1]) <= 1


Si je le fais avec plusieurs class, alors ca marche (pour avoir une couche d'ancienneté de mes commerces) à condition de ne pas mettre de ligne NAME. A priori, il n'aime pas le NAME, donc serait ce la légende que je dois configurer ou bien le mapfile qui n'est pas forcément bien écrit.

Je ne connais pas l'extension dont tu parles, mais je risque de m'y pencher assez rapidement si ca ne marche pas. Ca peut être interessant comme dernier recours. Merci de l'info smile

Dernière modification par julien nied (Thu 30 April 2009 17:06)

Hors ligne

 

#17 Thu 30 April 2009 17:17

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9857
Site web

Re: 3 petites question pour un map file [cartoweb]

Julien,

Met ton champ entre "" car c'est un champ texte :

EXPRESSION ("[SECTEUR_AC]" = "Alimentaire specialise")


Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#18 Thu 30 April 2009 17:30

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Je viens de tester à l'instant Yves ce que tu me suggères. Donc ma légende est correcte. Quand je tape l'url pour afficher dans mon navigateur, la fenêtre s'ouvrant, je vois les données. Je me dis : cool. Mais dès que je fais une action sur la carte (zoom, déplacement) et bien graphiquement après feuille blanche, comme si les données avaient disparues. Donc, j'en reviens au même point sad. Mais je vais préserver, je trouverais :p, j'y arriverais.

Merci tout de même,
Cordialement

julien

Hors ligne

 

#19 Thu 30 April 2009 18:04

Cornet Jérémie
Participant assidu
Lieu: Nouméa
Date d'inscription: 6 Apr 2008
Messages: 229

Re: 3 petites question pour un map file [cartoweb]

Quelques pistes :

NAME [name]
    Préfixe lié à la carte, les noms des fichier GIF d'échelle et de légende créés en utilisant ce MapFile. Devrait être le plus court possible.


==> tes NAME sont trop long? Je pense pas j'ai déjà vu des name plus long

Il manque un STATUS DEFAULT dans tes layer ?

et enfin une syntaxe pour l'expression
EXPRESSION ('[SECTEUR_AC]' eq 'Alimentaire specialise')

Jérémie

Dernière modification par Cornet Jérémie (Thu 30 April 2009 18:05)

Hors ligne

 

#20 Mon 04 May 2009 16:10

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Bonjour,

je viens de passer une grande partie de la journée à tester des solutions, mais en vain. En fait, je me rend compte que dès que je met une ligne NAME dans mes classes, mes données disparaissent, la légende fonctionne (mais n'est pas selectionnable). En revanche, dès que j'enleve la ligne NAME et que j'ai seul la ligne EXPRESSION (au passage, il y a plusieurs formes d'expression qui marche, les deux proposé par jérémie, mais aussi celle propsé par Yves, ou même avec un CLASSITEM, comme je voulais le faire), mais dans ce cas, la couche est selectionnable, mais plus de légende qui se créé automatiquement.

Ce qui m'embete, c'est que j'ai réussi presque tout le reste (sauf à enlever cette image de la France :p), mais que là, je galère vraiment !!!

Mon travail (même s'il loin d'être fini) est dispo sur le net : http://map.gers.cci.fr/cartoweb3/htdocs/atlas.php
Ici, mes couches sont archi niquel, mais pas de légende pour les secteur d'activité

En revanche, ici : http://map.gers.cci.fr/cartoweb3/htdocs/test.php
Ici, mes couches ne sont pas bonne, mais c'est la légende qui affiche bien la classification. A noter que la couche secteur d'activité n'est pas selectionnable, je ne sais vraiment pas pourquoi.

Comme tu le préconisais Jérémie, j'ai bien mis un STATUS ON à mes layers. Apres, au niveau des NAME, mes noms de class sont ceux de mes champs des .shapes que j'utilise. Donc je ne vois pas trop où serait le problème.

J'avoue que là, je commence beaucoup à peiner sad
Si quelqu'un à au moins une piste

Merci d'avance

Julien

Hors ligne

 

#21 Mon 04 May 2009 16:15

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9857
Site web

Re: 3 petites question pour un map file [cartoweb]

Bonjour,

Je pense que la structure de ta légende fais que la couche "Secteur d'activité" n'est pas sélectionnable. Tu as définie des blocs ou bien tu l'as définie comme toujours active, etc...

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#22 Mon 04 May 2009 16:36

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Oui, a priori, cette couche Secteur d'activité n'a pas l'air selectionnable. Mais, en fait, je ne change rien entre le projet "test" et le projet "atlas", si ce n'est rajouter une ligne NAME a chaque classe. Sinon, c'est vraiment la même configuration (car copier coller du projet, justement pour faire ce test). Je n'ai pas défini de bloc ; je l'ai juste ajoutée comme toutes les autres couches.

Mon layer.ini (du projet test) ressemble à ca (là, par contre, j'ai pas trop fait de test, car j'ai vu qu'il existait justement des couches et des groupes de couches - pas trop compris la différence enfants parents - toujours est il que je l'ai configuré, je pense, pour afficher que des couches et non des groupes de couche :

; whether to generate class icons automatically
autoClassLegend = true

; layers
layers.secteur_activite.className = Layer
layers.secteur_activite.label = secteur d'activite
layers.secteur_activite.msLayer = secteur_activite
layers.commerce_perimetre_general.className = Layer
layers.commerce_perimetre_general.label = commerce
layers.commerce_perimetre_general.msLayer = commerce_perimetre_general
layers.voies.className = Layer
layers.voies.label = voies
layers.hydro.msLayer = voies
layers.hydro.className = Layer
layers.hydro.label = hydro
layers.hydro.msLayer = hydro
layers.bati.className = Layer
layers.bati.label = bati
layers.bati.msLayer = bati
layers.root.className = LayerGroup
layers.root.children =  bati, hydro, voies, commerce_perimetre_general, secteur_activite,
layers.root.rendering = block


Apres, dans mon test.ini, par default, j'ai tout mis sur true en le faisant express, quitte à en enlever quand tout marchera

test.ini

mapInfo.initialMapStates.default.layers.hyrpercentre_anciennete.selected = true
mapInfo.initialMapStates.default.layers.secteur_activite.selected = true
mapInfo.initialMapStates.default.layers.commerce_perimetre_general.selected = true
mapInfo.initialMapStates.default.layers.voies.selected = true
mapInfo.initialMapStates.default.layers.bati.selected = true
mapInfo.initialMapStates.default.layers.hydro.selected = true

J'ai vraiment l'impression (mais vraiment peut être à tord car je découvre cartoweb depuis une semaine, donc je suis loin d'etre un fin connaisseur) qu'un des deux fichier est mal configuré, et que mon Mapfile tiens la route.

Pour ma classif, le mapfile correspond à ça :


LAYER
        NAME                    "secteur_activite"
        TYPE                               POLYGON
        DATA                    "secteur_activite"
        CLASSITEM                SECTEUR_AC
        STATUS                    ON
        CLASS
            NAME                'Alimentaire specialise'
            EXPRESSION            "Alimentaire specialise"
            STYLE
                COLOR            190 232 255
                OUTLINECOLOR    0 0 0
            END
        END
        CLASS
            NAME                'Alimentation generale'
            EXPRESSION            "Alimentation generale"
            STYLE
                COLOR            0 197 255
                OUTLINECOLOR    0 0 0
            END

Au risque de me répéter , j'ai aussi tester les soltuions que vous m'aviez proposé, en enlevant la ligne CLASSITEM et en modifiant EXPRESSION.

Cordialement,
Julien

Dernière modification par julien nied (Mon 04 May 2009 16:40)

Hors ligne

 

#23 Mon 04 May 2009 17:55

tbonfort
Participant actif
Date d'inscription: 11 Oct 2007
Messages: 87

Re: 3 petites question pour un map file [cartoweb]

c'est quelle version de mapserver?

j'ai pas vraiment d'idée derriere la tete, mais tu peux essayer de rajouter un TITLE dans tes CLASS.

a+

Hors ligne

 

#24 Mon 04 May 2009 18:03

Cornet Jérémie
Participant assidu
Lieu: Nouméa
Date d'inscription: 6 Apr 2008
Messages: 229

Re: 3 petites question pour un map file [cartoweb]

Code:

layers.root.children =  bati, hydro, voies, commerce_perimetre_general, secteur_activite,

La virgule à la fin de la ligne est en trop.
Essaie aussi de supprimer les espaces après les virgules.

et monte au dessus des autres lignes les 3 lignes suivantes.

Code:

layers.root.className = LayerGroup
layers.root.children =  bati, hydro, voies, commerce_perimetre_general, secteur_activite
layers.root.rendering = block

Peut être que c'est çà, peut être que non

Bonne chance !

Jérémie

Dernière modification par Cornet Jérémie (Mon 04 May 2009 18:06)

Hors ligne

 

#25 Tue 05 May 2009 10:48

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Bonjour,

Donc j'ai supprimé la virgule, remonte les 3 lignes layer.root, ca ne fonctionne pas. J'ai tenté avec un Title, non plus !!!! J'ai repris calmement, sans me prendre la tete mes mapfile pour voir. Ainsi, j'ai enlevé les classitem et fait comme ceci :

LAYER
        NAME                    "secteur_activite"
        TYPE                    POLYGON
        DATA                    "secteur_activite"
        STATUS                    ON
        CLASS
            EXPRESSION            ('[SECTEUR_AC]' eq 'Alimentaire specialise')
            STYLE
                COLOR            190 232 255
                OUTLINECOLOR    0 0 0
            END
        END
        CLASS
            EXPRESSION            ('[SECTEUR_AC]' eq 'Alimentation generale')
            STYLE
                COLOR            0 197 255
                OUTLINECOLOR    0 0 0
            END

Là, le résultat est toujours le même : couche selectionnable mais pas de légende crée : http://map.gers.cci.fr/cartoweb3/htdocs/atlas.php
Mais dès que je rajoute une ligne
NAME "xxxxxxx"  à chaque classe (sans rien changer le reste), et bien cela fait ca : http://map.gers.cci.fr/cartoweb3/htdocs/test.php (ce qui est bizarre quand meme, c'est que en arrivant sur cette page, on distingue les classes de couleur sur la carte. Dès qu'on fait une action (zoom, deplacement), la couche disparait. Donc là, pourquoi elle ne serait plus selectionnable ?????

Au passage thomas, j'ai MapServer 4 Windows - Version 2.3.1 (c'est ce qu'il y a de marqué quand je tape localhost) et ma version de cartoweb est la 3.4.0

Cordialement,

Julien

Hors ligne

 

#26 Wed 06 May 2009 15:15

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Re bonjour, et encore désolé de re-intervenir sur le sujet.

Donc voilà, je n'ai malheureusement pas trouvé de solution, mais comme j'ai dit que je voulais y arriver, j'y arriverais. Ca fait un peu plus de 24h que je tourne le sujet, et j'ai voulu "contourner" le problème d'une autre manière (qui n'a pas encore abouti, mais avec un peu d'aide, ca peut être interessant). Je m'explique.

Je n'ai pas réussi à classifier un layer en fonction d'un attribut. Donc, j'ai crée plusieurs shape (un shape par secteur d'activité, soit au total 24 shapes). J'ai vu, en regardant la doc et les tuto qu'on pouvait créer des couches parents et des couches enfants (ce n'est pas obligé que toutes les couches soient enfant de "root"). Donc, j'ai recréé un projet avec comme couche : bati, voie, hydro, commerce_general, secteur_activite, banque_assurance, coiffure_esthetique.
Là, le projet est visualisable sans aucun problème (mais les couches sont indépendantes), donc là, ca marche sans problème : en voici le mapfile (du moins la fin)

Code:

LAYER
        NAME                    "secteur_activite"
        TYPE                    POLYGON
        DATA                    "secteur_activite"
        STATUS                    ON
        CLASS
            STYLE    
                COLOR            235 235 0 
                OUTLINECOLOR    0 0 0 
            END
        END
    END
    LAYER
        NAME                    "banque_assurance"
        TYPE                    POLYGON
        DATA                    "banque_assurance"
        STATUS                    ON
        CLASS
            NAME                "banque_assurance"
            STYLE
                COLOR            128 46 210
                OUTLINECOLOR    0 0 0 
            END
        END
    END
    LAYER
        NAME                    "coiffure_esthetique"
        TYPE                    POLYGON
        DATA                    "coiffure_esthetique"
        STATUS                    ON
        CLASS
            NAME                "coiffure_esthetique"
            STYLE
                COLOR            90 125 60
                OUTLINECOLOR    0 0 0 
            END
        END
    END
END

Là, ca marche sans aucun problème en configurant correctement le projet.ini et le layer.ini.
Mais, en fait, ce que je me dit, c'est que je peux regrouper les couches banque_assurance et coiffure_esthetique qui "pourraient être" enfant de "secteur_activite". De cette manière, le resultat attendu sera le bon. Donc, je n'ai pas changé mon mapfile, mais par contre, j'ai changé mon layers.ini et voici que je j'ai mis :

Code:

layers.root.className = LayerGroup
layers.root.children =  bati, hydro, voies, commerce_perimetre_general, secteur_activite
layers.root.rendering = block

layers.secteur_activite.className = Layer
layers.secteur_activite.label = secteur d'activite
layers.secteur_activite.msLayer = secteur_activite
layers.secteur_activite.children = coiffure_esthetique, banque_assurance

layers.coiffure_esthetique.className = Layer
layers.coiffure_esthetique.label = coiffure_esthetique
layers.coiffure_esthetique.msLayer = coiffure_esthetique

layers.banque_assurance.className = Layer
layers.banque_assurance.label = banque_assurance
layers. banque_assurance.msLayer = banque_assurance

layers.commerce_perimetre_general.className = Layer
layers.commerce_perimetre_general.label = commerce
layers.commerce_perimetre_general.msLayer = commerce_perimetre_general

layers.voies.className = Layer
layers.voies.label = voies
layers.hydro.msLayer = voies

layers.hydro.className = Layer
layers.hydro.label = hydro
layers.hydro.msLayer = hydro

layers.bati.className = Layer
layers.bati.label = bati
layers.bati.msLayer = bati

En fait, j'ai juste rajouter "layers.secteur_activite.children = coiffure_esthetique, banque_assurance"

Le résultat n'est pas celui escompté (je dois faire une erreur, ca c'est sur, mais je n'arrive pas à la localiser, dois garder la couche secteur_activite ?). Sur cette url : http://map.gers.cci.fr/cartoweb3/htdocs/test2.php voici le resultat. En fait, là, je peux choisir quelle classe affichier, donc c'est cool, mais toutes les données sont perdues. On ne voit rien quand on decoche la couche commerce.

Je me suis dit qu'avec cette solution, cela pourrait regler mon problème, et d'ailleurs, le résultat en serai que meilleur (car on pourrait choisit d'afficher que certains secteur d'activite), mais je dois ceertainement me tromper sur de la syntaxe. Si quelqu'un peut m'aiguiller.

Encore une fois, désolé d'intervenir sur le forum, mais bon, j'essaie d'abord de me débrouiller par moi même avant de poster.

Cordialement,

Julien

Dernière modification par julien nied (Wed 06 May 2009 15:15)

Hors ligne

 

#27 Wed 06 May 2009 15:51

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

C'est bon. je suis désolé, mais en continuant à chercher, je viens de trouver ce que je voulais faire. En fait, il fallait que je supprime mon layer Secteur_activite. Puis, mettre le layer.ini comme ceci

Code:

layers.root.className = LayerGroup
layers.root.children =  bati, hydro, voies, commerce_perimetre_general, secteur_activite
layers.root.rendering = block

layers.secteur_activite.className = Layer
layers.secteur_activite.label = secteur d'activite
layers.secteur_activite.msLayer = secteur_activite
layers.secteur_activite.children = coiffure_esthetique, banque_assurance

layers.coiffure_esthetique.className = Layer
layers.coiffure_esthetique.label = coiffure_esthetique
layers.coiffure_esthetique.msLayer = coiffure_esthetique

layers.banque_assurance.className = Layer
layers.banque_assurance.label = banque_assurance
layers. banque_assurance.msLayer = banque_assurance

layers.commerce_perimetre_general.className = Layer
layers.commerce_perimetre_general.label = commerce
layers.commerce_perimetre_general.msLayer = commerce_perimetre_general

layers.voies.className = Layer
layers.voies.label = voies
layers.hydro.msLayer = voies

layers.hydro.className = Layer
layers.hydro.label = hydro
layers.hydro.msLayer = hydro

layers.bati.className = Layer
layers.bati.label = bati
layers.bati.msLayer = bati

Voilà, j'ai à peu près réussi ce que je voulais. Merci pour ceux qui m'auront aidé. mais bon, c'est en galérant que l'on avance il parait !!

Ah oui, heuuu, par contre, j'ai toujours mon problème de la France (il faut dire que je m'en suis pas occupé, j'ai été concentré par celui du secteur d'activité). Je m'explique. Comment peut on enlever l'image de la france en haut. J'avais au début enlever l'objet REFERENCE, mais apres, j'avias un message d'erreur. Donc si certains savent smile

Encore merci à tous ! (et je pense que malheureusement, je reviendrais :p)

Hors ligne

 

#28 Wed 06 May 2009 15:53

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9857
Site web

Re: 3 petites question pour un map file [cartoweb]

julien nied a écrit:

Ah oui, heuuu, par contre, j'ai toujours mon problème de la France (il faut dire que je m'en suis pas occupé, j'ai été concentré par celui du secteur d'activité). Je m'explique. Comment peut on enlever l'image de la france en haut. J'avais au début enlever l'objet REFERENCE, mais apres, j'avias un message d'erreur. Donc si certains savent smile

Encore merci à tous ! (et je pense que malheureusement, je reviendrais :p)


Oui mais j'y ai repensé entr temps : tu n'as pas dans le template quelques chose censé gérer cela ?

Le message d'erreur provient de MapServer (ce dont je doute) ou de CartoWeb ?

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#29 Wed 06 May 2009 16:47

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: 3 petites question pour un map file [cartoweb]

Bonjour,

Si j'ai bien compris, c'est la keymap qui vous ennuye.

C'est un truc de cartoweb. Pour ne pas faire afficher la keymap dans la carte, il faut aller modifier le fichier images.ini sous client_conf.

En gros, soit vous n'indiquez rien et vous voyez la keymap, soit il vous faut indiquer
noDrawKeymap = true
et alors pas de keymap,


Bon comme dit, je crois avoir compris le problème mais c'est pas encore sûr !.

Bonne fin de journée

Véronique

Hors ligne

 

#30 Thu 07 May 2009 10:02

julien nied
Participant occasionnel
Date d'inscription: 15 Apr 2009
Messages: 42

Re: 3 petites question pour un map file [cartoweb]

Bonjour en cette belle journée ensoleillé.

Oui Véro, vous aviez bien raison, c'était bien la keymap qui m'ennuyait et j'ai suivi votre méthode qui a marché sans aucun problème, je vous remercie. Cependant, je voudrais avoir un dernier conseil (j'ai commencé mes recherches sur ca, mais de manière non approfondie, là, c'est vrai). Si on va sur http://map.gers.cci.fr/cartoweb3/htdocs/atlas.php , j'ai bien regroupé toutes mes couches de secteur d'activité dans un groupe que j'ai nommé secteur d'activité. Chaque secteur est selectionnable, donc c'est niquel, c'est à peu près ce que je voulais (à l'origine des classes, mais là on peut les selectionner, c'est encore mieux).

Le soucis, c'est que je voudrais aussi qu'on puisse selectionner ou deselectionner d'un coup le secteur d'activité, un peu de cette manière
ex :
Secteur d'activite (nom du groupe)
v secteur d'activite
   v Alimentaire specialisee
   v Alimentation generale
   v Antiquites brocante
   v Artisanat alimentaire
   v Automobile cycle
  etc ..;
   v Tabac presse

le "v" représentant la case à cocher. De cette manière, si je deselectionne secteur d'activité, tous mes secteur se déselectionne d'un coup et si je coche secteur, et bien tous les secteur se cochent. D'après ce que j'ai pu voir sur un modèle dont je me base, il faut pas créer de layer secteur_activite dans le mapfile (moi, je l'ai supprimé en tout cas), donc ca doit se gérer dans atlas.ini ou dans layers.ini
Dans mon layers, voici que ce j'ai fait :

Code:

layers.root.className = LayerGroup
layers.root.children =  bati, hydro, voies, commerce_perimetre_general, secteur_activite
layers.root.rendering = tree
layers.root.rendering = block

layers.commerce_perimetre_general.className = Layer
layers.commerce_perimetre_general.label = commerce
layers.commerce_perimetre_general.msLayer = commerce_perimetre_general

layers.voies.className = Layer
layers.voies.label = voies
layers.hydro.msLayer = voies

layers.hydro.className = Layer
layers.hydro.label = hydro
layers.hydro.msLayer = hydro

layers.bati.className = Layer
layers.bati.label = bati
layers.bati.msLayer = bati

;groups of secteur_activite
layers.secteur_activite.className = LayerGroup
layers.secteur_activite.children = Alimentaire_specialisee, Alimentation_generale, Antiquite_brocante, Artisanat_alimentaire, Automobile_cycle, Autres_services, Autres_services_aux_entreprises, Autres_services_aux_particuliers, banque_assurance, Bijoux_optique, Bricolage_jardin, Carburant, Cellule_vide, coiffure_esthetique, Commerce_de_gros, Culture_loisirs, Equipement_de_la_maison, Equipement_de_la_personne, Immobilier,  Informatique_telephonie, Restauration_cafe_brasserie, Sante_beaute, Supermarche_hypermarche, Tabac_presse
layers.secteur_activite.rendering = tree
layers.secteur_activite.label = Secteur d'activite

layers.Alimentaire_specialisee.className = Layer
layers.Alimentaire_specialisee.label = Alimentaire specialise
layers.Alimentaire_specialisee.msLayer = Alimentaire_specialisee

layers.Alimentation_generale.className = Layer
layers.Alimentation_generale.label = Alimentation generale
layers.Alimentation_generale.msLayer = Alimentation_generale

layers.Antiquite_brocante.className = Layer
layers.Antiquite_brocante.label = Antiquite brocante
layers.Antiquite_brocante.msLayer = Antiquite_brocante

layers.Artisanat_alimentaire.className = Layer
layers.Artisanat_alimentaire.label = Artisanat Alimentaire
layers.Artisanat_alimentaire.msLayer = Artisanat_alimentaire

layers.Automobile_cycle.className = Layer
layers.Automobile_cycle.label = Automobile Cycle
layers.Automobile_cycle.msLayer = Automobile_cycle

layers.Autres_services.className = Layer
layers.Autres_services.label = Autres services
layers.Autres_services.msLayer = Autres_services

layers.Autres_services_aux_entreprises.className = Layer
layers.Autres_services_aux_entreprises.label = Autres services aux entreprises
layers.Autres_services_aux_entreprises.msLayer = Autres_services_aux_entreprises

layers.Autres_services_aux_particuliers.className = Layer
layers.Autres_services_aux_particuliers.label = Autres services aux particuliers
layers.Autres_services_aux_particuliers.msLayer = Autres_services_aux_particuliers

layers.banque_assurance.className = Layer
layers.banque_assurance.label = banque assurance
layers.banque_assurance.msLayer = banque_assurance

layers.Bijoux_optique.className = Layer
layers.Bijoux_optique.label = Bijoux Optique
layers.Bijoux_optique.msLayer = Bijoux_optique

layers.Bricolage_jardin.className = Layer
layers.Bricolage_jardin.label = Bricolage jardin
layers.Bricolage_jardin.msLayer = Bricolage_jardin

layers.Carburant.className = Layer
layers.Carburant.label = Carburant
layers.Carburant.msLayer = Carburant

layers.Cellule_vide.className = Layer
layers.Cellule_vide.label = Cellule vide
layers.Cellule_vide.msLayer = Cellule_vide

layers.coiffure_esthetique.className = Layer
layers.coiffure_esthetique.label = Coiffure esthetique
layers.coiffure_esthetique.msLayer = coiffure_esthetique

layers.Commerce_de_gros.className = Layer
layers.Commerce_de_gros.label = Commerce de gros
layers.Commerce_de_gros.msLayer = Commerce_de_gros

layers.Culture_loisirs.className = Layer
layers.Culture_loisirs.label = Culture loisirs
layers.Culture_loisirs.msLayer = Culture_loisirs

layers.Equipement_de_la_maison.className = Layer
layers.Equipement_de_la_maison.label = Equipement de la maison
layers.Equipement_de_la_maison.msLayer = Equipement_de_la_maison

layers.Equipement_de_la_personne.className = Layer
layers.Equipement_de_la_personne.label = Equipement de la personne
layers.Equipement_de_la_personne.msLayer = Equipement_de_la_personne

layers.Immobilier.className = Layer
layers.Immobilier.label = Immobilier
layers.Immobilier.msLayer = Immobilier

layers.Informatique_telephonie.className = Layer
layers.Informatique_telephonie.label = Informatique Telephonie
layers.Informatique_telephonie.msLayer = Informatique_telephonie

layers.Restauration_cafe_brasserie.className = Layer
layers.Restauration_cafe_brasserie.label = Restauration café brasserie
layers.Restauration_cafe_brasserie.msLayer = Restauration_cafe_brasserie

layers.Sante_beaute.className = Layer
layers.Sante_beaute.label = Sante beaute
layers.Sante_beaute.msLayer = Sante_beaute

layers.Supermarche_hypermarche.className = Layer
layers.Supermarche_hypermarche.label = Supermarche Hypermarche
layers.Supermarche_hypermarche.msLayer = Supermarche_hypermarche

layers.Tabac_presse.className = Layer
layers.Tabac_presse.label = Tabac Presse
layers.Tabac_presse.msLayer = Tabac_presse

En gros, j'ai rajouté cette ligne :
layers.secteur_activite.rendering = tree

Mais a priori, soit ce n'est pas correct, soit ce n'est pas suffisant. Donc, si quelqu'un pourrait au moins m'aguiller sur une piste.
Je vous remercie d'avance, je suis pas loin du but smile

Cordialement,

Julien

Hors ligne

 

Pied de page des forums

Powered by FluxBB