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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 03 October 2007 14:18

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Carte de référence

Bonjour à tous,

Loin de moi l'idée de déranger qui que ce soit sur un sujet déjà vu
mais un certain Robin m'a encouragé à vous faire part de mon problème sur ce forum.

En effet, je sèche vraiment sur une carte de référence sous Mapserver (V 4.8.3)
J'ai une image gif qui correspond à ma carte en terme d'extent et de
proportion pixel (cad que ma carte fait 275*550 et mon overview 50*100), je remplis l'ensemble des attributs du bloc référence
comme il se doit mais rien à faire, l'overview ne s'affiche pas  avec la carte!! D'ailleurs il ne s'affiche nulle part...

ci joint mon code mapfile:

    REFERENCE
      IMAGE  "/images/img.gif"
      SIZE 50 100
      EXTENT   177310 2267310 209750 2332190
      STATUS ON
      COLOR -1 -1 -1
      OUTLINECOLOR 255 255 255
      MINBOXSIZE 12
      MAXBOXSIZE 300
      MARKER 0
      MARKERSIZE 10
    END

J'ai vu tout ce que je pouvais sur la carte de référence, parcouru les
forums, les docs et je n'ai pas réglé mon problème.
Quel est le principe de l'affichage de cette référence par rapport à la
carte? Faut-il expliciter son affichage quelque part ou le seul code du
mapfile suffit-il?

Merci de votre aide et désolé si c'est du rabachage




--

Hors ligne

 

#2 Wed 03 October 2007 15:31

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

Re: Carte de référence

Bonjour,

Quel OS ? Si c'est du linux, il doit aller chercher l'image à la racine du système dans le répertoire image. Est ce que ce répertoire exite bien ? Il semble pour le moins étrange de mettre un répertoire image à la racine du système. La logique serait plutot de le mettre dans /var/www/.../images/

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 03 October 2007 17:46

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

il faut spécifier que l'on veut créer cette image de référence :
en cgi :
mode=reference
ce qui retourne l'url de l'image créée

en mapscript:
$img = $pMap->drawReferenceMap();
$url = $img->saveWebImage();

$url contient alors l'url de l'image créée

Hors ligne

 

#4 Wed 03 October 2007 18:05

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Re: Carte de référence

Merci de ces réponses rapides.
Pour Yves: Effectivement, c'est du Linux. A priori c'est bien un chemin relatif au mapfile que je lui indique (enfin dans mon esprit c'est comme ça que je le vois).... En fait j'ai aussi tenté avec le chemin "en dur" mais le résultat n'a pas été meilleur. Ceci dit, la piste du chemin me semble aussi une cause possible de ce "bug".
Pour Guillaume: J'ai ecrit mon mapfile en direct, sans phpmapscript. Du coup, je me posais effectivement la question de savoir si Mapserver interprétait directement le code pour générer l'image dans ma carte ou s'il fallait quelque chose de mieux. J'essaie demain en mapscript pour voir si ça marche.
Merci à tous les deux, je vous tiens au courant. Ca fait plaisir de ne pas se sentir tout seul!!!

Hors ligne

 

#5 Thu 04 October 2007 09:21

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

Re: Carte de référence

Bonjour,

Vous avez mis une url absolue. Il faut soit mettre un point devant l'url : ./images/images.jpg soit mettre le chemin complet. D'autre part est ce que l'image est crée dans le répertoire temporaire ?

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 Thu 04 October 2007 09:32

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

attention, la manière dont tu as écrit le mapfile n'a rien à voir.
C'est la manière dont tu génères les cartes qui importe. Si tu les génères en cgi, change simplement la paramètre mode=browse en mode=reference pour générer la carte de référence.

--
Guillaume SUEUR
Expert SIG et OpenSource

Hors ligne

 

#7 Thu 04 October 2007 10:20

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Re: Carte de référence

Bonjour,

J'ai donc suivi vos justes conseils ce matin et j'ai découvert:

1. que sous Linux, effectivement, le chemin relatif pour l'image renvoyait à la racine, où evidemment il n'y a pas le dossier images puisqu'il se trouve dans mon var/www/...temp/images

2. qu'il fallait demander à mapserver de générer la carte de référence via php, le mapfile ne contenant que sa définition, comme pour une map. Ca me parait tellement évident après coup que je me demande comment j'ai pu passer à côté...;D

Donc j'obtiens à présent l'affichage de ma carte de référence  et pour celà un grand merci à tous les deux, je vais désormais vous solliciter à mort!! cool

Bonne journée

Hors ligne

 

#8 Thu 04 October 2007 10:30

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

Re: Carte de référence

Tiassma a écrit:

1. que sous Linux, effectivement, le chemin relatif pour l'image renvoyait à la racine, où evidemment il n'y a pas le dossier images puisqu'il se trouve dans mon var/www/...temp/images


Non, vous n'avez pas fait un chemin relatif mais absolu. CQFP (Ce Qu'il Faut Préciser). Tatillons, restons tatillons svp.

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

 

