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 BoundingBoxboundingBoxTile bounding boxprotected ProjectionprojectionTiles 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 booleanaddZoomLevel(int zoomLevel)Add a zoom levelbooleanaddZoomLevels(int[] zoomLevels)Add zoom levelsbooleanaddZoomLevels(int minZoom, int maxZoom)Add a range of zoom levelsbooleanaddZoomLevels(Collection<Integer> zoomLevels)Add zoom levelsvoidclose()Close the GeoPackageprotected abstract byte[]createTile(int z, long x, long y)Create the tileintgenerateTiles()Generate the tilesBoundingBoxgetBoundingBox()Get bounding boxBoundingBoxgetBoundingBox(int zoom)Get the bounding box, possibly expanded for the zoom levelStringgetCompressFormat()Get the compress formatFloatgetCompressQuality()Get the compress qualityGeoPackagegetGeoPackage()Get the GeoPackageintgetMaxZoom()Get the max zoomintgetMinZoom()Get the min zoomGeoPackageZoomLevelProgressgetProgress()Get the progress trackerTileScalinggetScaling()Get the tile scaling settingsStringgetTableName()Get the table nameintgetTileCount()Get the tile count of tiles to be generatedSortedSet<Integer>getZoomLevels()Get the zoom levels (read only)booleanisSkipExisting()Is skip existing tiles onbooleanisXYZTiles()Is the XYZ Tiles flag set to generate XYZ tile format tiles.protected abstract voidpreTileGeneration()Called after set up and right before tile generation starts for the first zoom levelvoidsetCompressFormat(String compressFormat)Set the compress formatvoidsetCompressQuality(Float compressQuality)Set the compress quality (0.0 to 1.0).voidsetProgress(GeoPackageZoomLevelProgress progress)Set the progress trackervoidsetScaling(TileScaling scaling)Set the tile scaling settingsvoidsetSkipExisting(boolean skipExisting)Set the skip existing tiles flagvoidsetXYZTiles(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, IOExceptionGenerate 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
-
-