[mapserver-users] projection = geographer's pain

Roger André randre at gmail.com
Mon Oct 27 12:13:39 EDT 2008


Hi Monier,

My understanding of how this works is as follows.

Assuming your data is in epsg:4326, and you wish to display it in epsg:3785:

1) Your LAYER needs to reflect epsg:4326.
    PROJECTION
      "init=epsg:4326"
    END

2) Your layer also needs to have a wms_srs parameter in the METADATA section
to allow for the layer to be requested in epsg:3785, ie
    METADATA
      "wms_srs"             "EPSG:4326 EPSG:3785"
      "wms_name"            "counties"
      "wms_server_version"  "1.1.1"
      "wms_format"          "image/png"
      "wms_onlineresource"  "
http://localhost/cgi-bin/mapserv?map=/var/www/mapfiles/states/states.map&"
    END

3) Your request to Mapserver needs to define the extents of the image you
want , *in the units of the projection.  *So a valid request for the layer
above would be:

http://localhost/cgi-bin/mapserv?map=/var/www/mapfiles/states/state.map<http://localhost/cgi-bin/mapserv?map=/var/www/mapfiles/test/test.map>
&layers=counties
&srs=EPSG%3A3785
&version=1.1.1
&bbox=-20037508.34%2C-20037508.34%2C-10018754.1704%2C-10018754.1704
&service=WMS
&width=256
&styles=
&format=image%2Fpng
&request=GetMap
&height=25

Hope that helps,

Roger
--