#9 Thu 04 October 2007 16:05

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Re: Carte de référence

Bonjour,

Vu que vous êtes très serviables, j'en profite pour solliciter à nouveau vos éclairages sur ladite carte de référence.

D'après ce que je comprend dans les docs, cette fameuse carte de référence permet d'afficher l'extent actuel de la carte principale afin d'avoir une vue de situation quelle que soit l'échelle de visualisation. Je comprend aussi qu'elle hérite de la carte principale ce qui permet à Mapserver d'effectuer les calculs par rapport aux extents pour cet affichage. Bref, du gâteau!

Mais, ô stupeur!! rien n'est jamais acquis et j'ai le sentiment que, si cette fonctionnalité magique est simplissime en CGI, elle requiert un certain développement en phpmapscript. Je m'explique: et d'une il faut dessiner cette carte de référence, et de deux il faut l'afficher (alors que certaines docs expliquent qu'elle est embed, ce qui pour moi correspondait à la même chose que la barre d'échelle et la légende, qui elles, s'affichent dans la map sans qu'on ai plus besoin de code php!) et de trois elle ne présente aucune interactivité à priori avec la map.

Qu'en est il vraiment? ou je m'emmêle inexorablement ou les docs sont parfois contradictoires!

Merci de vos lanternes! cool

Hors ligne

 

#10 Thu 04 October 2007 17:29

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

C'est qu'il a fallu s'y mettre à deux quand-même !!!

Hors ligne

 

#11 Thu 04 October 2007 17:53

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

Re: Carte de référence

Guillaume,

C'est la répartition des taches, une chacune, aah le travail de groupe ^^

Tiassma,

En phpMapsCript, il y a une méthode pour définir le mode de l'image (reference, scalebar ou principale) lors de la sauvegarde de l'image. Pour l'affichage simple les méthodes sont drawLegend(), drawReferenceMap(), draw(), drawScaleBar(), ...

A chaque changement de la carte principale, il faut vérifier si le zomm,ou l'étendu a été modifié et changer la carte de réference en conséquance. Donc, non il n'y a pas plus de développement à faire pour la carte de référence que pour la carte principale.

Je ne sais pas s'il est possible de rajouter la carte de référence dans la carte principale. À priori seul la légende et l'échelle graphique peuvent être incluses.

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

 

#12 Thu 04 October 2007 18:45

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

je vais essayer de réponse point par point...

