[mapserver-users] Using mapserver with EPSG:900913
Subha Ramakrishnan
subha at gslab.com
Thu Aug 21 05:11:46 PDT 2008
Hi,
Could you also check the map file and tell me if i am making a mistake
there?
This is the map file i am using.
MAP
NAME MAP_POINTS
SIZE 725 800
IMAGETYPE PNG
EXTENT 6679169.446666667 -7.081154550627918 11131949.077777777
4865942.278825832
WEB
METADATA
wms_srs "EPSG:4326 EPSG:900913"
END
END
PROJECTION
"init=epsg:900913"
END
LAYER
CONNECTIONTYPE postgis
NAME indiastates
CONNECTION "user=postgres dbname=test host=localhost"
TYPE POINT
STATUS DEFAULT
#DATA "topology from states"
DATA "topology from india_states using unique id using SRID -1"
CLASS
COLOR 255 0 0
END
END
END
Is it possible for you to share your map file if you have any?
Regards,
Subha
Rafael Almeida Fernandez Soto wrote:
> Subha..
>
> You need to insert a EPSG:900913 description code in PROJ4 config
> files and a row in spatial_ref_sys table in postgis DB. By default
> PROJ4 has not a 900013 projection reference.
>
> Try it!
>
> Best regards
>
> Rafael Soto
>
> 2008/8/20 Subha Ramakrishnan <subha at gslab.com <mailto:subha at gslab.com>>
>
> Hi :
> We are building a map based web portal using openlayers ,UMN
> mapserver[5.0.2] and postgis DB.We use google as the base map
> through openlayers.We need to overlay our custom layers from the
> db on top of this base map, for that we are using Mapserver (is
> run on a FC7 linux machine). It is observed that by default
> openlayers converts google projection [900913] to EPSG:4326 when
> the base map is fetched.
>
> Now when we try to overlay an image that the mapserver generates,
> there is a mismatch on the base map, though mapserver uses
> epsg::4326. After searching over the internet theere seems to be
> only one solution which is displaying the base map itself in
> epsg:900913 and emit the mapserver image also in the same
> projection. The problem is we are not able to generate an image
> through mapserver in epsg::900913.
>
> We have taken following measures untill now :
>
> 1> For using epsg:900913 projection in mapserver, we have added
> following entry in the /usr/local/share/proj/epsg file.[proj
> version 4.6]
> "<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 <>" 2>
> We have added following entry in the "in the spatial_ref_sys table
> in postgis DB.
> "900913 ,'EPSG',900913,'GEOGCS["WGS 84", DATUM["World Geodetic
> System 1984", SPHEROID["WGS 84", 6378137.0,
> 298.257223563,AUTHORITY["EPSG","7030"]],
> AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich", 0.0,
> AUTHORITY["EPSG","8901"]], UNIT["degree",0.017453292519943295],
> AXIS["Longitude", EAST], AXIS["Latitude",
> NORTH],AUTHORITY["EPSG","4326"]],
> PROJECTION["Mercator_1SP"],PARAMETER["semi_minor", 6378137.0],
> PARAMETER["latitude_of_origin",0.0], PARAMETER["central_meridian",
> 0.0], PARAMETER["scale_factor",1.0], PARAMETER["false_easting",
> 0.0], PARAMETER["false_northing", 0.0],UNIT["m", 1.0], AXIS["x",
> EAST], AXIS["y", NORTH],AUTHORITY["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'); The mapfile is as
> follows: (With this, We get a blank image without any exception.)
> MAP
> NAME MAP_POINTS
> SIZE 725 800
> IMAGETYPE PNG
> EXTENT 6679169.446666667 -7.081154550627918 11131949.077777777
> 4865942.278825832
> WEB
> METADATA
> wms_srs "EPSG:4326 EPSG:900913"
> END
> END
> PROJECTION
> "init=epsg:900913"
> END
> LAYER
> CONNECTIONTYPE postgis
> NAME indiastates
> CONNECTION "user=postgres dbname=test host=localhost"
> TYPE POINT
> STATUS DEFAULT
> #DATA "topology from states"
> DATA "topology from india_states using unique id using SRID -1"
> CLASS
> COLOR 255 0 0
> END
> END
> END
>
> The client (openlayer) code is as follows :
> options = {
> projection: new OpenLayers.Projection("EPSG:900913"),
> displayProjection: new OpenLayers.Projection("EPSG:4326"),
> units: "m",
> maxResolution: 156543.0339,
> maxExtent: new OpenLayers.Bounds(-20037508, -20037508,
> 20037508, 20037508.34)
> };
> map = new OpenLayers.Map('map', options);
> var gphy = new OpenLayers.Layer.Google("Google
> Physical",{type: G_PHYSICAL_MAP,'sphericalMercator': true});
> map.addLayers(gphy);
> var lonLat = new OpenLayers.LonLat(82, 23) ;
>
> lonLat.transform(map.displayProjection,map.getProjectionObject());
> map.setCenter(lonLat,5);
> var wms ;
> wms = new OpenLayers.Layer.WMS( layername,
> "http://localhost/cgi-bin/mapserv?",
> { map: 'demo.map',
> projection:"EPSG:900913",
> transparent: 'true', layers: 'indiastates',
> format: 'image/png'},{singleTile: 'true'} );
> map.addLayer(twms1);
>
> Can anyone help us in any way?
> Also,
> We have tried overlaying layer fetched from our map server
> on different basemaps from (meta carta and tera pages) and have
> found it overlays perfectly So clearly there is is problem
> overlaying on google map through openlayers in epsg : 4326.
> Thanks and sorry for the long mail.
> Expecting a reply.
>
> Subha.
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> <mailto:mapserver-users at lists.osgeo.org>
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
>
>
> --
> RAFAEL Almeida Fernandez Soto :: rafael at opengeo.com.br
> <mailto:rafael at opengeo.com.br>
> Consultant in FOSS GIS :: 55 21 2518-6233 :: 55 71 8802-0600
> OpenGEO :: On-demand training and solutions :: www.opengeo.com.br
> <http://www.opengeo.com.br>
> GEO Livre community:: Because Geoinformation should be free ::
> www.geolivre.org.br <http://www.geolivre.org.br>
> Be free by using Free Software, such as MapServer, PostgreSQL/PostGIS,
> gvSIG...
>
> --
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
> believed to be clean.
More information about the MapServer-users
mailing list