Monier Clement wrote:
>
> Hi,
>
> There is bigger than tiny difference in extents in epsg:4326 and in
> epsg:3785.  The latter is using meters as an unit.
> I had a try with Finland polygon and here are the results:
>
> D:\TEMP>ogrinfo -summary Finland_WGS84.shp Finland_WGS84
> Feature Count: 1
> Extent: (19.648331, 59.804989) - (31.587299, 70.079422)
>
> D:\TEMP>ogr2ogr -f "ESRI Shapefile" -s_srs epsg:4326 -t_srs epsg:900913
> Finland_
> Spherical.shp Finland_WGS84.shp
>
> D:\TEMP>ogrinfo -summary Finland_Spherical.shp Finland_Spherical
> Feature Count: 1
> Extent: (2187242.167179, 8356448.200347) - (3516282.078834,
> 11094615.004724)
>
> -Jukka-
>
>
> > Hi,
> >
> > I got the map extent from shpinfo.
> > Beside, I know that there should only be a tiny difference
> > between coordinates in latlon-wgs84 (data proj) and "web
> > spherical mercator" (map proj).
> >
> > You'll find the whole test-case files as attachement.
> >
> > Here's the command line to get the map :
> > C:\ms4w\tools\mapserv\shp2img -m
> > C:\ms4w\apps\gmap\htdocs\test.map -o test.png -l layer1 -i agga
> >
> > Thanks
> >
> > Clément
> >
> >
> > -----Message d'origine-----
> > De : Rahkonen Jukka [mailto:Jukka.Rahkonen at mmmtike.fi]
> > Envoyé : lundi 27 octobre 2008 12:46
> > À : Monier Clement; mapserver-users at lists.osgeo.org Objet :
> > VS: [mapserver-users] projection = geographer's pain
> >
> > Hi,
> >
> > Have you double-checked that your map extent correspods with
> > the map projection?
> > Or if you could send your whole mapfile I am pretty sure that
> > you will get a final answer to your problem.
> >
> > -Jukka Rahkonen-
> >
> > > -----Alkuperäinen viesti-----
> > > Lähettäjä: mapserver-users-bounces at lists.osgeo.org
> > > [mailto:mapserver-users-bounces at lists.osgeo.org] Puolesta Monier
> > > Clement
> > > Lähetetty: 27. lokakuuta 2008 13:39
> > > Vastaanottaja: 'Pietro Giannini'; mapserver-users at lists.osgeo.org
> > > Aihe: RE: [mapserver-users] projection = geographer's pain
> > >
> > >
> > > Thanks for your answers Roger & Pietro.
> > >
> > > I've followed your advice by trying these 4 test-cases :
> > >
> > > 1)
> > > Map proj set to :   "init=epsg:3785" (web spherical Mercator,
> > > manually added
> > > into espg file)
> > > Layer proj set to : "init=epsg:4326" (latlon wgs84, proj
> > system of my
> > > shapefiles)
> > >
> > > => got a blank map
> > >
> > > 2)
> > > Map projection set to : "init=epsg:4326"
> > > Layer projection set to : "init=epsg:4326"
> > >
> > > => got a map
> > >
> > > 3)
> > > Map projection set to : "init=epsg:3785"
> > > Layer projection set to : "init=epsg:3785"
> > >
> > > => got the same map as 2)
> > >
> > > 4)
> > > Map projection set to : "init=epsg:4326"
> > > Layer projection set to : "init=epsg:3785"
> > >
> > > => got a blank map
> > >
> > > I've also tried with another well-known existing epsg proj-system
> > > (instead of the manually-added 3785 code), but got the same results.
> > > I've made other attempts by replacing "init=3785" by full
> > description
> > > proj-string like "+proj=longlat +ellps=WGS84
> > > +datum=WGS84 +no_defs  no_defs"
> > > or "+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"
> > > But it didn't change anything...
> > >
> > > It seems that :
> > > - a map is drawn only if the map's and layer's proj-systems are the
> > > same.
> > > - the output projection is always overridden by the
> > shapefile system,
> > > no re-projection is done anyway.
> > >
> > > Let me know if you have any further leads to solve this issue.
> > >
> > > Thanks for your help
> > >
> > > Clément
> > >
> > > -----Message d'origine-----
> > > De : mapserver-users-bounces at lists.osgeo.org
> > > [mailto:mapserver-users-bounces at lists.osgeo.org] De la part
> > de Pietro
> > > Giannini Envoyé : vendredi 24 octobre 2008 21:40 À
> > > : mapserver-users at lists.osgeo.org Objet : Re:
> > > [mapserver-users] projection = geographer's pain
> > >
> > > I can confirm that projection is often a pain!
> > >
> > > However, the problem may be in the projection of the layer.
> > >
> > > The PROJECTION section in a layer declare the projection of
> > the data
> > > source of this layer, while the PROJECTION on the map level is the
> > > projection wich you want to show the whole map. So you can overlay
> > > more data sources in different projection in a single map.
> > >
> > > Try to set the layer PROJECTION as "init=epsg:4326".
> > > Let us know...
> > > ciao
> > > ........................... pg
> > >
> > >
> > > --
> > > Pietro Giannini
> > > Bytewise srl - Area GIS
> > > 41°50'38.58"N 12°29'13.39"E
> > >
> > >
> > >
> > >
> > > On Ven, Ottobre 24, 2008 16:55, Monier Clement wrote:
> > > > Hi,
> > > >
> > > >
> > > >
> > > > I'm running MS4W v2.2.8 (including MapServer 5.2) on windows.
> > > >
> > > > My datasource is shapefiles with WGS84 projection (epsg:4326).
> > > >
> > > > I would like MapServer to render these data into a "Web
> > (spherical)
> > > > Mercator" projected map (epsg:3785) in order to perfectly
> > > overlay the
> > > > GoogleMaps tile images (for the moment, my maps are
> > slightly shifted
> > > > north.)
> > > >
> > > >
> > > >
> > > > I've added this string at the end of the file "epsg" in
> > > /ms4w/proj/nad :
> > > >
> > > > <3785> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0
> > > +lon_0=0.0 +x_0=0.0
> > > > +y_0=0 +k=1.0 +towgs84=0,0,0,0,0,0,0 +units=m
> > > +nadgrids=@null +no_defs <>
> > > >
> > > >
> > > >
> > > > But I don't know how to modify my request and mapfile in
> > > order to get the
> > > > correct map.
> > > >
> > > > I've tried many combinations so far but with no success until now.
> > > >
> > > >
> > > >
> > > > Do I have to change the projection system of my shapefiles ?
> > > >
> > > > Is MapServer able to change projection between input and output ?
> > > >
> > > >
> > > >
> > > > Request : "&SRS=epsg:3785"
> > > >
> > > >
> > > >
> > > > MapFile :
> > > >
> > > >
> > > >
> > > > [Map section]
> > > >
> > > >   METADATA
> > > >
> > > >     "wms_srs"   "EPSG:4326 EPSG:3785" # is this correct ?
> > > >
> > > >   END
> > > >
> > > >
> > > >
> > > > PROJECTION
> > > >
> > > >    "init=epsg:3785" # is this correct ?
> > > >
> > > > END
> > > >
> > > >
> > > >
> > > > [Layer section]
> > > >
> > > >   METADATA
> > > >
> > > >     "wms_srs"   "EPSG:3785" # is this correct ?
> > > >
> > > >   END
> > > >
> > > >   PROJECTION
> > > >
> > > >    "init=epsg:3785" # is this correct ?
> > > >
> > > >   END
> > > >
> > > >
> > > >
> > > > With these settings, the pictures I got from MapServer are
> > > still shifted.
> > > >
> > > >
> > > >
> > > > Thanks for your help
> > > >
> > > >
> > > >
> > > > Clement
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > mapserver-users mailing list
> > > > mapserver-users at lists.osgeo.org
> > > > http://lists.osgeo.org/mailman/listinfo/mapserver-users
> > > >
> > >
> > >
> > > _______________________________________________
> > > mapserver-users mailing list
> > > mapserver-users at lists.osgeo.org
> > > http://lists.osgeo.org/mailman/listinfo/mapserver-users
> > >
> > > _______________________________________________
> > > mapserver-users mailing list
> > > mapserver-users at lists.osgeo.org
> > > http://lists.osgeo.org/mailman/listinfo/mapserver-users
> > >
> >
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20081027/c6e1e867/attachment-0001.html


More information about the mapserver-users mailing list