com.graphhopper.reader.dem.ElevationProvider Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of graphhopper Show documentation
Show all versions of graphhopper Show documentation
GraphHopper is a fast and memory efficient Java road routing engine
working seamlessly with OpenStreetMap data.
/*
* Licensed to Peter Karich under one or more contributor license
* agreements. See the NOTICE file distributed with this work for
* additional information regarding copyright ownership.
*
* Peter Karich licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the
* License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.graphhopper.reader.dem;
import java.io.File;
/**
* @author Peter Karich
*/
public interface ElevationProvider
{
/**
* @return returns the hight in meter or Double.NaN if invalid
*/
double getEle( double lat, double lon );
/**
* Specifies the service URL where to download the elevation data. An empty string should set it
* to the default URL.
*/
ElevationProvider setBaseURL( String baseURL );
/**
* Specifies the directory where to temporarily store the elevation data after fetched from base
* URL.
*/
ElevationProvider setCacheDir( File cacheDir );
/**
* Set to true if you have a small area and need high speed access.
*/
ElevationProvider setInMemory( boolean b );
/**
* Release resources.
*/
void release();
public final static ElevationProvider NOOP = new ElevationProvider()
{
@Override
public double getEle( double lat, double lon )
{
return Double.NaN;
}
@Override
public ElevationProvider setCacheDir( File cacheDir )
{
return this;
}
@Override
public ElevationProvider setBaseURL( String baseURL )
{
return this;
}
@Override
public ElevationProvider setInMemory( boolean b )
{
return this;
}
@Override
public void release()
{
}
};
}