[GRASS-SVN] r69049 - in grass/branches/releasebranch_7_2: include/defs lib/gis

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Aug 1 00:34:11 PDT 2016


Author: annakrat
Date: 2016-08-01 00:34:11 -0700 (Mon, 01 Aug 2016)
New Revision: 69049

Modified:
   grass/branches/releasebranch_7_2/include/defs/gis.h
   grass/branches/releasebranch_7_2/lib/gis/proj3.c
Log:
gislib: add G_database_unit function which returns id of currently used units in location - G_projection_units is not enough (merge from trunk, r69003)

Modified: grass/branches/releasebranch_7_2/include/defs/gis.h
===================================================================
--- grass/branches/releasebranch_7_2/include/defs/gis.h	2016-07-31 20:01:42 UTC (rev 69048)
+++ grass/branches/releasebranch_7_2/include/defs/gis.h	2016-08-01 07:34:11 UTC (rev 69049)
@@ -626,6 +626,7 @@
 
 /* proj3.c */
 const char *G_database_unit_name(int);
+int G_database_unit();
 const char *G_database_projection_name(void);
 const char *G_database_datum_name(void);
 const char *G_database_ellipse_name(void);

Modified: grass/branches/releasebranch_7_2/lib/gis/proj3.c
===================================================================
--- grass/branches/releasebranch_7_2/lib/gis/proj3.c	2016-07-31 20:01:42 UTC (rev 69048)
+++ grass/branches/releasebranch_7_2/lib/gis/proj3.c	2016-08-01 07:34:11 UTC (rev 69049)
@@ -50,14 +50,26 @@
 const char *G_database_unit_name(int plural)
 {
     int units;
+    units = G_database_unit();
+    return G_get_units_name(units, plural, FALSE);
+}
+
+/*!
+  \brief Get units id for the current location
+  
+  \return units id
+*/
+int G_database_unit()
+{
+    int units;
     const char *name;
     
     units = G_projection_units(G_projection());
     
     if (units == U_UNDEFINED) {
-	name = lookup_units(plural ? "units" : "unit");
+	name = lookup_units("unit");
 	if (!name)
-	    return plural ? _("units") : _("unit");
+	    return U_UNKNOWN;
 	
 	if (strcasecmp(name, "meter") == 0 || strcasecmp(name, "metre") == 0 
             || strcasecmp(name, "meters") == 0 || strcasecmp(name, "metres") == 0)
@@ -80,8 +92,7 @@
 	else
 	    units = U_UNKNOWN;
     }
-    
-    return G_get_units_name(units, plural, FALSE);
+    return units;
 }
 
 /*!



More information about the grass-commit mailing list