Changeset 175 for trunk/globals/classes/srtm.php
- Timestamp:
- 03/02/2007 02:36:10 AM (5 years ago)
- File:
-
- 1 edited
-
trunk/globals/classes/srtm.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/globals/classes/srtm.php
r169 r175 29 29 30 30 function get_elevation($lat, $lon, $round=TRUE) { 31 if ($lat < 0) { 32 $lat_dir = 'S'; 33 $lat_adj = 1; 34 } else { 35 $lat_dir = 'N'; 36 $lat_adj = 0; 37 } 38 if ($lon < 0) { 39 $lon_dir = 'W'; 40 $lon_adj = 1; 41 } else { 42 $lon_dir = 'E'; 43 $lon_adj = 0; 44 } 31 45 $y = $lat; 32 46 $x = $lon; 33 34 $filename = $this->data_path.'N'.(integer)$lat.'E'.((integer)$lon<100?'0'.(integer)$lon:(integer)$lon).'.hgt'; 35 36 if ($lat == '' || $lon == '' || !file_exists($filename)) 37 return FALSE; 38 47 48 $filename = $this->data_path.$lat_dir.sprintf("%02.0f", (integer)($lat+$lat_adj)).$lon_dir.sprintf("%03.0f", (integer)($lon+$lon_adj)).'.hgt'; 49 if ($lat === '' || $lon === '' || !file_exists($filename)) return FALSE; 50 39 51 $file = fopen($filename, 'r'); 40 $offset = ( (integer)(($x - (integer)$x ) * 1200) * 2 + (1200 - (integer)(($y - (integer)$y) * 1200)) * 2402 );52 $offset = ( (integer)(($x - (integer)$x + $lon_adj) * 1200) * 2 + (1200 - (integer)(($y - (integer)$y + $lat_adj) * 1200)) * 2402 ); 41 53 fseek($file, $offset); 42 54 $h1 = bytes2int(strrev(fread($file, 2))); … … 54 66 } 55 67 56 $fx = ($lon - ( integer)($lon * 1200) / 1200) * 1200;57 $fy = ($lat - ( integer)($lat * 1200) / 1200) * 1200;68 $fx = ($lon - ((integer)($lon * 1200) / 1200)) * 1200; 69 $fy = ($lat - ((integer)($lat * 1200) / 1200)) * 1200; 58 70 59 71 // normalizing data
Note: See TracChangeset
for help on using the changeset viewer.
