diff --git a/src/Terrain/TerrainQuery.cc b/src/Terrain/TerrainQuery.cc index 8467df6e985dbb24a39459e107330a1d462f537a..81dcd45dc5a4162db6f48fde5186040c267ad52a 100644 --- a/src/Terrain/TerrainQuery.cc +++ b/src/Terrain/TerrainQuery.cc @@ -412,7 +412,7 @@ bool TerrainTileManager::_getAltitudesForCoordinates(const QList if (_tiles.contains(tileHash)) { if (_tiles[tileHash].isIn(coordinate)) { double elevation = _tiles[tileHash].elevation(coordinate); - if (elevation < 0.0) { + if (qIsNaN(elevation)) { error = true; qCWarning(TerrainQueryLog) << "TerrainTileManager::_getAltitudesForCoordinates Internal Error: negative elevation in tile cache"; } else { @@ -421,7 +421,7 @@ bool TerrainTileManager::_getAltitudesForCoordinates(const QList altitudes.push_back(elevation); } else { qCWarning(TerrainQueryLog) << "TerrainTileManager::_getAltitudesForCoordinates Internal Error: coordinate not in tile region"; - altitudes.push_back(-1.0); + altitudes.push_back(qQNaN()); error = true; } } else { diff --git a/src/TerrainTile.cc b/src/TerrainTile.cc index 5c04e5e1a313ef7644c496de6771f2aa6831a6dd..55f485a23695becdeaaf987c534c9504a71ad8d4 100644 --- a/src/TerrainTile.cc +++ b/src/TerrainTile.cc @@ -121,13 +121,13 @@ double TerrainTile::elevation(const QGeoCoordinate& coordinate) const int indexLon = _lonToDataIndex(coordinate.longitude()); if (indexLat == -1 || indexLon == -1) { qCWarning(TerrainTileLog) << "Internal error indexLat:indexLon == -1" << indexLat << indexLon; - return -1.0; + return qQNaN(); } qCDebug(TerrainTileLog) << "indexLat:indexLon" << indexLat << indexLon << "elevation" << _data[indexLat][indexLon]; return static_cast(_data[indexLat][indexLon]); } else { qCWarning(TerrainTileLog) << "Asking for elevation, but no valid data."; - return -1.0; + return qQNaN(); } }