#1 Mon 10 August 2009 16:36
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
[mapserv]
Bonjour,
Je désir crée un serveur de carte qui réagit de la même manière que Google Map, pour pouvoir le coupler avec une apli Java utilisant l'API JXMapViewer.
Je part d'une carte sous le forme d'une image .tif avec le .tfw corespondant.
après avoir effectuer gdal_translate et gdaltindex. J'écris le code suivant :
Code:
MAP NAME "sample" IMAGETYPE PNG24 STATUS ON EXTENT -180 -90 180 90 # Geographic SIZE 2048 1024 IMAGECOLOR 128 128 255 SHAPEPATH "../data/test2/" SYMBOLSET "../etc/symbols.txt" # # Start of web interface definition # WEB IMAGEPATH "C:\OSGeo4W/tmp/ms_tmp/" IMAGEURL "/ms_tmp/" END PROJECTION "init=epsg:4326" END OUTPUTFORMAT NAME jpegfull DRIVER "GD/JPEG" MIMETYPE "image/jpeg" IMAGEMODE RGB EXTENSION "jpg" FORMATOPTION "QUALITY=100" END # # Start of layer definitions # LAYER NAME tileMonde TYPE RASTER STATUS ON #DATA "mondeTiled.tif" TILEINDEX "tindex.shp" TILEITEM "LOCATION" METADATA "ows_srs" "EPSG:4326" "ows_extent" "-180 -90 180 90" END PROJECTION "init=epsg:4326" END END END
Ensuite lorsque j'appelle mon serveur comme ceci en mode map :
Code:
http://localhost/cgi-bin/mapserv.exe?map=C:\OSGeo4W\apps\test\mapfiles\testtile2.map&mode=map&layer=tileMonde
Je n'ai aucun problème et tout s'affiche correctement.
Mais quand je demande le mode tile ainsi :
Code:
http://localhost/cgi-bin/mapserv.exe?map=C:\OSGeo4W\apps\test\mapfiles\testtile2.map&tilemode=gmap&mode=tile&layer=all&tile=0+0+0
Je n'ai qu'un carré de 256 par 256 (jusque là tout vas bien) mais ils et monochrome :
Code:
IMAGECOLOR 128 128 255
Pourriez vous me dire ce que je doit faire pour que les tuiles affiche bien la partie de la carte dont j'ai besoin.
si vous désirez plus ample détail je suis a votre disposition
Merci de votre attention.
Hors ligne
#2 Tue 11 August 2009 09:36
Re: [mapserv]
Bonjour,
Un problème de projection ?
The output CRS will be set to “spherical mercator” (EPSG:900913)
[Source : http://mapserver.org/development/rfc/ms-rfc-43.html]
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 Tue 11 August 2009 10:21
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
Re: [mapserv]
Bonjours,
Merci pour ta réponse.
En effet sa semble être le problème.
Malheureusement avec cette projection : 900913 j'ai cette erreur qui s'affiche :
Code:
msProcessProjection(): Projection library error. no options found in 'init' file
Auriez vous une idée pour m'aider à aller plus loin ?
Merci de votre attention.
EDIT :
J'ai fait différent test avec plusieurs projection et soit j'ai cette erreur soit j'ai toujours le même problème.
Dernière modification par Sanby (Tue 11 August 2009 10:48)
Hors ligne
#4 Tue 11 August 2009 10:33
Re: [mapserv]
bonjour,
Rajoute ceci dans ton fichier proj4/epsg :
<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs
Pour information le code EPSG officiel pour la projection de Google Maps est le n°3785. Le code 900913 est un code officieux (chaque chiffre correspond à une lettre du mot Google) qui reste encore largement utilisé !
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
#5 Tue 11 August 2009 11:05
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
Re: [mapserv]
Bonjour,
Merci pour cette précision.
Toutefois même si je n'ai plus l'erreur j'ai toujours mon problème ...
Mon image de test est une .tif en 2048x1024 qui représente une vue satellite du globe. J'ai vue que sur Google l'image de zoom 0 est en 512x512. Cela joue t'il ?
Merci de votre attention et de votre patience.
EDIT :
Voici les opérations effectuées sur mon image :
Code:
gdal_translate -of GTiff -srcwin 0 0 2048 1024 monde.tif mondeTiled.tif gdaltindex tindex.shp mondeTiled.tif
EDIT2 :
J'ai le cruelle impression qu'en mode tile mapserv ne passe pas dans le Layer.
Appel :
Code:
http://localhost/cgi-bin/mapserv.exe?map=C:\OSGeo4W\apps\test\mapfiles\testtile3.map&tilemode=gmap&mode=tile&layer=tileMonde&tile=0+0+0
Peut-être un problème dans mon layer :
Code:
LAYER NAME tileMonde TYPE RASTER STATUS ON #DATA "mondecarreTiled.tif" TILEINDEX "carretindex.shp" TILEITEM "LOCATION" EXTENT -180 -90 180 90 METADATA "ows_srs" "EPSG:900913" "ows_extent" "-180 -90 180 90" END PROJECTION "init=epsg:900913" END END
Si vous trouver quelque chose de louche je vous remercie de me le signaler.
Dernière modification par Sanby (Tue 11 August 2009 13:07)
Hors ligne
#6 Tue 11 August 2009 14:24
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
Re: [mapserv]
Bonjour,
Après une petit batteries de test (en mettant une erreur dans mon layer). Il m'est apparue que lorsque je demande le mode tile (&mode=tile) mapserv ne passe pas mon layer qui m'affiche correctement ma carte en mode map (&mode=map).
Cela reste un mystère.
Merci de votre attention.
Sanby
Hors ligne
#7 Tue 11 August 2009 14:41
Re: [mapserv]
Sanby,
Il y a un soucis avec l'extend et la projection. Le code 900913 doit être rajouté au niveau de l'objet MAP pour permettre à mapserver de reprojeter la carte dans cette projection.
Tu dois cependant définir la projection de ta couche en fonction de sa projection (4326 ?).
Autre chose, peut etre peux tu tenter de supprimer la majuscule (je ne pense pas que cela soit la cause, mais ca ne coute rien d'essayer)
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 Tue 11 August 2009 14:58
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
Re: [mapserv]
Bonjour,
Ca marche !
En effet c'était bien ce que tu disais.
Avec ce code ci :
Code:
MAP NAME "test" IMAGETYPE PNG24 STATUS ON EXTENT -180 -90 180 90 # Geographic SIZE 800 400 IMAGECOLOR 128 128 255 SHAPEPATH "../data/test3/" SYMBOLSET "../etc/symbols.txt" # # Start of web interface definition # WEB IMAGEPATH "C:\OSGeo4W/tmp/ms_tmp/" IMAGEURL "/ms_tmp/" END PROJECTION "init=epsg:900913" #"init=epsg:27582" END OUTPUTFORMAT NAME jpegfull DRIVER "GD/JPEG" MIMETYPE "image/jpeg" IMAGEMODE RGB EXTENSION "jpg" FORMATOPTION "QUALITY=100" END # # Start of layer definitions # LAYER NAME tileMonde TYPE RASTER STATUS ON TILEINDEX "carretindex.shp" TILEITEM "LOCATION" EXTENT -180 -90 180 90 METADATA "ows_srs" "EPSG:4326" "ows_extent" "-180 -90 180 90" END PROJECTION "init=epsg:4326" END END END
Je te remercie sincèrement tu viens de me débloquer 2 semaine !
Je te souhaite une bonne journée et bonne continuation.
Encore merci de votre attention et à une prochaine fois.
Sanby
Dernière modification par Sanby (Tue 11 August 2009 18:17)
Hors ligne