Преглед изворни кода

r.watershed: fix resolution for slope length

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@55666 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz пре 12 година
родитељ
комит
e73bc55447
2 измењених фајлова са 13 додато и 51 уклоњено
  1. 7 25
      raster/r.watershed/ram/slope_len.c
  2. 6 26
      raster/r.watershed/seg/slope_len.c

+ 7 - 25
raster/r.watershed/ram/slope_len.c

@@ -2,34 +2,16 @@
 
 int slope_length(int r, int c, int dr, int dc)
 {
-    CELL top_alt, bot_alt, asp_value;
+    CELL top_alt, bot_alt;
     double res, top_ls, bot_ls;
 
-    if (sides == 8) {
-	if (r == dr)
-	    res = window.ns_res;
-	else if (c == dc)
-	    res = window.ew_res;
-	else
-	    res = diag;
-    }
-    else {			/* sides == 4 */
-
-	asp_value = asp[SEG_INDEX(asp_seg, dr, dc)];
-	if (r == dr) {
-	    if (asp_value == 2 || asp_value == 6)
-		res = window.ns_res;
-	    else		/* asp_value == 4, 8, -2, -4, -6, or -8 */
-		res = diag;     /* how can res be diag with sides == 4??? */
-	}
-	else {			/* c == dc */
+    if (r == dr)
+	res = window.ew_res;
+    else if (c == dc)
+	res = window.ns_res;
+    else
+	res = diag;
 
-	    if (asp_value == 4 || asp_value == 8)
-		res = window.ew_res;
-	    else		/* asp_value == 2, 6, -2, -4, -6, or -8 */
-		res = diag;
-	}
-    }
     top_ls = s_l[SEG_INDEX(s_l_seg, r, c)];
     if (top_ls == half_res)
 	top_ls = res;

+ 6 - 26
raster/r.watershed/seg/slope_len.c

@@ -6,34 +6,14 @@ int slope_length(int r, int c, int dr, int dc)
     char asp_value;
     double res, top_ls, bot_ls;
     WAT_ALT wa;
-    ASP_FLAG af;
 
-    if (sides == 8) {
-	if (r == dr)
-	    res = window.ns_res;
-	else if (c == dc)
-	    res = window.ew_res;
-	else
-	    res = diag;
-    }
-    else {			/* sides == 4 */
-
-	seg_get(&aspflag, (char *)&af, dr, dc);
-	asp_value = af.asp;
-	if (r == dr) {
-	    if (asp_value == 2 || asp_value == 6)
-		res = window.ns_res;
-	    else		/* asp_value == 4, 8, -2, -4, -6, or -8 */
-		res = diag;     /* how can res be diag with sides == 4??? */
-	}
-	else {			/* c == dc */
+    if (r == dr)
+	res = window.ns_res;
+    else if (c == dc)
+	res = window.ew_res;
+    else
+	res = diag;
 
-	    if (asp_value == 4 || asp_value == 8)
-		res = window.ew_res;
-	    else		/* asp_value == 2, 6, -2, -4, -6, or -8 */
-		res = diag;
-	}
-    }
     dseg_get(&s_l, &top_ls, r, c);
     if (top_ls == half_res)
 	top_ls = res;