]> git.mxchange.org Git - simgear.git/blobdiff - simgear/timing/sg_time.cxx
Merge branch 'next' of git://gitorious.org/fg/simgear into next
[simgear.git] / simgear / timing / sg_time.cxx
index 45fd41c1488ce08e2dca0c37906e53368bcfa255..d32302ee1eef9c5575a5595f82ea612ea1ce734d 100644 (file)
@@ -32,6 +32,7 @@
 #include <cstdio>
 #include <cstdlib>
 #include <ctime>
+#include <cstring>
 
 #include <string>
 
@@ -58,6 +59,7 @@
 #define DEGHR(x)        ((x)/15.)
 #define RADHR(x)        DEGHR(x*SGD_RADIANS_TO_DEGREES)
 
+using std::string;
 
 static const double MJD0    = 2415020.0;
 static const double J2000   = 2451545.0 - MJD0;
@@ -88,9 +90,8 @@ void SGTime::init( double lon_rad, double lat_rad,
         SG_LOG( SG_EVENT, SG_INFO, "Reading timezone info from: "
                 << zone.str() );
         tzContainer = new SGTimeZoneContainer( zone.c_str() );
-
-        SGGeoCoord location( SGD_RADIANS_TO_DEGREES * lat_rad, SGD_RADIANS_TO_DEGREES * lon_rad );
-        SGGeoCoord* nearestTz = tzContainer->getNearest(location);
+        SGGeod location(SGGeod::fromRad(lon_rad, lat_rad));
+        SGTimeZone* nearestTz = tzContainer->getNearest(location);
 
         SGPath name( root );
         name.append( nearestTz->getDescription() );
@@ -283,9 +284,8 @@ void SGTime::updateLocal( double lon_rad, double lat_rad, const string& root ) {
     }
     time_t currGMT;
     time_t aircraftLocalTime;
-    SGGeoCoord location( SGD_RADIANS_TO_DEGREES * lat_rad,
-                         SGD_RADIANS_TO_DEGREES * lon_rad );
-    SGGeoCoord* nearestTz = tzContainer->getNearest(location);
+    SGGeod location(SGGeod::fromRad(lon_rad, lat_rad));
+    SGTimeZone* nearestTz = tzContainer->getNearest(location);
     SGPath zone( root );
     zone.append ( nearestTz->getDescription() );
     zonename = zone.str();