Package mil.nga.geopackage.tiles
Class TileGenerator
- java.lang.Object
-
- mil.nga.geopackage.tiles.TileGenerator
-
- Direct Known Subclasses:
FeatureTileGenerator
,UrlTileGenerator
public abstract class TileGenerator extends Object
Creates a set of tiles within a GeoPackage- Since:
- 1.1.2
- Author:
- osbornb
-
-
Field Summary
Fields Modifier and Type Field Description protected BoundingBox
boundingBox
Tile bounding boxprotected Projection
projection
Tiles projection
-
Constructor Summary
Constructors Constructor Description TileGenerator(GeoPackage geoPackage, String tableName, int[] zoomLevels, BoundingBox boundingBox, Projection projection)
ConstructorTileGenerator(GeoPackage geoPackage, String tableName, int minZoom, int maxZoom, BoundingBox boundingBox, Projection projection)
ConstructorTileGenerator(GeoPackage geoPackage, String tableName, int zoomLevel, BoundingBox boundingBox, Projection projection)
ConstructorTileGenerator(GeoPackage geoPackage, String tableName, Collection<Integer> zoomLevels, BoundingBox boundingBox, Projection projection)
ConstructorTileGenerator(GeoPackage geoPackage, String tableName, BoundingBox boundingBox, Projection projection)
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
addZoomLevel(int zoomLevel)
Add a zoom levelboolean
addZoomLevels(int[] zoomLevels)
Add zoom levelsboolean
addZoomLevels(int minZoom, int maxZoom)
Add a range of zoom levelsboolean
addZoomLevels(Collection<Integer> zoomLevels)
Add zoom levelsvoid
close()
Close the GeoPackageprotected abstract byte[]
createTile(int z, long x, long y)
Create the tileint
generateTiles()
Generate the tilesBoundingBox
getBoundingBox()
Get bounding boxBoundingBox
getBoundingBox(int zoom)
Get the bounding box, possibly expanded for the zoom levelString
getCompressFormat()
Get the compress formatFloat
getCompressQuality()
Get the compress qualityGeoPackage
getGeoPackage()
Get the GeoPackageint
getMaxZoom()
Get the max zoomint
getMinZoom()
Get the min zoomGeoPackageZoomLevelProgress
getProgress()
Get the progress trackerTileScaling
getScaling()
Get the tile scaling settingsString
getTableName()
Get the table nameint
getTileCount()
Get the tile count of tiles to be generatedSortedSet<Integer>
getZoomLevels()
Get the zoom levels (read only)boolean
isSkipExisting()
Is skip existing tiles onboolean
isXYZTiles()
Is the XYZ Tiles flag set to generate XYZ tile format tiles.protected abstract void
preTileGeneration()
Called after set up and right before tile generation starts for the first zoom levelvoid
setCompressFormat(String compressFormat)
Set the compress formatvoid
setCompressQuality(Float compressQuality)
Set the compress quality (0.0 to 1.0).void
setProgress(GeoPackageZoomLevelProgress progress)
Set the progress trackervoid
setScaling(TileScaling scaling)
Set the tile scaling settingsvoid
setSkipExisting(boolean skipExisting)
Set the skip existing tiles flagvoid
setXYZTiles(boolean xyzTiles)
Set the XYZ Tiles flag to true to generate XYZ tile format tiles.
-
-
-
Field Detail
-
projection
protected Projection projection
Tiles projection
-
boundingBox
protected BoundingBox boundingBox
Tile bounding box
-
-
Constructor Detail
-
TileGenerator
public TileGenerator(GeoPackage geoPackage, String tableName, BoundingBox boundingBox, Projection projection)
Constructor- Parameters:
geoPackage
- GeoPackagetableName
- table nameboundingBox
- tiles bounding boxprojection
- tiles projection- Since:
- 6.2.0
-
TileGenerator
public TileGenerator(GeoPackage geoPackage, String tableName, int zoomLevel, BoundingBox boundingBox, Projection projection)
Constructor- Parameters:
geoPackage
- GeoPackagetableName
- table namezoomLevel
- zoom levelboundingBox
- tiles bounding boxprojection
- tiles projection- Since:
- 6.2.0
-
TileGenerator
public TileGenerator(GeoPackage geoPackage, String tableName, int minZoom, int maxZoom, BoundingBox boundingBox, Projection projection)
Constructor- Parameters:
geoPackage
- GeoPackagetableName
- table nameminZoom
- min zoommaxZoom
- max zoomboundingBox
- tiles bounding boxprojection
- tiles projection- Since:
- 1.2.0
-
TileGenerator
public TileGenerator(GeoPackage geoPackage, String tableName, Collection<Integer> zoomLevels, BoundingBox boundingBox, Projection projection)
Constructor- Parameters:
geoPackage
- GeoPackagetableName
- table namezoomLevels
- zoom levelsboundingBox
- tiles bounding boxprojection
- tiles projection- Since:
- 6.2.0
-
TileGenerator
public TileGenerator(GeoPackage geoPackage, String tableName, int[] zoomLevels, BoundingBox boundingBox, Projection projection)
Constructor- Parameters:
geoPackage
- GeoPackagetableName
- table namezoomLevels
- zoom levelsboundingBox
- tiles bounding boxprojection
- tiles projection- Since:
- 6.2.0
-
-
Method Detail
-
getGeoPackage
public GeoPackage getGeoPackage()
Get the GeoPackage- Returns:
- GeoPackage
-
getTableName
public String getTableName()
Get the table name- Returns:
- table name
-
getMinZoom
public int getMinZoom()
Get the min zoom- Returns:
- min zoom
-
getMaxZoom
public int getMaxZoom()
Get the max zoom- Returns:
- max zoom
-
getZoomLevels
public SortedSet<Integer> getZoomLevels()
Get the zoom levels (read only)- Returns:
- zoom levels
- Since:
- 6.2.0
-
addZoomLevel
public boolean addZoomLevel(int zoomLevel)
Add a zoom level- Parameters:
zoomLevel
- zoom level- Returns:
- true if zoom level added
- Since:
- 6.2.0
-
addZoomLevels
public boolean addZoomLevels(int minZoom, int maxZoom)
Add a range of zoom levels- Parameters:
minZoom
- min zoom levelmaxZoom
- max zoom level- Returns:
- true if at least one zoom level added
- Since:
- 6.2.0
-
addZoomLevels
public boolean addZoomLevels(Collection<Integer> zoomLevels)
Add zoom levels- Parameters:
zoomLevels
- zoom levels- Returns:
- true if at least one zoom level added
- Since:
- 6.2.0
-
addZoomLevels
public boolean addZoomLevels(int[] zoomLevels)
Add zoom levels- Parameters:
zoomLevels
- zoom levels- Returns:
- true if at least one zoom level added
- Since:
- 6.2.0
-
getBoundingBox
public BoundingBox getBoundingBox()
Get bounding box- Returns:
- bounding box
-
getBoundingBox
public BoundingBox getBoundingBox(int zoom)
Get the bounding box, possibly expanded for the zoom level- Parameters:
zoom
- zoom level- Returns:
- original or expanded bounding box
- Since:
- 3.2.0
-
setCompressFormat
public void setCompressFormat(String compressFormat)
Set the compress format- Parameters:
compressFormat
- compression format
-
getCompressFormat
public String getCompressFormat()
Get the compress format- Returns:
- compress format
-
setCompressQuality
public void setCompressQuality(Float compressQuality)
Set the compress quality (0.0 to 1.0). The Compress format must be set for this to be used.- Parameters:
compressQuality
- compression quality
-
getCompressQuality
public Float getCompressQuality()
Get the compress quality- Returns:
- compress quality or null
-
setProgress
public void setProgress(GeoPackageZoomLevelProgress progress)
Set the progress tracker- Parameters:
progress
- progress tracker
-
getProgress
public GeoPackageZoomLevelProgress getProgress()
Get the progress tracker- Returns:
- progress
-
setXYZTiles
public void setXYZTiles(boolean xyzTiles)
Set the XYZ Tiles flag to true to generate XYZ tile format tiles. Default is false- Parameters:
xyzTiles
- XYZ Tiles flag- Since:
- 3.5.0
-
isXYZTiles
public boolean isXYZTiles()
Is the XYZ Tiles flag set to generate XYZ tile format tiles.- Returns:
- true if XYZ Tiles format, false if GeoPackage
- Since:
- 3.5.0
-
getScaling
public TileScaling getScaling()
Get the tile scaling settings- Returns:
- tile scaling
- Since:
- 2.0.2
-
setScaling
public void setScaling(TileScaling scaling)
Set the tile scaling settings- Parameters:
scaling
- tile scaling- Since:
- 2.0.2
-
isSkipExisting
public boolean isSkipExisting()
Is skip existing tiles on- Returns:
- true if skipping existing tiles
- Since:
- 3.5.0
-
setSkipExisting
public void setSkipExisting(boolean skipExisting)
Set the skip existing tiles flag- Parameters:
skipExisting
- true to skip existing tiles- Since:
- 3.5.0
-
getTileCount
public int getTileCount()
Get the tile count of tiles to be generated- Returns:
- tile count
-
generateTiles
public int generateTiles() throws SQLException, IOException
Generate the tiles- Returns:
- tiles created
- Throws:
SQLException
- upon failureIOException
- upon failure
-
close
public void close()
Close the GeoPackage
-
preTileGeneration
protected abstract void preTileGeneration()
Called after set up and right before tile generation starts for the first zoom level
-
createTile
protected abstract byte[] createTile(int z, long x, long y)
Create the tile- Parameters:
z
- zoom levelx
- x coordinatey
- y coordinate- Returns:
- tile bytes
-
-