com.bbn.openmap.dataAccess.mapTile
Class TileMillMapTileFactory
java.lang.Object
com.bbn.openmap.util.cacheHandler.CacheHandler
com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory
com.bbn.openmap.dataAccess.mapTile.TileMillMapTileFactory
- All Implemented Interfaces:
- MapTileFactory, PropertyConsumer
public class TileMillMapTileFactory
- extends StandardMapTileFactory
- implements MapTileFactory, PropertyConsumer
The TileMillMapTileFactory is an extension to the StandardMapTileFactory that can read image tiles stored in a
mbtiles file, which is the export format from the TileMill application. The mbtiles file is a sqlite database, so
this factory requires the sqlitejdbc package be used to read those data files. You can find that package at
http://www.zentus.com/sqlitejdbc.
This component can be configured using properties:
# Inherited from StandardMapTileFactory
rootDir=the jdbc driver/path string to use for the database file, "jdbc:sqlite:path to file"
cacheSize=the number of mapTiles the factory should hold on to. The default is 100.
#optional:
# The class used to test for the existance of jdbc components. Assumes sqlitejdbc, but the code fetching the tiles
# is pretty standard SQL - so you should be able to use any jdbc driver library.
testClass=org.sqlite.JDBC
- Author:
- dietrick
Fields inherited from class com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory |
CACHE_SIZE_PROPERTY, EMPTY_TILE_HANDLER_PROPERTY, emptyTileHandler, FILE_EXT_PROPERTY, fileExt, lastProj, logger, mapTileLogger, mapTileRequester, mtcTransform, MTCTRANSFORM_PROPERTY, prefix, ROOT_DIR_PATH_PROPERTY, ROOT_DIR_PROPERTY, rootDir, rootDirProperty, TILE_IMAGE_PREPARER_PROPERTY, TILE_PROPERTIES, tileImagePreparer, verbose, ZOOM_LEVEL_INFO_PROPERTY, ZOOM_LEVEL_TILE_SIZE_PROPERTY, zoomLevelInfo, zoomLevelTileSize |
Method Summary |
java.util.Properties |
getProperties(java.util.Properties getList)
Method to fill in a Properties object, reflecting the current
values of the PropertyConsumer. |
java.util.Properties |
getPropertyInfo(java.util.Properties list)
Method to fill in a Properties object with values reflecting
the properties able to be set on this PropertyConsumer. |
CacheObject |
load(java.lang.Object key,
int x,
int y,
int zoomLevel,
Projection proj)
Fetches a new tile from the database. |
void |
setProperties(java.lang.String prefix,
java.util.Properties setList)
Method to set the properties in the PropertyConsumer. |
Methods inherited from class com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory |
buildCacheKey, buildFilePath, configureFromProperties, createOMGraphicFromBufferedImage, get, getEmptyTile, getEmptyTileHandler, getFileExt, getFromCache, getInitPropertiesOrder, getMapTileRequester, getMtcTransform, getPropertyPrefix, getRootDir, getTileImagePreparer, getTileMatchingProjectionType, getTileNotMatchingProjectionType, getTilePathBuilder, getTiles, getTiles, getTiles, getTiles, getZoomLevelInfo, load, preprocessImage, reset, setEmptyTileHandler, setFileExt, setMapTileRequester, setMtcTransform, setProperties, setPropertyPrefix, setRootDir, setTileImagePreparer, setTilePathBuilder, setZoomLevelInfo |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_TEST_CLASS
public static final java.lang.String DEFAULT_TEST_CLASS
- See Also:
- Constant Field Values
TEST_CLASS_PROPERTY
public static final java.lang.String TEST_CLASS_PROPERTY
- See Also:
- Constant Field Values
testClass
protected java.lang.String testClass
- Test class to use for existence of JDBC drivers.
TileMillMapTileFactory
public TileMillMapTileFactory()
TileMillMapTileFactory
public TileMillMapTileFactory(java.lang.String rootDir)
load
public CacheObject load(java.lang.Object key,
int x,
int y,
int zoomLevel,
Projection proj)
- Fetches a new tile from the database.
- Overrides:
load
in class StandardMapTileFactory
- Parameters:
key
- cache keyx
- uv x coordinatey
- uv y coordinatezoomLevel
- zoom level for tile to loadproj
- passed solely to enable checking if the projection of the
tiles matches the rendered projection.
- Returns:
- CacheObject returned from cache, null if not found
getProperties
public java.util.Properties getProperties(java.util.Properties getList)
- Description copied from interface:
PropertyConsumer
- Method to fill in a Properties object, reflecting the current
values of the PropertyConsumer. If the PropertyConsumer has a
prefix set, the property keys should have that prefix plus a
separating '.' prepended to each property key it uses for
configuration.
- Specified by:
getProperties
in interface PropertyConsumer
- Overrides:
getProperties
in class StandardMapTileFactory
- Parameters:
getList
- a Properties object to load the PropertyConsumer
properties into. If getList equals null, then a new
Properties object should be created.
- Returns:
- Properties object containing PropertyConsumer property
values. If getList was not null, this should equal
getList. Otherwise, it should be the Properties object
created by the PropertyConsumer.
getPropertyInfo
public java.util.Properties getPropertyInfo(java.util.Properties list)
- Description copied from interface:
PropertyConsumer
- Method to fill in a Properties object with values reflecting
the properties able to be set on this PropertyConsumer. The key
for each property should be the raw property name (without a
prefix) with a value that is a String that describes what the
property key represents, along with any other information about
the property that would be helpful (range, default value,
etc.).
- Specified by:
getPropertyInfo
in interface PropertyConsumer
- Overrides:
getPropertyInfo
in class StandardMapTileFactory
- Parameters:
list
- a Properties object to load the PropertyConsumer
properties into. If getList equals null, then a new
Properties object should be created.
- Returns:
- Properties object containing PropertyConsumer property
values. If getList was not null, this should equal
getList. Otherwise, it should be the Properties object
created by the PropertyConsumer.
setProperties
public void setProperties(java.lang.String prefix,
java.util.Properties setList)
- Description copied from interface:
PropertyConsumer
- Method to set the properties in the PropertyConsumer. The
prefix is a string that should be prepended to each property
key (in addition to a separating '.') in order for the
PropertyConsumer to uniquely identify properties meant for it,
in the midst of of Properties meant for several objects.
- Specified by:
setProperties
in interface PropertyConsumer
- Overrides:
setProperties
in class StandardMapTileFactory
- Parameters:
prefix
- a String used by the PropertyConsumer to prepend
to each property value it wants to look up -
setList.getProperty(prefix.propertyKey). If the prefix
had already been set, then the prefix passed in should
replace that previous value.setList
- a Properties object that the PropertyConsumer
can use to retrieve expected properties it can use for
configuration.
Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details