gov.nasa.worldwind.terrain
Class BasicElevationModelBulkDownloader
java.lang.Object
java.lang.Thread
gov.nasa.worldwind.retrieve.BulkRetrievalThread
gov.nasa.worldwind.terrain.BasicElevationModelBulkDownloader
- All Implemented Interfaces:
- Runnable
public class BasicElevationModelBulkDownloader
- extends BulkRetrievalThread
Downloads elevation data not currently available in the World Wind file cache or a specified FileStore. The
class derives from Thread and is meant to operate in its own thread.
The sector and resolution associated with the downloader are specified during construction and are final.
|
Method Summary |
protected void |
callRetrievalListeners(Retriever retriever,
Tile tile)
|
protected static long |
computeAverageTileSize(File dir)
|
protected int |
computeLevelForResolution(Sector sector,
double resolution)
|
protected Sector[] |
computeRandomRegions(Sector sector,
int div,
int numRegions)
|
protected int |
computeRegionDivisions(Sector sector,
int levelNumber,
int maxCount)
|
protected long |
countTilesInSector(Sector sector,
int levelNumber)
|
protected long |
estimateAverageTileSize()
|
protected long |
estimateMissingTilesCount(int numSamples)
|
protected long |
getEstimatedMissingDataSize()
|
protected ArrayList<Tile> |
getMissingTilesInSector(Sector sector,
int levelNumber)
|
protected Iterator<Sector> |
getRegionIterator(Sector sector,
int div)
|
protected Tile[][] |
getTilesInSector(Sector sector,
int levelNumber)
|
protected boolean |
isTileLocalOrAbsent(Tile tile)
|
protected void |
normalizeProgress()
|
protected void |
removeAbsentTile(Tile tile)
|
protected void |
removeRetrievedTile(Tile tile)
|
void |
run()
|
protected void |
submitMissingTilesRequests()
|
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
DEFAULT_AVERAGE_FILE_SIZE
protected static final long DEFAULT_AVERAGE_FILE_SIZE
- See Also:
- Constant Field Values
elevationModel
protected final BasicElevationModel elevationModel
level
protected final int level
MAX_TILE_COUNT_PER_REGION
protected static final int MAX_TILE_COUNT_PER_REGION
- See Also:
- Constant Field Values
missingTiles
protected ArrayList<Tile> missingTiles
BasicElevationModelBulkDownloader
public BasicElevationModelBulkDownloader(BasicElevationModel elevationModel,
Sector sector,
double resolution,
BulkRetrievalListener listener)
- Constructs a downloader to retrieve elevations not currently available in the World Wind file cache.
The thread returned is not started during construction, the caller must start the thread.
- Parameters:
elevationModel - the elevation model for which to download elevations.sector - the sector to download data for. This value is final.resolution - the target resolution, provided in radians of latitude per texel. This value is final.listener - an optional retrieval listener. May be null.
- Throws:
IllegalArgumentException - if either the elevation model or sector are null, or the resolution is less than
zero.
BasicElevationModelBulkDownloader
public BasicElevationModelBulkDownloader(BasicElevationModel elevationModel,
Sector sector,
double resolution,
FileStore fileStore,
BulkRetrievalListener listener)
- Constructs a downloader to retrieve elevations not currently available in a specified file store.
The thread returned is not started during construction, the caller must start the thread.
- Parameters:
elevationModel - the elevation model for which to download elevations.sector - the sector to download data for. This value is final.resolution - the target resolution, provided in radians of latitude per texel. This value is final.fileStore - the file store in which to place the downloaded elevations.listener - an optional retrieval listener. May be null.
- Throws:
IllegalArgumentException - if either the elevation model, the sector or file store are null, or the
resolution is less than zero.
callRetrievalListeners
protected void callRetrievalListeners(Retriever retriever,
Tile tile)
computeAverageTileSize
protected static long computeAverageTileSize(File dir)
computeLevelForResolution
protected int computeLevelForResolution(Sector sector,
double resolution)
computeRandomRegions
protected Sector[] computeRandomRegions(Sector sector,
int div,
int numRegions)
computeRegionDivisions
protected int computeRegionDivisions(Sector sector,
int levelNumber,
int maxCount)
countTilesInSector
protected long countTilesInSector(Sector sector,
int levelNumber)
estimateAverageTileSize
protected long estimateAverageTileSize()
estimateMissingTilesCount
protected long estimateMissingTilesCount(int numSamples)
getEstimatedMissingDataSize
protected long getEstimatedMissingDataSize()
getMissingTilesInSector
protected ArrayList<Tile> getMissingTilesInSector(Sector sector,
int levelNumber)
throws InterruptedException
- Throws:
InterruptedException
getRegionIterator
protected Iterator<Sector> getRegionIterator(Sector sector,
int div)
getTilesInSector
protected Tile[][] getTilesInSector(Sector sector,
int levelNumber)
isTileLocalOrAbsent
protected boolean isTileLocalOrAbsent(Tile tile)
normalizeProgress
protected void normalizeProgress()
removeAbsentTile
protected void removeAbsentTile(Tile tile)
removeRetrievedTile
protected void removeRetrievedTile(Tile tile)
run
public void run()
- Specified by:
run in interface Runnable- Specified by:
run in class BulkRetrievalThread
submitMissingTilesRequests
protected void submitMissingTilesRequests()
throws InterruptedException
- Throws:
InterruptedException