@Override public double getEle(double lat, double lon) { if (isOutsideSupportedArea(lat, lon)) return 0; String name = getFileName(lat, lon); HeightTile demProvider = cacheData.get(name); if (demProvider == null) { cacheDir.mkdirs(); int minLat = getMinLatForTile(lat); int minLon = getMinLonForTile(lon); DataAccess heights = getDirectory().find(name + ".gh"); demProvider.setHeights(heights); boolean loadExisting = false; String zippedURL = getDownloadURL(lat, lon); File file = new File(cacheDir, new File(getFileNameOfLocalFile(lat, lon)).getName()); downloadFile(file, zippedURL); } catch (IOException e) { demProvider.setSeaLevel(true); Raster raster = generateRasterFromFile(file, name + ".tif"); fillDataAccessWithElevationData(raster, heights, WIDTH);
@Override public double getEle(double lat, double lon) { if (isOutsideSupportedArea(lat, lon)) return 0; String name = getFileName(lat, lon); HeightTile demProvider = cacheData.get(name); if (demProvider == null) { cacheDir.mkdirs(); int minLat = getMinLatForTile(lat); int minLon = getMinLonForTile(lon); DataAccess heights = getDirectory().find(name + ".gh"); demProvider.setHeights(heights); boolean loadExisting = false; String zippedURL = getDownloadURL(lat, lon); File file = new File(cacheDir, new File(getFileNameOfLocalFile(lat, lon)).getName()); downloadFile(file, zippedURL); } catch (IOException e) { demProvider.setSeaLevel(true); Raster raster = generateRasterFromFile(file, name + ".tif"); fillDataAccessWithElevationData(raster, heights, WIDTH);