]> err.no Git - mapper/commitdiff
Use double when deadling with lat/lon
authorKaj-Michael Lang <milang@angel.tal.org>
Tue, 7 Aug 2007 08:27:52 +0000 (11:27 +0300)
committerKaj-Michael Lang <milang@angel.tal.org>
Tue, 7 Aug 2007 08:27:52 +0000 (11:27 +0300)
src/latlon.c
src/mapper-types.h
src/poi.h
src/utils.c
src/utils.h

index 01f46d40b7fc8e5e947da6ae8198a389b7250bc4..5b1431136baddc89fb745c058ecf6ff4c34d1074 100644 (file)
@@ -39,8 +39,8 @@ return lrint(sqrt((double)((lat1-lat2)*(lat1-lat2)+(lon1-lon2)*(lon1-lon2))));
  * Calculate the distance between two lat/lon pairs.  The distance is returned
  * in kilometer.
  */
-gfloat
-calculate_distance(gfloat lat1, gfloat lon1, gfloat lat2, gfloat lon2)
+gdouble
+calculate_distance(gdouble lat1, gdouble lon1, gdouble lat2, gdouble lon2)
 {
 gdouble dlat, dlon, slat, slon, a;
 
index 8aa9edc09164ebfe30813fbd781debdd4f46be9c..434aaccd7730be731cd359467648154ab3f3d28e 100644 (file)
@@ -182,8 +182,8 @@ gchar *SPEED_LOCATION_TEXT[SPEED_LOCATION_ENUM_COUNT];
 /** A lat/lon/alt position */
 typedef struct _Position Position;
 struct _Position {
-       gfloat lat;
-       gfloat lon;
+       gdouble lat;
+       gdouble lon;
        gfloat altitude;
 };
 
index 485cfc52474031fb37e616a570bc37540120fc6c..b58dea133e2b1ff9b1902b2f9829a413b3361322 100644 (file)
--- a/src/poi.h
+++ b/src/poi.h
@@ -23,8 +23,8 @@ struct _PoiDb {
 
 typedef struct _PoiData PoiData;
 struct _PoiData {
-       gfloat lat;
-       gfloat lon;
+       gdouble lat;
+       gdouble lon;
        gchar *name;
        gchar *desc;
 };
@@ -34,8 +34,8 @@ typedef struct _PoiInfo PoiInfo;
 struct _PoiInfo {
        guint poi_id;
        guint cat_id;
-       gfloat lat;
-       gfloat lon;
+       gdouble lat;
+       gdouble lon;
        gchar *label;
        gchar *desc;
        gchar *cat_label;
index 229e19b5dd52ce53d1c0d63bf8ab33b3d1ccea4b..3f3ee3e1523a4f9e4a99c5e9bc1078e99ebd8b53 100644 (file)
@@ -53,9 +53,9 @@ if (!fork()) {
 }
 
 #if 0
-void latlon2unit(gfloat lat, gfloat lon, gint *unitx_, gint *unity_)
+void latlon2unit(gdouble lat, gdouble lon, gint *unitx_, gint *unity_)
 {
-       gfloat tmp;
+       gdouble tmp;
 
        gint unitx = &unitx_;
        gint unity = &unity_;
@@ -66,7 +66,7 @@ void latlon2unit(gfloat lat, gfloat lon, gint *unitx_, gint *unity_)
            * (logf((1.f + tmp) / (1.f - tmp)) * 0.5f - MERCATOR_TOP);
 }
 
-void unit2latlon(gint unitx, gint unity, gfloat *lat, gfloat *lon)
+void unit2latlon(gint unitx, gint unity, gdouble *lat, gdouble *lon)
 {
        (lon) = ((unitx) * (360.f / WORLD_SIZE_UNITS)) - 180.f;
        (lat) = (360.f * (atanf(expf(((unity)
@@ -76,11 +76,11 @@ void unit2latlon(gint unitx, gint unity, gfloat *lat, gfloat *lon)
 #endif
 
 void
-deg_format(DegFormat degformat, gfloat coor, gchar * scoor, gchar neg_char,
+deg_format(DegFormat degformat, gdouble coor, gchar * scoor, gchar neg_char,
           gchar pos_char)
 {
-       gfloat min;
-       gfloat acoor = fabs(coor);
+       gdouble min;
+       gdouble acoor = fabs(coor);
        printf("%s()\n", __PRETTY_FUNCTION__);
 
        switch (degformat) {
@@ -123,7 +123,7 @@ deg_format(DegFormat degformat, gfloat coor, gchar * scoor, gchar neg_char,
  */
 void integerize_data()
 {
-       gfloat tmp;
+       gdouble tmp;
        printf("%s()\n", __PRETTY_FUNCTION__);
 
        latlon2unit(_gps.lat, _gps.lon, _pos.unitx, _pos.unity);
index 0e6d5ca25590500c1a7e6b151c8d40305006fe4b..efd0b580f4aee487c1e62e5571f13e35f1144c8a 100644 (file)
 };
 
 #define latlon2unit(lat, lon, unitx, unity) { \
-    gfloat tmp; \
+    gdouble tmp; \
     unitx = (lon + 180.f) * (WORLD_SIZE_UNITS / 360.f) + 0.5f; \
     tmp = sinf(lat * (PI / 180.f)); \
     unity = 0.5f + (WORLD_SIZE_UNITS / MERCATOR_SPAN) \
@@ -339,8 +339,8 @@ if (_http_proxy_host) { \
 
 gint download_comparefunc(const ProgressUpdateInfo * a,
                          const ProgressUpdateInfo * b, gpointer user_data);
-gfloat calculate_distance(gfloat lat1, gfloat lon1, gfloat lat2, gfloat lon2);
-void deg_format(DegFormat degformat, gfloat coor, gchar *scoor, gchar neg_char, gchar pos_char);
+gdouble calculate_distance(gdouble lat1, gdouble lon1, gdouble lat2, gdouble lon2);
+void deg_format(DegFormat degformat, gdouble coor, gchar *scoor, gchar neg_char, gchar pos_char);
 void integerize_data();
 
 #endif