public Double getElevationFor(double longitude, double latitude) throws IOException {
Get get = new Get(getEarthToolsUrlPreference() + "height/" + latitude + "/" + longitude);
String result = get.executeAsString();
if (get.isSuccessful())
try {
Height height = unmarshal(result);
Integer elevation = parseInt(height.getMeters());
if (elevation != null && !elevation.equals(-9999))
return elevation.doubleValue();
} catch (Exception e) {
throw new IOException("Cannot unmarshall " + result + ": " + e, e);
}