[GRASS-SVN] r55428 - grass/branches/develbranch_6/lib/gis

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Mar 18 11:54:47 PDT 2013


Author: neteler
Date: 2013-03-18 11:54:47 -0700 (Mon, 18 Mar 2013)
New Revision: 55428

Modified:
   grass/branches/develbranch_6/lib/gis/make_loc.c
Log:
fix trac #1905 (backport of r55415); doxygen cosmetics

Modified: grass/branches/develbranch_6/lib/gis/make_loc.c
===================================================================
--- grass/branches/develbranch_6/lib/gis/make_loc.c	2013-03-18 18:54:35 UTC (rev 55427)
+++ grass/branches/develbranch_6/lib/gis/make_loc.c	2013-03-18 18:54:47 UTC (rev 55428)
@@ -91,26 +91,26 @@
  * This function creates a new location in the current database,
  * initializes the projection, default window and current window.  
  *
- * \param char * location_name
+ * \param location_name
  *                      The name of the new location.  Should not include
  *                      the full path, the location will be created within
  *                      the current database.
- * \param struct Cell_head *wind
+ * \param wind
  *                      Contains the default window setting for the
  *                      new location.  All fields should be set in this
  *                      structure, and care should be taken to ensure that
  *                      the proj/zone fields match the definition in the
  *                      proj_info parameter (see G_set_cellhd_from_projinfo()).
  *
- * \param struct Key_Value *proj_info
+ * \param proj_info
  *                      Projection definition suitable to write to the
  *                      PROJ_INFO file, or NULL for PROJECTION_XY.
  *
- * \param struct Key_Value *proj_units
+ * \param proj_units
  *                      Projection units suitable to write to the PROJ_UNITS
  *                      file, or NULL.
  *
- * \param FILE *report_file 
+ * \param report_file 
  *                      File to which creation information should be written
  *                      (can be stdout).  Currently not used.
  *
@@ -155,8 +155,10 @@
  *  \param proj_info2
  *  \param proj_units2
  *  \return -1 if not the same projection, -2 if linear unit translation to 
- *          meters fails, -4 if not the same ellipsoid, -5 if UTM zone differs
- *         else TRUE if projections match.
+ *          meters fails, -4 if not the same ellipsoid,
+ *          -5 if UTM zone differs, -6 if UTM hemisphere differs,
+ *          -7 if false easting differs, -8 if false northing differs,
+ *          else TRUE if projections match.
  *          
  */
 
@@ -232,6 +234,14 @@
 	return -5;
 
     /* -------------------------------------------------------------------- */
+    /*      Hemisphere check specially for UTM                              */
+    /* -------------------------------------------------------------------- */
+    if (!strcmp(proj1, "utm") && !strcmp(proj2, "utm")
+	&& !!G_find_key_value("south", proj_info1)
+	!= !!G_find_key_value("south", proj_info2))
+	return -6;
+
+    /* -------------------------------------------------------------------- */
     /*      Do they both have the same false easting?                       */
     /* -------------------------------------------------------------------- */
 
@@ -242,7 +252,7 @@
 	x_0_2 = G_find_key_value("x_0", proj_info2);
 
 	if (x_0_1 && x_0_2 && (fabs(atof(x_0_1) - atof(x_0_2)) > 0.000001))
-	    return -6;
+	    return -7;
     }
 
     /* -------------------------------------------------------------------- */
@@ -256,7 +266,7 @@
 	y_0_2 = G_find_key_value("y_0", proj_info2);
 
 	if (y_0_1 && y_0_2 && (fabs(atof(y_0_1) - atof(y_0_2)) > 0.000001))
-	    return -7;
+	    return -8;
     }
 
     /* -------------------------------------------------------------------- */



More information about the grass-commit mailing list