gov.nasa.worldwind.layers.placename
Class PlaceNameLayerBulkDownloader
java.lang.Object
java.lang.Thread
gov.nasa.worldwind.retrieve.BulkRetrievalThread
gov.nasa.worldwind.layers.placename.PlaceNameLayerBulkDownloader
- All Implemented Interfaces:
- Runnable
public class PlaceNameLayerBulkDownloader
- extends BulkRetrievalThread
Downloads placenames 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.
| 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 |
AVG_TILE_SIZE
protected static final long AVG_TILE_SIZE
- See Also:
- Constant Field Values
layer
protected final PlaceNameLayer layer
MAX_TILE_COUNT_PER_REGION
protected int MAX_TILE_COUNT_PER_REGION
missingTiles
protected ArrayList<PlaceNameLayer.Tile> missingTiles
pollDelay
protected long pollDelay
PlaceNameLayerBulkDownloader
public PlaceNameLayerBulkDownloader(PlaceNameLayer layer,
Sector sector,
double resolution,
BulkRetrievalListener listener)
- Constructs a downloader to retrieve placenames not currently available in the World Wind file cache.
The thread returned is not started during construction, the caller must start the thread.
- Parameters:
layer - the layer for which to download placenames.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 layer or sector are null, or the resolution is less than zero.
PlaceNameLayerBulkDownloader
public PlaceNameLayerBulkDownloader(PlaceNameLayer layer,
Sector sector,
double resolution,
FileStore fileStore,
BulkRetrievalListener listener)
- Constructs a downloader to retrieve placenames not currently available in a specified file store and places it
there.
The thread returned is not started during construction, the caller must start the thread.
- Parameters:
layer - the layer for which to download placenames.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 layer, the sector or file store are null, or the resolution is
less than zero.
callRetrievalListeners
protected void callRetrievalListeners(Retriever retriever,
PlaceNameLayer.Tile tile)
estimateNumberTilesinSector
protected int estimateNumberTilesinSector(PlaceNameLayer.NavigationTile tile,
Sector searchSector)
getEstimatedMissingDataSize
protected long getEstimatedMissingDataSize()
getMissingTilesCountEstimate
protected int getMissingTilesCountEstimate(Sector sector,
double resolution)
getMissingTilesInSector
protected ArrayList<PlaceNameLayer.Tile> getMissingTilesInSector(Sector sector)
throws InterruptedException
- Throws:
InterruptedException
isTileLocalOrAbsent
protected boolean isTileLocalOrAbsent(PlaceNameLayer.Tile tile)
navTilesVisible
protected List<PlaceNameLayer.NavigationTile> navTilesVisible(PlaceNameLayer.NavigationTile tile,
Sector sector)
removeRetrievedTile
protected void removeRetrievedTile(PlaceNameLayer.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
transferMissingTiles
protected void transferMissingTiles(ArrayList<PlaceNameLayer.Tile> source,
ArrayList<PlaceNameLayer.Tile> destination,
int maxCount)