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 [EMAIL PROTECTED] +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 [EMAIL PROTECTED] +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
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to