|
From: <il...@pr...> - 2004-11-17 12:00:01
|
Update of /cvsroot/meshdb/www/db2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25331 Modified Files: util.php Log Message: Added support for converting coordinates even if they're not in the same UTM zone. Index: util.php =================================================================== RCS file: /cvsroot/meshdb/www/db2/util.php,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- util.php 16 Sep 2004 22:58:16 -0000 1.2 +++ util.php 17 Nov 2004 11:59:52 -0000 1.3 @@ -10,13 +10,14 @@ return passthru("ulimit -c 0; ulimit -t 120; ".$cmd); } -function cvtlatlon($E,$N,$noshift=0) { - global $SHIFTFILE, $ZONE; +function cvtlatlon($E,$N,$zone=0,$noshift=0) { + global $SHIFTFILE,$ZONE; if ($E == "" && $N == "") return array("",""); $E1 = doubleval($E); $N1 = doubleval($N); - $latlon = mybacktick("bin/rf -F \"%l %L\" -z $ZONE -g $E1 $N1 2>&1"); + if (!$zone) $zone = $ZONE; + $latlon = mybacktick("bin/rf -F \"%l %L\" -z $zone -g $E1 $N1 2>&1"); if (!$noshift) $latlon = mybacktick("bin/shift -S ${SHIFTFILE} -- $latlon"); list($Lat,$Lon) = split(" ", $latlon, 2); @@ -25,7 +26,7 @@ return array($Lat, $Lon); } -function cvteastnorth($Lat, $Lon) { +function cvteastnorth($Lat, $Lon, $findzone=0) { global $SHIFTFILE, $ZONE; if ($Lat == "" && $Lon == "") return array("",""); @@ -34,11 +35,14 @@ $latlon = mybacktick("bin/shift -r -S ${SHIFTFILE} -- $Lat $Lon"); $enz = mybacktick("bin/rf -F \"%e %n %z\" -l $latlon 2>&1"); list($E,$N,$Z) = split(" ", $enz, 3); - if ($Z != $ZONE) + if ($Z != $ZONE && !$findzone) die ("Lat/lon $Lat/$Lon is in zone $Z. should be in zone $ZONE"); $E = doubleval($E); $N = doubleval($N); - return array($E,$N); + if ($findzone) + return array($E, $N, $Z); + else + return array($E,$N); } ?> |