[OpenLayers-Users] WMS overlay alignment on Google Map baselayer
Arnd Wippermann
arnd.wippermann at web.de
Sun Aug 20 03:44:22 CDT 2006
Hello,
I would think, OpenLayers does not currently support drawing WMS results
WRONG on top of Google Maps. With adding the vmap-Layer to google_map.html
it seems that the arcadia-layer lies on the right position.
Am I right, that Google Maps in OpenLayers always differ from the correct
SRS, because Google use a special projection (to avoid users from simple
joining their own data with google maps?) and therefor I have to modificate
my own data to show them with Google as underlieing map. That is my
experience with a WMS Point layer, from which I have made a KML-file
(EPSG:4326) to show the points in Google Map or Earth. I had to add an
offset to place the points at the right place.
Mit freundlichen Grüssen
Arnd Wippermann
http://gis.ibbeck.de/pinguinale/
-----Ursprüngliche Nachricht-----
Von: users-bounces at openlayers.org [mailto:users-bounces at openlayers.org] Im
Auftrag von Christopher Schmidt
Gesendet: Freitag, 18. August 2006 19:44
An: Ross Mongin
Cc: users at openlayers.org
Betreff: Re: [OpenLayers-Users] WMS overlay alignment on Google Map
baselayer
On Fri, Aug 18, 2006 at 12:14:40PM -0500, Ross Mongin wrote:
> Several posts have touched on the topic of Google Maps mix of Lat /Lon
> and Mercator at different zoom levels.
>
> http://mailman-viper.python-hosting.com/pipermail/users/2006-June/0000
> 29.html
>
> The Google Map / Geoserver WMS function works. The javascript
> function adjusts the WMS request, setting the SRS to the correct
> projection as it moves to the lower zoom levels.
>
> http://www.mongin.net/maps/google_map1.html
That's not all that this does. The code in use here translates from
coordinates in Lat/Lon unprojected to mercator, meaning it 'skews' each tile
request in the CustomGetTileURL function. Because WMS supports non-square
pixels, the image looks right.
var lULP = new GPoint(a.x*256,(a.y+1)*256);
var lLRP = new GPoint((a.x+1)*256,a.y*256);
var lUL = G_NORMAL_MAP.getProjection().fromPixelToLatLng(lULP,b,c);
var lLR = G_NORMAL_MAP.getProjection().fromPixelToLatLng(lLRP,b,c);
This is the code in question.
>
> However, the same WMS service called using the OpenLayers control
> shows the tile overlay incorrectly offset, even at the lower zoom
> levels when it is using lat/long ESPG 4326.
Google does not ever use EPSG:4326. The images at smaller zooms seem less
distored because distortion is as a result of geographic vertical skew, and
there is less geographic vertical distortion when there is less geographic
vertical distance to cover.
OpenLayers does not currently support drawing WMS results correctly on top
of Google Maps. Patches to add this functionality where appropriate are
welcome.
Regards,
--
Christopher Schmidt
Web Developer
_______________________________________________
Users mailing list
Users at openlayers.org
http://mailman-viper.python-hosting.com/listinfo/users
More information about the Users
mailing list