I'm not a wizard myself, but I had the same problem a few months ago. In my Openlayers code, I finally put in the code below, and this gave a good result. But perhaps this is of no help. In my Mapfile, I don't have the Google projection (900913), but WGS84 (4326).
Best regards, Arlen function init(){ var mapoptions = { projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326"), units: "m", maxExtent: new OpenLayers.Bounds(375000,6550000,800000,7100000), tileSize: new OpenLayers.Size(256,256) }; (...etc...) On Tue, Aug 17, 2010 at 12:04 AM, B. Heath Robinson <bhea...@gmail.com>wrote: > I am having a problem with a WMS layer lining up on top of a Google map. > It appears to be about 15mi south of were it needs to be. I am assuming > this is because of the fact that spherical mercator ignores the fact the > earth is an ellipse. Anyway, I have included my openlayers code and my > mapfile as after spending hours search seems to be helpful. > > I get the same results using either a shapfile or postgis data each with a > different projection. > > I am using what I believe to be the best method. If I use "reproject:true" > the map does line up, but that causes other known problems and is > deprecated. Any help would be greatly appreciated. > > --------MAPFILE---------- > MAP > NAME "Test Map" > SIZE 256 256 > MAXSIZE 40096 > UNITS feet > DEBUG ON > DEBUG 5 > CONFIG "PROJ_LIB" "/usr/local/share/proj" > CONFIG "MS_ERRORFILE" "/tmp/mapserver.log" > EXTENT -10899765.713460 3586328.494261 -10787636.706166 3654203.662907 > > PROJECTION > "init=epsg:900913" > END > > IMAGECOLOR 255 255 255 > IMAGEQUALITY 85 > IMAGETYPE AGGA > > OUTPUTFORMAT > NAME AGGA > DRIVER 'AGG/PNG' > MIMETYPE 'image/png' > IMAGEMODE RGBA > EXTENSION 'png' > #FORMATOPTION "QUANTIZE_FORCE=on" > #FORMATOPTION "QUANTIZE_COLORS=256" > FORMATOPTION "QUANTIZE_NEW=on" > END > > LAYER > NAME 'cities' > TYPE POLYGON > DUMP true > PROCESSING "CLOSE_CONNECTION=DEFER" > CONNECTIONTYPE postgis > CONNECTION "dbname='regnumvisum' host=localhost port=5432 user='ecweb' > password='tklM3E1m0' sslmode=disable" > DATA 'limits FROM "maps_city" USING UNIQUE id USING srid=4326' > METADATA > 'ows_title' 'parcels' > 'wms_srs' 'EPSG:900913 EPSG:3785' > 'wms_format' 'image/png' > END > STATUS ON > TRANSPARENCY 50 > PROJECTION > "init=epsg:4326" > END > CLASSITEM 'id' > CLASS > NAME 'default' > STYLE > SYMBOL 0 > SIZE 7.0 > OUTLINECOLOR 255 255 255 > COLOR [color] > ANTIALIAS TRUE > END > END > END > > LAYER > NAME 'cities-shp' > TYPE POLYGON > DUMP true > DATA /Users/bheathr/EdenicConfluence/sample_files/Unified > METADATA > 'ows_title' 'parcels' > 'wms_srs' 'EPSG:900913 EPSG:3785' > 'wms_format' 'image/png' > END > STATUS ON > TRANSPARENCY 50 > PROJECTION > "init=epsg:2277" > END > CLASSITEM 'OBJECTID' > CLASS > NAME 'default' > STYLE > SYMBOL 0 > SIZE 7.0 > OUTLINECOLOR 255 255 255 > COLOR 0 0 0 > ANTIALIAS TRUE > END > END > END > END > ---------MAPFILE------------- > ---------Open Layers--------- > function init(){ > var options = { > projection: "EPSG:900913", > units: "ft", > maxResolution: 156543.0339, > maxExtent: new OpenLayers.Bounds(-20037508, -20037508, > 20037508, 20037508) > }; > map = new OpenLayers.Map('map', options); > > var gmap = new OpenLayers.Layer.Google( > "Google Streets", > {'sphericalMercator': true} > ); > > cities = new OpenLayers.Layer.WMS("Bell Cities", > " > http://localhost/cgi-bin/mapserv", > {'map': > '/Users/bheathr/EdenicConfluence/regnumvisum/etc/test.map', > 'layers': 'cities-shp', > 'format':'png'}, > {'reproject': false, > 'opacity': 0.4, > 'isBaseLayer': false, > 'wrapDateLine': true}); > > // create a vector layer for drawing > vector = new OpenLayers.Layer.Vector("Editable Vectors"); > > map.addLayers([gmap, cities]); > map.addControl(new OpenLayers.Control.LayerSwitcher()); > centerMap(-97.67112,30.974599,-97.18326,31.18982); > } > > function centerMap(top,left,bottom,right) { > var proj = new OpenLayers.Projection("EPSG:4326"); > var bounds = new OpenLayers.Bounds(top,left,bottom,right); > bounds.transform(proj, map.getProjectionObject()); > if (!map.getCenter()) map.zoomToExtent(bounds); > } > > ---------Open Layers--------- > _______________________________________________ > Users mailing list > Users@openlayers.org > http://openlayers.org/mailman/listinfo/users > >
_______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users