Revision: 6084
http://sourceforge.net/p/jump-pilot/code/6084
Author: ma15569
Date: 2019-01-17 05:46:27 +0000 (Thu, 17 Jan 2019)
Log Message:
-----------
added correction to slopes of borders in the Travis at 1975 algorithm
Modified Paths:
--------------
plug-ins/OpenKLEM/OpenKLEMCore/trunk/src/com/geomaticaeambiente/openjump/klem/slope/SlopeStripe.java
Modified:
plug-ins/OpenKLEM/OpenKLEMCore/trunk/src/com/geomaticaeambiente/openjump/klem/slope/SlopeStripe.java
===================================================================
---
plug-ins/OpenKLEM/OpenKLEMCore/trunk/src/com/geomaticaeambiente/openjump/klem/slope/SlopeStripe.java
2019-01-13 09:50:18 UTC (rev 6083)
+++
plug-ins/OpenKLEM/OpenKLEMCore/trunk/src/com/geomaticaeambiente/openjump/klem/slope/SlopeStripe.java
2019-01-17 05:46:27 UTC (rev 6084)
@@ -60,22 +60,35 @@
final double[] elev = new double[8];
for (int i = 0; i < 8; i++) {
+ //[Giuseppe Aruta 2019-1-17] added correction to slopes of
borders
+ //in the Travis at al algorithm
final int c1 = c + Shifter.getColShift(i);
final int r1 = r + Shifter.getRowShift(i);
if (c1 >= 0 && c1 < nCols && r1 >= 0 && r1 < nRows) {
if (!demStripe.isNoData(demStripe.getData()[r1][c1])) {
elev[i] = demStripe.getData()[r1][c1];
+ } else {
+ elev[i] = demStripe.getData()[r][c];
}
} else if (c1 >= 0 && c1 < nCols && r1 < 0) {
if (!demStripe.isNoData(upRow[c1])) {
elev[i] = upRow[c1];
+ } else {
+ elev[i] = demStripe.getData()[r][c];
}
} else if (c1 >= 0 && c1 < nCols && r1 == nRows) {
if (!demStripe.isNoData(bottomRow[c1])) {
elev[i] = bottomRow[c1];
+ } else {
+ elev[i] = demStripe.getData()[r][c];
}
}
+ if (c1 < 0 || c1 == nCols) {
+ elev[i] = demStripe.getData()[r][c];
+ }
+
+
if (bluelinesGrid != null) {
if (c1 > 0 && c1 < nCols && r1 > 0 && r1 < nRows
&& bluelinesGrid[r1][c1]) {
@@ -90,7 +103,7 @@
if (!demStripe.isNoData(demStripe.getData()[r][c])) {
- // Horn's
+ // Horn's method
if (slopeAlgo == SlopeAlgo.HORN) {
final double[] z = new double[9];
int cellCount = 0;
@@ -148,7 +161,7 @@
slopeGrid.setValue(c, r, Math.atan(slopeRatio));
}
- // Local
+ // Travis et al. 1975. Local Maximun Slope
} else if (slopeAlgo == SlopeAlgo.LOCAL) {
double maxLocalSlope = -Double.MAX_VALUE;
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel