#1 Fri 23 April 2010 09:43
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
exemple de mapfile postgis
Bonjour,
j'essaie de faire un mapfile connecté à postgis
dans ma fenetre web je ne vois aucune carte, seulement le fond vert du rectangle encadrant la carte (IMAGECOLOR 10 78 100)
Je n'ai pas d'erreur de compilation
quand j'affiche la couche postgis sur geoserver, ca marche je peux voir la carte depuis le viewer openlayers-geoserver
Je ne connais pas les subtilités de l'art du parametrage des mapfiles, j'ai suivi les syntaxes par ci et là mais je ne vois pas ma carte à part le fond .
Mon mapfile:
Code:
MAP IMAGETYPE PNG imageCOLOR 10 78 100 STATUS ON EXTENT -97.239 41.62 -82.123 49.386 SIZE 512 347 LAYER CONNECTION "host=localhost dbname=postgistest user=postgres password=monmotdepasse port=5432" CONNECTIONTYPE POSTGIS DATA "the_geom from states_ugl" NAME "states_ugl" TYPE POLYGON STATUS ON CLASS COLOR 89 225 225 OUTLINECOLOR 0 0 0 END END END
"the_geom" est bien le champ renfermant les obj géometriques (multipolygon) de ma table states_ugl.
La table states_ugl était un fichier shp intégré à postgis par le "postgis importer" (postgresql 8.4 et postgis 1.5)
mon url est:
http://localhost:8081/cgi-bin/mapserv.e … p;mode=map
port 8081, mon mapfile s'appelle "testjuin"
merci d'avance
Dernière modification par icadedt (Fri 23 April 2010 09:53)
Hors ligne
#2 Fri 23 April 2010 09:58
Re: exemple de mapfile postgis
Bonjour,
Quelques pistes :
1. ajoute un objet PROJECTION à ta MAP
2. augmente l'étendue de ta carte (paramètre EXTENT) au cas où celui-ci serait trop petit.
Le paramétrage du mapfile me parait correct.
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 Fri 23 April 2010 10:48
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: exemple de mapfile postgis
Bonjour,
Quelques pistes :
1. ajoute un objet PROJECTION à ta MAP
2. augmente l'étendue de ta carte (paramètre EXTENT) au cas où celui-ci serait trop petit.
Le paramétrage du mapfile me parait correct.
Y.
c'est bon j'y suis arrivé , j'ai changé légèrement la variable DATA, j'y ai ajouté " using unique gid" , où "gid" (clé primaire) est un champ de ma table postgis "states_ugl"
le mapfile devient:
Code:
MAP imageCOLOR 10 78 100 IMAGETYPE PNG STATUS ON EXTENT -97.239 41.62 -82.123 49.386 SIZE 512 347 LAYER CONNECTION "host=localhost dbname=postgistest user=postgres password=azertyuiop port=5432" CONNECTIONTYPE POSTGIS DATA "the_geom from states_ugl using unique gid" NAME "states_ugl" TYPE POLYGON STATUS DEFAULT CLASS COLOR 89 225 225 OUTLINECOLOR 0 0 0 END END END
en revanche si je parametre le status du layer à "ON", il n'affiche rien, apparement il faut qu'il soit obligatoirement à "DEFAULT" !
Savez-vous pourquoi?
Dernière modification par icadedt (Fri 23 April 2010 10:49)
Hors ligne
#4 Fri 23 April 2010 11:10
Re: exemple de mapfile postgis
Bonjour,
Voici la réponse issu de la FAQ qui te concerne :
STATUS ON and STATUS OFF set the default status of the layer. If a map is requested, those layers will be ON/OFF unless otherwise specified via the layers parameter. This is particularly the case when using MapScript and MapServer’s built-in template mechanism, but is also useful as a hint when writing your own apps and setting up the initial map view.
STATUS DEFAULT means that the layer is always on, even if not specified in the layers parameter. A layer’s status can be changed from DEFAULT to OFF in MapScript, but other than that, it’s always on.
CGI turns everything off that is not “STATUS DEFAULT” off so all layers start from the same state (e.g. off) and must be explicitly requested to be drawn or query. That common state made (at least in my mind) implementations easier. I mean, if a layer “lakes” started ON the doing layer=lakes would turn it OFF. So I wanted to remove the ambiguity of a starting state.
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