]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/srtm/LookupSrtmFunction.java
Version 18, July 2015
[GpsPrune.git] / tim / prune / function / srtm / LookupSrtmFunction.java
index 2ed145439227af2d7ddf2e37ff2b1262698aece0..011dff66fc913563f959c8d21636fb7a79e019ee 100644 (file)
@@ -228,13 +228,18 @@ public class LookupSrtmFunction extends GenericFunction implements Runnable
                                                                                        + (fouralts[2]==VOID_VAL?1:0) + (fouralts[3]==VOID_VAL?1:0);
                                                                                // if (numVoids > 0) System.out.println(numVoids + " voids found");
                                                                                double altitude = 0.0;
-                                                                               switch (numVoids) {
+                                                                               switch (numVoids)
+                                                                               {
                                                                                        case 0: altitude = bilinearInterpolate(fouralts, x, y); break;
                                                                                        case 1: altitude = bilinearInterpolate(fixVoid(fouralts), x, y); break;
                                                                                        case 2:
                                                                                        case 3: altitude = averageNonVoid(fouralts); break;
                                                                                        default: altitude = VOID_VAL;
                                                                                }
+                                                                               // Special case for terrain tracks, don't interpolate voids yet
+                                                                               if (!_normalTrack && numVoids > 0) {
+                                                                                       altitude = VOID_VAL;
+                                                                               }
                                                                                if (altitude != VOID_VAL)
                                                                                {
                                                                                        point.setFieldValue(Field.ALTITUDE, ""+altitude, false);