[OpenLayers-Users] Conversion to Spherical Mercator - 100m error

George.Muammar george at muammar.net
Fri Aug 8 16:02:31 EDT 2008


Hello List, 

I am amazed by Openlayers' capabilities of displaying Google Maps, VE and
WMS/WFS layers all on the same map.

So it did not bother me much when I noticed that Google and VE have an
approx. 50 meter displacement (in my part of the world, NE of Rome, Italy).
When I looked closer at google I noticed that the matching between the
imagery and the road layer was pretty bad it made me feel better.

When I added my own cadastral data I got worried. There is about 100m
vertical displacement between my data and V.E. data. Now VE are using the
same ortophotos I am using (50cm pixel aerial imagery made by the most
respectable company in Italy - indisputably perfect). These ortophotos are
provided by the company in the projection of "Gauss Boaga" (which ESRI
wrongly call Monte Mario - Italy). What's more the Road layer in VE matches
the ortophotos perfectly.

The road layer (Teleatlas / Navteq) comes in UTM - WGS84 and I also combine
it with my cadastral data. I play with these projections every day and are
very confident with them  - but not so with the so called "spherical
mercator"

Does anybody have any opinion in the matter ? has anyone tried to overlay
Google / VE / Yahoo with very accurate maps ?

For the record I am doing the following: (maybe something wrong)

projections in Proj.4 epsg file:

# Spherical Mercator for Google etc. 
<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
#	GAUSS BOAGA EST 
<3004> +proj=tmerc +lat_0=0 +lon_0=15.0 +k=0.999600 +x_0=2520000 +y_0=0
+ellps=intl +pm=0 +units=m  no_defs <>


I define my map thus:
	var smproj = new OpenLayers.Projection("EPSG:900913");

	mapOptions = {
	    projection: smproj,
	    units: "m",
	    displayProjection: geoproj
	};


my layers thus:
           var hyblayer = new OpenLayers.Layer.VirtualEarth( ....
'sphericalMercator': true});

		var pmwms = new OpenLayers.Layer.WMS( .....
                          {'projection': smproj});



-- 
View this message in context: http://www.nabble.com/Conversion-to-Spherical-Mercator---100m-error-tp18898188p18898188.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.




More information about the Users mailing list