package org.droidplanner.services.android.impl.core.srtm;
public class Srtm {
private static final int SRTM_NaN = -32768;
/**
* Callback for progress reports
*/
public interface OnProgressListner {
public void onProgress(String filename, int percentage);
}
private SrtmData srtmData;
private OnProgressListner listner;
/**
* @param directory
* Cache directory
*/
public Srtm(String directory) {
srtmData = new SrtmData(directory);
}
/**
* Get SRTM elevation for geographic coordinate (WGS-84)
*
* Stores a cache of uncompressed SRTM data files at the default directory.
* It need a Internet connection to fetch SRTM files if they are not in the
* disk
*
* @return Above Sea Level (ASL) altitude in meters
*/
public int getData(double longitude, double latitude) {
try {
return srtmData.load(longitude, latitude, listner);
} catch (Exception e) {
e.printStackTrace();
return SRTM_NaN; // SRTM NaN
}
}
/**
* If a file needs to be download this listener will be called periodically
*/
public void setListner(OnProgressListner listner) {
this.listner = listner;
}
}