Advertisement
Guest User

Untitled

a guest
May 6th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.11 KB | None | 0 0
  1. private function tile2latlon($tile, $zoom, $bound) {
  2.  
  3.         $n = pow(2, $zoom);
  4.  
  5.         function long($tile_x_coord, $n) {
  6.             return $lon_deg_nw = $tile_x_coord / $n * 360.0 - 180.0;
  7.         }
  8.         function lat($tile_y_coord, $n) {
  9.             return rad2deg(atan(sinh(pi() * (1 - 2 * $tile_y_coord / $n))));
  10.         }
  11.  
  12.         switch ($bound) {
  13.             case 'NW':
  14.                 $lat_deg_nw = lat($tile[1], $n);
  15.                 $lon_deg_nw = long($tile[0], $n);
  16.                 return [$lat_deg_nw, $lon_deg_nw];
  17.             case 'SE':
  18.                 $lat_deg_se = lat($tile[1] + 1, $n);
  19.                 $lon_deg_se = long($tile[0] + 1, $n);
  20.                 return [$lat_deg_se, $lon_deg_se];
  21.             case 'NE':
  22.                 $lat_deg_ne = lat($tile[1], $n);
  23.                 $lon_deg_ne = long($tile[0] + 1, $n);
  24.                 return [$lat_deg_ne, $lon_deg_ne];
  25.             case 'SW':
  26.                 $lat_deg_sw = lat($tile[1] + 1, $n);
  27.                 $lon_deg_sw = long($tile[0], $n);
  28.                 return [$lat_deg_sw, $lon_deg_sw];
  29.         }
  30.  
  31.         return [];
  32.  
  33.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement