#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é
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
Merci d'avance,
Cordialement
Julien
Hors ligne
#2 Tue 28 April 2009 17:33
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 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
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
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
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
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
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
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)
En 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
Dernière modification par julien nied (Thu 30 April 2009 17:06)
Hors ligne
#17 Thu 30 April 2009 17:17
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 . 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)
En 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
Si quelqu'un à au moins une piste
Merci d'avance
Julien
Hors ligne
#21 Mon 04 May 2009 16:15
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)
En 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
Encore merci à tous ! (et je pense que malheureusement, je reviendrais :p)
Hors ligne
#28 Wed 06 May 2009 15:53
Re: 3 petites question pour un map file [cartoweb]
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
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
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
Cordialement,
Julien
Hors ligne