public abstract class AbstractTMSTileSource extends AbstractTileSource
Modifier and Type | Field and Description |
---|---|
protected String |
baseUrl |
protected String |
id |
private Map<String,String> |
metadataHeaders |
protected String |
name |
private Map<String,String> |
noTileHeaders |
protected OsmMercator |
osmMercator |
protected int |
tileSize |
attributionImage, attributionImageURL, attributionLinkURL, attributionText, termsOfUseText, termsOfUseURL
Constructor and Description |
---|
AbstractTMSTileSource(TileSourceInfo info)
Creates an instance based on TileSource information
|
Modifier and Type | Method and Description |
---|---|
String |
getBaseUrl() |
int |
getDefaultTileSize() |
double |
getDistance(double lat1,
double lon1,
double lat2,
double lon2)
Gets the distance using Spherical law of cosines.
|
String |
getExtension() |
String |
getId()
A unique id for this tile source.
|
int |
getMaxZoom()
Specifies the maximum zoom value.
|
Map<String,String> |
getMetadata(Map<String,List<String>> headers)
Extracts metadata about the tile based on HTTP headers
|
int |
getMinZoom()
Specifies the minimum zoom value.
|
String |
getName()
A tile layer name as displayed to the user.
|
String |
getTileId(int zoom,
int tilex,
int tiley)
Creates tile identifier that is unique among all tile sources, but the same tile will always
get the same identifier.
|
private static int |
getTileMax(int zoom) |
String |
getTilePath(int zoom,
int tilex,
int tiley) |
int |
getTileSize()
Specifies how large each tile is.
|
String |
getTileUrl(int zoom,
int tilex,
int tiley)
Constructs the tile url.
|
int |
getTileXMax(int zoom) |
int |
getTileXMin(int zoom) |
int |
getTileYMax(int zoom) |
int |
getTileYMin(int zoom) |
boolean |
isNoTileAtZoom(Map<String,List<String>> headers,
int statusCode,
byte[] content)
Determines, if the returned data from TileSource represent "no tile at this zoom level" situation.
|
TileXY |
latLonToTileXY(double lat,
double lon,
int zoom) |
TileXY |
latLonToTileXY(ICoordinate point,
int zoom) |
Point |
latLonToXY(double lat,
double lon,
int zoom) |
Point |
latLonToXY(ICoordinate point,
int zoom) |
ICoordinate |
tileXYToLatLon(int x,
int y,
int zoom) |
ICoordinate |
tileXYToLatLon(Tile tile) |
ICoordinate |
tileXYToLatLon(TileXY xy,
int zoom) |
String |
toString() |
ICoordinate |
xyToLatLon(int x,
int y,
int zoom) |
ICoordinate |
xyToLatLon(Point point,
int zoom) |
getAttributionImage, getAttributionImageURL, getAttributionLinkURL, getAttributionText, getTermsOfUseText, getTermsOfUseURL, requiresAttribution, setAttributionImage, setAttributionImageURL, setAttributionLinkURL, setAttributionText, setTermsOfUseText, setTermsOfUseURL
private final Map<String,String> noTileHeaders
private final Map<String,String> metadataHeaders
protected int tileSize
protected OsmMercator osmMercator
public AbstractTMSTileSource(TileSourceInfo info)
info
- description of the Tile Sourcepublic int getDefaultTileSize()
public String getName()
TileSource
public String getId()
TileSource
public int getMaxZoom()
TileSource
TileSource.getMaxZoom()
].JMapViewer.MAX_ZOOM
public int getMinZoom()
TileSource
public String getExtension()
public String getTilePath(int zoom, int tilex, int tiley) throws IOException
zoom
- level of the tiletilex
- tile number in x axistiley
- tile number in y axisIOException
- when subclass cannot return the tile URLpublic String getBaseUrl()
public String getTileUrl(int zoom, int tilex, int tiley) throws IOException
TileSource
zoom
- zoom leveltilex
- X coordinatetiley
- Y coordinateIOException
- if any I/O error occurspublic int getTileSize()
TileSource
public double getDistance(double lat1, double lon1, double lat2, double lon2)
TileSource
lat1
- latitude of first pointlon1
- longitude of first pointlat2
- latitude of second pointlon2
- longitude of second pointpublic Point latLonToXY(double lat, double lon, int zoom)
lat
- latitudelon
- longitudezoom
- zoom levelpublic Point latLonToXY(ICoordinate point, int zoom)
point
- pointzoom
- zoom levelpublic ICoordinate xyToLatLon(Point point, int zoom)
point
- pointzoom
- zoom levelpublic ICoordinate xyToLatLon(int x, int y, int zoom)
x
- X coordinatey
- Y coordinatezoom
- zoom levelpublic TileXY latLonToTileXY(double lat, double lon, int zoom)
lat
- latitudelon
- longitudezoom
- zoom levelpublic TileXY latLonToTileXY(ICoordinate point, int zoom)
point
- pointzoom
- zoom levelpublic ICoordinate tileXYToLatLon(TileXY xy, int zoom)
xy
- X/Y coordinateszoom
- zoom levelpublic ICoordinate tileXYToLatLon(Tile tile)
tile
- Tilepublic ICoordinate tileXYToLatLon(int x, int y, int zoom)
x
- X coordinatey
- Y coordinatezoom
- zoom levelpublic int getTileXMax(int zoom)
zoom
- zoom levelpublic int getTileXMin(int zoom)
zoom
- zoom levelpublic int getTileYMax(int zoom)
zoom
- zoom levelpublic int getTileYMin(int zoom)
zoom
- zoom levelpublic boolean isNoTileAtZoom(Map<String,List<String>> headers, int statusCode, byte[] content)
TileSource
isNoTileAtZoom
in interface TileSource
isNoTileAtZoom
in class AbstractTileSource
headers
- HTTP headers from response from TileSource serverstatusCode
- HTTP status codecontent
- byte array representing the data returned from the serverpublic Map<String,String> getMetadata(Map<String,List<String>> headers)
TileSource
headers
- HTTP headers from Tile Source serverpublic String getTileId(int zoom, int tilex, int tiley)
TileSource
zoom
- zoom leveltilex
- X coordinatetiley
- Y coordinateprivate static int getTileMax(int zoom)