en mapscript, il faut créer la carte avec drawReferenceMap() à partir d'un objet map. En cela c'est pareil qu'en cgi.
Il faut l'afficher : OUI, l'option EMBED n'existe pas pour l'attribut STATUS de réferenceMap (cf
http://mapserver.gis.umn.edu/docs/refer … eference). Donc tu renvoies l'url à ton avigateur.
Aucune interactivité avec la map : elle correspond (dans son dessin) à l'état de la map par rapport à l'extent spécifié dans REFERENCE au moment du drawReferenceMap(). Si entre le $pMap->draw() et le
$pMap->drawReferenceMap() tu as manipulé ton objet $pMap (changement d'extent ou autre) le résultat ne sera pas celui attendu. Dans le cas contraire ce sera cohérent.
Si par interactivité avec la map tu veux parler des images côté client, en effet il n'y a pas d'interactivité (modification de la carte principale lors du clic sur extent par ex.). Celle-ci doit se bâtir en javascript. L'idéal étant en fait de se passer de la referenceMap de MapServer (désolé !), mais de construire un petit widget comprenant une image de la carte en full extent, et d'un DIV par dessus correspondant à
l'extent en cours. Ce div pouvant évidemment être déplacé ou redimensionné. Cela t'obligera à récupérer les coordonnées de la carte, les transformer dans le référentiel pixel de ton DIV pour mettre
celui-ci à jour, mais sera nettement plus classe (voir par exemple http://plu.rouen.fr/rouen_plu2/map.phtml) !

Hors ligne

 

#13 Fri 05 October 2007 12:11

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Re: Carte de référence

OK, merci beaucoup à tous les deux, vous vous complétez vachement bien (je préconise un numéro de duettiste!!) :p

Donc en fin de compte, la carte de ref sous mapserver, c'est un peu de la blague par rapport à l'idée que je m'en faisait. Je sais pas si je vais me mettre au js mais mes collègues me dépanneront bien là-dessus en attendant.

Merci encore et bon WE cool

Hors ligne

 

#14 Fri 05 October 2007 18:56

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

ce n'est pas de la blague, car ça donne une idée juste de l'emplacement
de la vue par rapport à une extent générale. Mais disons simplement que
l'ergonomie est dépassée.
--
Guillaume SUEUR

Hors ligne

 

#15 Thu 15 November 2007 17:38

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Re: Carte de référence

Bonjour,

Je poursuis ce topic (initié par moi-même, je ne me permettrai pas!) vu que j'ai une nouvelle question concernant cette fameuse carte de référence et  ça ne vaut peut-être pas la peine de rouvrir une nouvelle discussion.

Voilà, est-il normal que l'affichage de ma map avec sa carte de référence (via php) dans mon navigateur soit significativement beaucoup longue (4 à 5 fois à vue de nez) que la même carte sans la référence??

C'est embetant....

Merci d'avance cool

Hors ligne

 

#16 Fri 16 November 2007 09:39

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Re: Carte de référence

Bonjour,

Pas de réponse...? quelqu'un m'a t-il lu? Dois-je reposter sur un nouveau sujet? je m'interroge!! cool

Hors ligne

 

#17 Fri 16 November 2007 10:37

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

Re: Carte de référence

Tiassma a écrit:

Voilà, est-il normal que l'affichage de ma map avec sa carte de référence (via php) dans mon navigateur soit significativement beaucoup longue (4 à 5 fois à vue de nez) que la même carte sans la référence??


non c'est pas normal. pour en savoir plus il faudrait que tu postes l'extrait de mapfile avec le bloc REFERENCE, et l'extrait de code php où tu genere et renvoie l'image de reference

thomas

Hors ligne

 

#18 Fri 16 November 2007 10:54

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

Non, c'est anormal. D'autant que tu ne peux raisonnablement pas
"afficher ta carte avec sa carte de référence", tu affiches ta carte ET
la carte de référence, car ce sont deux images séparées.
Sachant que le dessin de la carte de référence n'est qu'une image
préexistance sur laquelle mapserver ajoute un rectangle, le coût devrait
être très faible. D'où question : quel fichier utilises-tu comme fond
pour la carte de référence ? Je pense qu'il peut être soit trop lourd
soit trop grand. Vérifie qu'il fait bien la taille utilisée pour la
carte de référence, afin que Mapserver n'ait pas à le redimensionner ni
à faire des calculs complexes pour déterminer l'emprise en cours.
Vérifie aussi sur ton serveur la taille que font les images de
références générées. Le sourcout en temps vient aussi peut-être en
partie de là...

Bonne chance !

Hors ligne

 

#19 Fri 16 November 2007 12:00

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

j'ai répondu hier à 22 h pourtant. Bizarre que ce post (de 9 h 39 ce
matin) soit publié avant non ?

Hors ligne

 

#20 Fri 16 November 2007 12:03

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: Carte de référence

Guillaume,

Lorsque tu réponds par e-mail, ton post passe par la console de modération et nécessite donc une action manuelle de modération. En revanche, si tu passes directement par le forum, il n'y a pas de modération manuelle. Si tu souhaites donc apporter une réponse rapide, utilise le forum en web.

Ton message d'hier soir, je ne l'ai moderé que ca matin. CQFD.


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#21 Fri 16 November 2007 13:47

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

Ah bon, tu ne modères pas la nuit ?

Hors ligne

 

#22 Fri 16 November 2007 13:47

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: Carte de référence

Pas cette nuit ...


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#23 Fri 16 November 2007 14:58

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Re: Carte de référence

Merci à Guillaume et Thomas,

Donc l'image de ref pèse 3 ko

l'appel php c'est ça:

Code:

 //Dessin de l'image de référence
         $image_ref=$map->drawReferenceMap();
         $image_ref_url=$image_ref->saveWebImage();
         
echo "<IMG   
BORDER=0 
SRC='".$image_ref_url."'
/>
<BR>";

et le mapfile:

Code:

 # Création et paramétrage de la carte de référence __________________________
    REFERENCE
      IMAGE  "img.gif"
      SIZE 200 400
      EXTENT   177310 2267310 209750 2332190
      STATUS ON
      COLOR -1 -1 -1 #245 226 15
      OUTLINECOLOR 227 11 15
      #MINBOXSIZE 12
      #MAXBOXSIZE 300
      MARKER 0 #numero de symbole qui s'affiche si la carte de ref est trop petite
      MARKERSIZE 10 # taille du symbole qui s'affiche si la carte de ref est trop petite
    END

Normalement ça devrait pas lui compliquer la tâche!

Alors, qu'en pensez-vous?

cool

Hors ligne

 

#24 Sat 17 November 2007 13:28

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Carte de référence

Bon, si tu calcules le temps que prends de DrawReference et le
SaveWebImage (en mettant un timer avant et après), ça te donne quoi ?

Hors ligne

 

#25 Mon 19 November 2007 15:26

Tiassma
Participant occasionnel
Date d'inscription: 4 Dec 2006
Messages: 39

Re: Carte de référence

Heu....

en réessayant d'afficher ma carte de référence aujourd'hui, il s'avère que c'est beaucoup plus rapide que la semaine passée....du coup, j'ai bien l'impression que cette lenteur tenait d'avantage au réseau qu'au serveur.....désolé.

Merci quand même, je sais maintenant faire un timer php!! cool

Hors ligne

 

Pied de page des forums

Powered by FluxBB