public class BasicElevationModel extends AbstractElevationModel implements BulkRetrievable
Modifier and Type | Class and Description |
---|---|
protected static class |
BasicElevationModel.DownloadPostProcessor |
protected static class |
BasicElevationModel.Elevations
Internal class to hold collections of elevation tiles that provide elevations for a specific sector.
|
protected static class |
BasicElevationModel.ElevationTile |
protected static class |
BasicElevationModel.RequestTask |
Modifier and Type | Field and Description |
---|---|
protected double |
detailHint |
protected java.lang.String |
elevationDataByteOrder |
protected java.lang.String |
elevationDataType |
protected BufferWrapper |
extremes |
protected boolean |
extremesCachingEnabled |
protected int |
extremesLevel |
protected MemoryCache |
extremesLookupCache |
protected java.lang.Object |
fileLock |
protected LevelSet |
levels |
protected java.util.concurrent.ConcurrentHashMap<TileKey,BasicElevationModel.ElevationTile> |
levelZeroTiles |
protected double |
maxElevation |
protected MemoryCache |
memoryCache |
protected double |
minElevation |
protected static int |
RESOURCE_ID_OGC_CAPABILITIES |
dataFileStore, enabled, expiryTime, missingDataFlag, missingDataValue, networkRetrievalEnabled
Constructor and Description |
---|
BasicElevationModel(AVList params) |
BasicElevationModel(org.w3c.dom.Document dom,
AVList params) |
BasicElevationModel(org.w3c.dom.Element domElement,
AVList params) |
BasicElevationModel(java.lang.String restorableStateInXml) |
Modifier and Type | Method and Description |
---|---|
protected void |
addTileToCache(BasicElevationModel.ElevationTile tile,
BufferWrapper elevations) |
protected boolean |
areElevationsInMemory(TileKey key) |
protected void |
checkElevationExpiration(BasicElevationModel.ElevationTile tile) |
protected void |
checkElevationExpiration(java.lang.Iterable<? extends BasicElevationModel.ElevationTile> tiles) |
protected double[] |
computeExtremeElevations(Sector sector) |
boolean |
contains(Angle latitude,
Angle longitude)
Indicates whether a specified location is within the elevation model's domain.
|
protected static java.nio.ByteBuffer |
convertImageToElevations(java.nio.ByteBuffer buffer,
java.lang.String contentType) |
static org.w3c.dom.Document |
createBasicElevationModelConfigDocument(AVList params)
Creates a configuration document for a BasicElevationModel described by the specified params.
|
static org.w3c.dom.Element |
createBasicElevationModelConfigElements(AVList params,
org.w3c.dom.Element context)
Appends BasicElevationModel configuration parameters as elements to the specified context.
|
protected org.w3c.dom.Document |
createConfigurationDocument(AVList params) |
protected MemoryCache |
createMemoryCache(java.lang.String cacheName) |
protected BasicElevationModel.ElevationTile |
createTile(TileKey key) |
protected void |
determineExtremes(double value,
double[] extremes) |
protected void |
doGetRestorableState(RestorableSupport rs,
RestorableSupport.StateObject context) |
protected void |
doRestoreState(RestorableSupport rs,
RestorableSupport.StateObject context) |
protected void |
doRestoreStateForObject(RestorableSupport rs,
RestorableSupport.StateObject so) |
protected void |
downloadElevations(Tile tile) |
protected void |
downloadElevations(Tile tile,
BasicElevationModel.DownloadPostProcessor postProcessor) |
protected void |
doWriteConfigurationParams(FileStore fileStore,
java.lang.String fileName,
AVList params) |
java.nio.ByteBuffer |
generateExtremeElevations(int levelNumber) |
static AVList |
getBasicElevationModelConfigParams(org.w3c.dom.Element domElement,
AVList params)
Parses BasicElevationModel parameters from a specified DOM document.
|
double |
getBestResolution(Sector sector)
Indicates the best resolution attainable for a specified sector.
|
protected AVList |
getConfigurationParams(AVList params) |
double |
getDetailHint(Sector sector)
Returns the detail hint associated with the specified sector.
|
java.lang.String |
getElevationDataByteOrder() |
java.lang.String |
getElevationDataType() |
protected BasicElevationModel.Elevations |
getElevations(Sector requestedSector,
LevelSet levelSet,
int targetLevelNumber) |
double |
getElevations(Sector sector,
java.util.List<? extends LatLon> latlons,
double targetResolution,
double[] buffer)
Returns the elevations of a collection of locations.
|
protected double |
getElevations(Sector sector,
java.util.List<? extends LatLon> latlons,
double targetResolution,
double[] buffer,
boolean mapMissingData) |
long |
getEstimatedMissingDataSize(Sector sector,
double resolution)
Get the estimated size in bytes of the elevations not in the WorldWind file cache for the given sector and
resolution.
|
long |
getEstimatedMissingDataSize(Sector sector,
double resolution,
FileStore fileStore)
Get the estimated size in bytes of the elevations not in a specified file store for the given sector and
resolution.
|
double[] |
getExtremeElevations(Angle latitude,
Angle longitude)
Returns the minimum and maximum elevations at a specified location.
|
double[] |
getExtremeElevations(Sector sector)
Returns the minimum and maximum elevations within a specified sector of the elevation model.
|
protected BufferWrapper |
getExtremes() |
protected int |
getExtremesLevel() |
protected MemoryCache |
getExtremesLookupCache()
Returns the memory cache used to cache extreme elevation computations, initializing the cache if it doesn't yet
exist.
|
LevelSet |
getLevels() |
protected java.util.Map<TileKey,BasicElevationModel.ElevationTile> |
getLevelZeroTiles() |
double |
getLocalDataAvailability(Sector requestedSector,
java.lang.Double targetResolution)
Returns the proportion of this elevation model's data that is local -- in the computer's data cache or installed
data filestore -- for a specified sector and target resolution.
|
double |
getMaxElevation()
Returns the maximum elevation contained in the elevation model.
|
protected MemoryCache |
getMemoryCache() |
double |
getMinElevation()
Returns the minimum elevation contained in the elevation model.
|
java.lang.String |
getRestorableState()
Returns an XML document string describing the object's state.
|
void |
getRestorableStateForAVPair(java.lang.String key,
java.lang.Object value,
RestorableSupport rs,
RestorableSupport.StateObject context) |
protected Level |
getTargetLevel(Sector sector,
double targetSize) |
protected BasicElevationModel.ElevationTile |
getTileFromMemory(TileKey tileKey) |
double |
getUnmappedElevation(Angle latitude,
Angle longitude)
Returns the elevation at a specified location, but without replacing missing data with the elevation model's
missing data replacement value.
|
double |
getUnmappedElevations(Sector sector,
java.util.List<? extends LatLon> latlons,
double targetResolution,
double[] buffer)
Returns the elevations of a collection of locations.
|
double |
getUnmappedLocalSourceElevation(Angle latitude,
Angle longitude)
Returns the elevation for this elevation model's highest level of detail if the source file for that level and
the specified location exists in the local elevation cache on disk.
|
java.lang.Object |
getValue(java.lang.String key)
Returns the value for a specified key.
|
protected void |
initFromOGCCapabilitiesResource(WMSCapabilities caps,
AVList params)
Initializes this ElevationModel's expiry time property from the specified WMS Capabilities document and parameter
list describing the WMS layer names associated with this ElevationModel.
|
int |
intersects(Sector sector)
Indicates whether the elevation model covers a specified sector either partially or fully.
|
boolean |
isExtremesCachingEnabled()
Indicates whether extreme value caching is enabled.
|
protected boolean |
isFileExpired(Tile tile,
java.net.URL fileURL,
FileStore fileStore) |
protected boolean |
isRetrieveResources()
Returns a boolean value indicating if this ElevationModel should retrieve any non-tile resources, either online
or in the local filesystem, and initialize itself using those resources.
|
protected boolean |
isTileLocalOrAbsent(Tile tile) |
protected boolean |
loadElevations(BasicElevationModel.ElevationTile tile,
java.net.URL url) |
void |
loadExtremeElevations(java.lang.String extremesFileName) |
protected double |
lookupElevation(Angle latitude,
Angle longitude,
BasicElevationModel.ElevationTile tile) |
protected BufferWrapper |
makeBilElevations(java.net.URL url) |
BulkRetrievalThread |
makeLocal(Sector sector,
double resolution,
BulkRetrievalListener listener)
Start a new
BulkRetrievalThread that downloads all elevations for a given sector and resolution to the
current WorldWind file cache, without downloading imagery already in the cache. |
BulkRetrievalThread |
makeLocal(Sector sector,
double resolution,
FileStore fileStore,
BulkRetrievalListener listener)
Start a new
BulkRetrievalThread that downloads all elevations for a given sector and resolution to a
specified file store, without downloading imagery already in the file store. |
protected BufferWrapper |
makeTiffElevations(java.net.URL url) |
protected boolean |
needsConfigurationFile(FileStore fileStore,
java.lang.String fileName,
AVList params,
boolean removeIfExpired) |
protected BufferWrapper |
readElevations(java.net.URL url) |
protected void |
requestTile(TileKey key) |
protected static AVList |
restorableStateToParams(java.lang.String stateInXml) |
void |
restoreState(java.lang.String stateInXml)
Restores the object's state to what is described in the specified XML document string.
|
protected static void |
restoreStateForParams(RestorableSupport rs,
RestorableSupport.StateObject context,
AVList params) |
protected void |
retrieveElevations(Tile tile,
BasicElevationModel.DownloadPostProcessor postProcessor) |
protected void |
retrieveLocalElevations(Tile tile,
BasicElevationModel.DownloadPostProcessor postProcessor) |
protected void |
retrieveRemoteElevations(Tile tile,
BasicElevationModel.DownloadPostProcessor postProcessor) |
protected java.lang.String |
retrieveResources()
Retrieves any non-tile resources associated with this ElevationModel, either online or in the local filesystem,
and initializes properties of this ElevationModel using those resources.
|
void |
setByteOrder(java.lang.String byteOrder) |
void |
setDetailHint(double hint) |
void |
setElevationDataType(java.lang.String dataType) |
void |
setExpiryTime(long expiryTime)
Specifies the time of the elevation models's most recent dataset update, beyond which cached data is invalid.
|
void |
setExtremesCachingEnabled(boolean enabled)
Indicates whether extreme values of sectors should be cached as they're computed.
|
protected static void |
setFallbacks(AVList params) |
java.lang.Object |
setValue(java.lang.String key,
java.lang.Object value)
Adds a key/value pair to the list.
|
protected void |
startResourceRetrieval()
Starts retrieving non-tile resources associated with this model in a non-rendering thread.
|
protected void |
writeConfigurationFile(FileStore fileStore) |
protected void |
writeConfigurationParams(AVList params,
FileStore fileStore) |
composeElevations, createElevationModelConfigElements, dispose, getBestResolutions, getDataFileStore, getElevation, getElevationModelConfigParams, getElevations, getExpiryTime, getMissingDataReplacement, getMissingDataSignal, getName, getUnmappedElevations, isElevationModelConfigDocument, isEnabled, isNetworkRetrievalEnabled, isTransparentValue, setDataFileStore, setEnabled, setMissingDataReplacement, setMissingDataSignal, setName, setNetworkRetrievalEnabled, toString
onMessage, propertyChange
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getStringValue, getStringValue, getStringValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValues
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getName
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValues
onMessage
protected double detailHint
protected java.lang.String elevationDataByteOrder
protected java.lang.String elevationDataType
protected BufferWrapper extremes
protected boolean extremesCachingEnabled
protected int extremesLevel
protected MemoryCache extremesLookupCache
protected final java.lang.Object fileLock
protected final LevelSet levels
protected java.util.concurrent.ConcurrentHashMap<TileKey,BasicElevationModel.ElevationTile> levelZeroTiles
protected final double maxElevation
protected MemoryCache memoryCache
protected final double minElevation
protected static final int RESOURCE_ID_OGC_CAPABILITIES
public BasicElevationModel(AVList params)
public BasicElevationModel(org.w3c.dom.Document dom, AVList params)
public BasicElevationModel(org.w3c.dom.Element domElement, AVList params)
public BasicElevationModel(java.lang.String restorableStateInXml)
protected void addTileToCache(BasicElevationModel.ElevationTile tile, BufferWrapper elevations)
protected boolean areElevationsInMemory(TileKey key)
protected void checkElevationExpiration(BasicElevationModel.ElevationTile tile)
protected void checkElevationExpiration(java.lang.Iterable<? extends BasicElevationModel.ElevationTile> tiles)
protected double[] computeExtremeElevations(Sector sector)
public boolean contains(Angle latitude, Angle longitude)
ElevationModel
contains
in interface ElevationModel
latitude
- the latitude of the location in question.longitude
- the longitude of the location in question.protected static java.nio.ByteBuffer convertImageToElevations(java.nio.ByteBuffer buffer, java.lang.String contentType) throws java.io.IOException
java.io.IOException
public static org.w3c.dom.Document createBasicElevationModelConfigDocument(AVList params)
BasicElevationModel
.params
- parameters describing a BasicElevationModel.public static org.w3c.dom.Element createBasicElevationModelConfigElements(AVList params, org.w3c.dom.Element context)
Parameter | Element Path | Type |
---|---|---|
AVKey.SERVICE_NAME | Service/@serviceName | String |
AVKey.IMAGE_FORMAT | ImageFormat | String |
AVKey.AVAILABLE_IMAGE_FORMATS | AvailableImageFormats/ImageFormat | String array |
AVKey.DATA_TYPE | DataType/@type | String |
AVKey.BYTE_ORDER | ByteOrder | DataType/@byteOrder |
AVKey.ELEVATION_EXTREMES_FILE | ExtremeElevations/FileName | String |
AVKey.ELEVATION_MAX | ExtremeElevations/@max | Double |
AVKey.ELEVATION_MIN | ExtremeElevations/@min | Double |
AbstractElevationModel.createElevationModelConfigElements(gov.nasa.worldwind.avlist.AVList,
org.w3c.dom.Element)
and DataConfigurationUtils.createLevelSetConfigElements(gov.nasa.worldwind.avlist.AVList,
org.w3c.dom.Element)
.params
- the key-value pairs which define the BasicElevationModel configuration parameters.context
- the XML document root on which to append BasicElevationModel configuration elements.java.lang.IllegalArgumentException
- if either the parameters or the context are null.protected org.w3c.dom.Document createConfigurationDocument(AVList params)
protected MemoryCache createMemoryCache(java.lang.String cacheName)
protected BasicElevationModel.ElevationTile createTile(TileKey key)
protected void determineExtremes(double value, double[] extremes)
protected void doGetRestorableState(RestorableSupport rs, RestorableSupport.StateObject context)
protected void doRestoreState(RestorableSupport rs, RestorableSupport.StateObject context)
protected void doRestoreStateForObject(RestorableSupport rs, RestorableSupport.StateObject so)
protected void downloadElevations(Tile tile)
protected void downloadElevations(Tile tile, BasicElevationModel.DownloadPostProcessor postProcessor)
protected void doWriteConfigurationParams(FileStore fileStore, java.lang.String fileName, AVList params)
public java.nio.ByteBuffer generateExtremeElevations(int levelNumber)
public static AVList getBasicElevationModelConfigParams(org.w3c.dom.Element domElement, AVList params)
Parameter | Element Path | Type |
---|---|---|
AVKey.SERVICE_NAME | Service/@serviceName | String |
AVKey.IMAGE_FORMAT | ImageFormat | String |
AVKey.AVAILABLE_IMAGE_FORMATS | AvailableImageFormats/ImageFormat | String array |
AVKey.DATA_TYPE | DataType/@type | String |
AVKey.BYTE_ORDER | DataType/@byteOrder | String |
AVKey.ELEVATION_EXTREMES_FILE | ExtremeElevations/FileName | String |
AVKey.ELEVATION_MAX | ExtremeElevations/@max | Double |
AVKey.ELEVATION_MIN | ExtremeElevations/@min | Double |
AbstractElevationModel.getElevationModelConfigParams(org.w3c.dom.Element,
gov.nasa.worldwind.avlist.AVList)
and DataConfigurationUtils.getLevelSetConfigParams(org.w3c.dom.Element,
gov.nasa.worldwind.avlist.AVList)
.domElement
- the XML document root to parse for BasicElevationModel configuration parameters.params
- the output key-value pairs which recieve the BasicElevationModel configuration parameters. A null
reference is permitted.java.lang.IllegalArgumentException
- if the document is null.public double getBestResolution(Sector sector)
ElevationModel
getBestResolution
in interface ElevationModel
sector
- the sector in question. If null, the elevation model's best overall resolution is returned. This is
the best attainable at some locations but not necessarily at all locations.Double.MAX_VALUE
if the
sector does not intersect the elevation model.public double getDetailHint(Sector sector)
ElevationModel
getDetailHint
in interface ElevationModel
getDetailHint
in class AbstractElevationModel
sector
- the sector in question.public java.lang.String getElevationDataByteOrder()
public java.lang.String getElevationDataType()
protected BasicElevationModel.Elevations getElevations(Sector requestedSector, LevelSet levelSet, int targetLevelNumber)
public double getElevations(Sector sector, java.util.List<? extends LatLon> latlons, double targetResolution, double[] buffer)
ElevationModel
getElevations
in interface ElevationModel
sector
- the sector in question.latlons
- the locations to return elevations for. If a location is null, the output buffer for that
location is not modified.targetResolution
- the desired horizontal resolution, in radians, of the raster or other elevation sample
from which elevations are drawn. (To compute radians from a distance, divide the distance
by the radius of the globe, ensuring that both the distance and the radius are in the
same units.)buffer
- an array in which to place the returned elevations. The array must be pre-allocated and
contain at least as many elements as the list of locations.Double.MAX_VALUE
if individual elevations cannot be
determined for all of the locations.ElevationModel.setMissingDataSignal(double)
protected double getElevations(Sector sector, java.util.List<? extends LatLon> latlons, double targetResolution, double[] buffer, boolean mapMissingData)
public long getEstimatedMissingDataSize(Sector sector, double resolution)
Note that the target resolution must be provided in radians of latitude per texel, which is the resolution in meters divided by the globe radius.
getEstimatedMissingDataSize
in interface BulkRetrievable
sector
- the sector to estimate.resolution
- the target resolution, provided in radians of latitude per texel.java.lang.IllegalArgumentException
- if the sector is null or the resolution is less than zero.public long getEstimatedMissingDataSize(Sector sector, double resolution, FileStore fileStore)
Note that the target resolution must be provided in radians of latitude per texel, which is the resolution in meters divided by the globe radius.
getEstimatedMissingDataSize
in interface BulkRetrievable
sector
- the sector to estimate.resolution
- the target resolution, provided in radians of latitude per texel.fileStore
- the file store to examine. If null the current WorldWind file cache is used.java.lang.IllegalArgumentException
- if the sector is null or the resolution is less than zero.public double[] getExtremeElevations(Angle latitude, Angle longitude)
ElevationModel
getExtremeElevations
in interface ElevationModel
latitude
- the latitude of the location in question.longitude
- the longitude of the location in question.double
array indicating, respectively, the minimum and maximum elevations at
the specified location. These values are the global minimum and maximum if the local minimum and maximum
values are currently unknown.public double[] getExtremeElevations(Sector sector)
ElevationModel
getExtremeElevations
in interface ElevationModel
sector
- the sector in question.double
array indicating, respectively, the sector's minimum and maximum
elevations. These elements are the global minimum and maximum if the local minimum and maximum values are
currently unknown.protected BufferWrapper getExtremes()
protected int getExtremesLevel()
protected MemoryCache getExtremesLookupCache()
public LevelSet getLevels()
protected java.util.Map<TileKey,BasicElevationModel.ElevationTile> getLevelZeroTiles()
public double getLocalDataAvailability(Sector requestedSector, java.lang.Double targetResolution)
ElevationModel
getLocalDataAvailability
in interface ElevationModel
getLocalDataAvailability
in class AbstractElevationModel
requestedSector
- the sector of interest.targetResolution
- the desired horizontal resolution, in radians, of the raster or other elevation sample
from which elevations are drawn. (To compute radians from a distance, divide the distance
by the radius of the globe, ensuring that both the distance and the radius are in the
same units.) Specify null to use this elevation model's best resolution.public double getMaxElevation()
ElevationModel
getMaxElevation
in interface ElevationModel
protected MemoryCache getMemoryCache()
public double getMinElevation()
ElevationModel
getMinElevation
in interface ElevationModel
public java.lang.String getRestorableState()
Restorable
restoreState
and passing the XML document.getRestorableState
in interface Restorable
getRestorableState
in class AbstractElevationModel
public void getRestorableStateForAVPair(java.lang.String key, java.lang.Object value, RestorableSupport rs, RestorableSupport.StateObject context)
getRestorableStateForAVPair
in class AVListImpl
protected BasicElevationModel.ElevationTile getTileFromMemory(TileKey tileKey)
public double getUnmappedElevation(Angle latitude, Angle longitude)
ElevationModel
getUnmappedElevation
in interface ElevationModel
latitude
- the latitude of the location for which to return the elevation.longitude
- the longitude of the location for which to return the elevation.public double getUnmappedElevations(Sector sector, java.util.List<? extends LatLon> latlons, double targetResolution, double[] buffer)
ElevationModel
getUnmappedElevations
in interface ElevationModel
sector
- the sector in question.latlons
- the locations to return elevations for. If a location is null, the output buffer for that
location is not modified.targetResolution
- the desired horizontal resolution, in radians, of the raster or other elevation sample
from which elevations are drawn. (To compute radians from a distance, divide the distance
by the radius of the globe, ensuring that both the distance and the radius are in the
same units.)buffer
- an array in which to place the returned elevations. The array must be pre-allocated and
contain at least as many elements as the list of locations.Double.MAX_VALUE
if individual elevations cannot be
determined for all of the locations.ElevationModel.setMissingDataSignal(double)
public double getUnmappedLocalSourceElevation(Angle latitude, Angle longitude)
ElevationModel
getUnmappedLocalSourceElevation
in interface ElevationModel
getUnmappedLocalSourceElevation
in class AbstractElevationModel
latitude
- The latitude of the location whose elevation is desired.longitude
- The longitude of the location whose elevation is desired.ElevationModel.getMissingDataSignal()
).public java.lang.Object getValue(java.lang.String key)
AVList
getValue
in interface AVList
getValue
in class AVListImpl
key
- the attribute name. May not be null
.null
.protected void initFromOGCCapabilitiesResource(WMSCapabilities caps, AVList params)
SwingUtilities.invokeLater(Runnable)
.caps
- the WMS Capabilities document retrieved from this ElevationModel's WMS server.params
- the parameter list describing the WMS layer names associated with this ElevationModel.java.lang.IllegalArgumentException
- if either the Capabilities or the parameter list is null.public int intersects(Sector sector)
ElevationModel
intersects
in interface ElevationModel
sector
- the sector in question.public boolean isExtremesCachingEnabled()
ElevationModel
isExtremesCachingEnabled
in interface ElevationModel
ElevationModel.setExtremesCachingEnabled(boolean)
protected boolean isRetrieveResources()
true
if this ElevationModel should retrieve any non-tile resources, and false
otherwise.protected boolean isTileLocalOrAbsent(Tile tile)
protected boolean loadElevations(BasicElevationModel.ElevationTile tile, java.net.URL url) throws java.lang.Exception
java.lang.Exception
public void loadExtremeElevations(java.lang.String extremesFileName)
protected double lookupElevation(Angle latitude, Angle longitude, BasicElevationModel.ElevationTile tile)
protected BufferWrapper makeBilElevations(java.net.URL url) throws java.io.IOException
java.io.IOException
public BulkRetrievalThread makeLocal(Sector sector, double resolution, BulkRetrievalListener listener)
BulkRetrievalThread
that downloads all elevations for a given sector and resolution to the
current WorldWind file cache, without downloading imagery already in the cache.
This method creates and starts a thread to perform the download. A reference to the thread is returned. To create
a downloader that has not been started, construct a BasicElevationModelBulkDownloader
.
Note that the target resolution must be provided in radians of latitude per texel, which is the resolution in meters divided by the globe radius.
makeLocal
in interface BulkRetrievable
sector
- the sector to download data for.resolution
- the target resolution, provided in radians of latitude per texel.listener
- an optional retrieval listener. May be null.BulkRetrievalThread
executing the retrieval or null
if the specified sector does
not intersect the elevation model bounding sector.java.lang.IllegalArgumentException
- if the sector is null or the resolution is less than zero.BasicElevationModelBulkDownloader
public BulkRetrievalThread makeLocal(Sector sector, double resolution, FileStore fileStore, BulkRetrievalListener listener)
BulkRetrievalThread
that downloads all elevations for a given sector and resolution to a
specified file store, without downloading imagery already in the file store.
This method creates and starts a thread to perform the download. A reference to the thread is returned. To create
a downloader that has not been started, construct a BasicElevationModelBulkDownloader
.
Note that the target resolution must be provided in radians of latitude per texel, which is the resolution in meters divided by the globe radius.
makeLocal
in interface BulkRetrievable
sector
- the sector to download data for.resolution
- the target resolution, provided in radians of latitude per texel.fileStore
- the file store in which to place the downloaded elevations. If null the current WorldWind file
cache is used.listener
- an optional retrieval listener. May be null.BulkRetrievalThread
executing the retrieval or null
if the specified sector does
not intersect the elevation model bounding sector.java.lang.IllegalArgumentException
- if the sector is null or the resolution is less than zero.BasicElevationModelBulkDownloader
protected BufferWrapper makeTiffElevations(java.net.URL url) throws java.io.IOException, java.net.URISyntaxException
java.io.IOException
java.net.URISyntaxException
protected boolean needsConfigurationFile(FileStore fileStore, java.lang.String fileName, AVList params, boolean removeIfExpired)
protected BufferWrapper readElevations(java.net.URL url) throws java.lang.Exception
java.lang.Exception
protected void requestTile(TileKey key)
protected static AVList restorableStateToParams(java.lang.String stateInXml)
public void restoreState(java.lang.String stateInXml)
Restorable
restoreState
in interface Restorable
restoreState
in class AbstractElevationModel
stateInXml
- an XML document string describing an object's state.protected static void restoreStateForParams(RestorableSupport rs, RestorableSupport.StateObject context, AVList params)
protected void retrieveElevations(Tile tile, BasicElevationModel.DownloadPostProcessor postProcessor)
protected void retrieveLocalElevations(Tile tile, BasicElevationModel.DownloadPostProcessor postProcessor)
protected void retrieveRemoteElevations(Tile tile, BasicElevationModel.DownloadPostProcessor postProcessor)
protected java.lang.String retrieveResources()
AVKey.RETRIEVAL_STATE_SUCCESSFUL
indicates the retrieval
succeeded, AVKey.RETRIEVAL_STATE_ERROR
indicates the retrieval failed with
errors, and null
indicates the retrieval state is unknown. This method may invoke blocking I/O
operations, and therefore should not be executed from the rendering thread.AVKey.RETRIEVAL_STATE_SUCCESSFUL
if the retrieval succeeded, AVKey.RETRIEVAL_STATE_ERROR
if the retrieval failed with errors, and null
if the retrieval state is unknown.public void setByteOrder(java.lang.String byteOrder)
public void setDetailHint(double hint)
public void setElevationDataType(java.lang.String dataType)
public void setExpiryTime(long expiryTime)
setExpiryTime
in interface ElevationModel
setExpiryTime
in class AbstractElevationModel
expiryTime
- the expiry time of any cached data, expressed as a number of milliseconds beyond the epoch. The
default expiry time is zero.for a description of milliseconds beyond the epoch.
public void setExtremesCachingEnabled(boolean enabled)
ElevationModel
setExtremesCachingEnabled
in interface ElevationModel
enabled
- true if extreme value caching should be performed.protected static void setFallbacks(AVList params)
public java.lang.Object setValue(java.lang.String key, java.lang.Object value)
AVList
setValue
in interface AVList
setValue
in class AVListImpl
key
- the attribute name. May not be null
.value
- the attribute value. May be null
, in which case any existing value for the key is
removed from the collection.protected void startResourceRetrieval()
protected void writeConfigurationFile(FileStore fileStore)