فهرست منبع

m.measure: length is measured in LL locations in meters by default

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@41304 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 15 سال پیش
والد
کامیت
d99616d7c5
2فایلهای تغییر یافته به همراه11 افزوده شده و 3 حذف شده
  1. 3 0
      lib/gis/units.c
  2. 8 3
      misc/m.measure/main.c

+ 3 - 0
lib/gis/units.c

@@ -237,6 +237,9 @@ int G_units(const char *units_name)
     else if (strcasecmp(units_name, "foot") == 0 ||
 	     strcasecmp(units_name, "feet") == 0)
 	return U_FEET;
+    else if (strcasecmp(units_name, "degree") == 0 ||
+	     strcasecmp(units_name, "degrees") == 0)
+	return U_DEGREES;
 
     return U_UNKNOWN;
 }

+ 8 - 3
misc/m.measure/main.c

@@ -79,9 +79,14 @@ int main(int argc, char **argv)
     }
 
     /* determine units */
-    units_name    = G_get_units_name(G_units(units->answer), 1, 0);
-    sq_units_name = G_get_units_name(G_units(units->answer), 1, 1);
-    
+    if (G_projection() == PROJECTION_LL && !units->answer) {
+	units_name    = G_get_units_name(U_METERS, 1, 0);
+	sq_units_name = G_get_units_name(U_METERS, 1, 1);
+    }
+    else {
+	units_name    = G_get_units_name(G_units(units->answer), 1, 0);
+	sq_units_name = G_get_units_name(G_units(units->answer), 1, 1);
+    }
     f    = G_units_to_meters_factor(G_units(units->answer));
     sq_f = G_units_to_meters_factor_sq(G_units(units->answer));