+ (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);
if (srtmDir.exists() && srtmDir.isDirectory() && srtmDir.canRead())
{
File srtmFile = new File(srtmDir, new File(inUrl.getFile()).getName());
- if (srtmFile.exists() && srtmFile.isFile() && srtmFile.canRead())
+ if (srtmFile.exists() && srtmFile.isFile() && srtmFile.canRead()
+ && srtmFile.length() > 400)
{
// System.out.println("Lookup: Using file " + srtmFile.getAbsolutePath());
// File found, use this one