R: computes the centered coordinate transformation from lat/lon...

XY2LatLon {RgoogleMaps} | R Documentation

## computes the centered coordinate transformation from lat/lon to map tile coordinates

### Description

The function XY2LatLon(MyMap, X,Y,zoom) computes the coordinate transformation from map tile coordinates to lat/lon given a map object.

### Usage

    XY2LatLon(MyMap, X, Y, zoom)

### Arguments

`MyMap` | map object
`X` | latitude values to transform
`Y` | longitude values to transform
`zoom` | optional zoom level. If missing, taken from `MyMap`

### Value

properly scaled and centered (with respect to the center of `MyMap` ) coordinates

`lon` | longitude
`lat` | latitude

### Author(s)

Markus Loecher

### See Also

LatLon2XY Tile2R

### Examples

    #quick test:

      zoom=12;MyMap <- list(40,-120,zoom, url="google", BBOX = list(ll=c(35,-125), ur=c(45,-115)));
      LatLon <- c(lat = 40.0123, lon = -120.0123);
      Rcoords <- LatLon2XY.centered(MyMap,LatLon["lat"],LatLon["lon"])
      newLatLon <- XY2LatLon(MyMap, Rcoords$newX, Rcoords$newY)
      max(abs(newLatLon - LatLon));

    #more systematic:
     for (zoom in 2:10){
       cat("zoom: ", zoom, "\n");
       MyMap <- list(40,-120,zoom, url="google", BBOX = list(ll=c(35,-125), ur=c(45,-115)));
       LatLon <- c(lat = runif(1,-80,80), lon = runif(1,-170,170));
       Rcoords <- LatLon2XY.centered(MyMap,LatLon["lat"],LatLon["lon"])
       newLatLon <- XY2LatLon(MyMap, Rcoords$newX, Rcoords$newY)
       if(max(abs(newLatLon - LatLon)) > 0.0001) print(rbind(LatLon, newLatLon));
     }

[Package RgoogleMaps version 1.4.1 Index]