public interface TileSource extends Attributed
Modifier and Type | Method and Description |
---|---|
TileRange |
getCoveringTileRange(Tile tile,
int newZoom)
Returns a range of tiles, that cover a given tile, which is
usually at a different zoom level.
|
int |
getDefaultTileSize() |
double |
getDistance(double la1,
double lo1,
double la2,
double lo2)
Gets the distance using Spherical law of cosines.
|
java.lang.String |
getId()
A unique id for this tile source.
|
int |
getMaxZoom()
Specifies the maximum zoom value.
|
java.util.Map<java.lang.String,java.lang.String> |
getMetadata(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers)
Extracts metadata about the tile based on HTTP headers
|
int |
getMinZoom()
Specifies the minimum zoom value.
|
java.lang.String |
getName()
A tile layer name as displayed to the user.
|
java.lang.String |
getServerCRS()
Get coordinate reference system for this tile source.
|
java.lang.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.
|
int |
getTileSize()
Specifies how large each tile is.
|
java.lang.String |
getTileUrl(int zoom,
int tilex,
int tiley)
Constructs the tile url.
|
int |
getTileXMax(int zoom)
Get maximum x index of tile for specified zoom level.
|
int |
getTileXMin(int zoom)
Get minimum x index of tile for specified zoom level.
|
int |
getTileYMax(int zoom)
Get maximum y index of tile for specified zoom level.
|
int |
getTileYMin(int zoom)
Get minimum y index of tile for specified zoom level
|
boolean |
isInside(Tile inner,
Tile outer)
Check if one tile is inside another tile.
|
default boolean |
isModTileFeatures()
Determines if this imagery supports "/dirty" mode (tile re-rendering).
|
boolean |
isNoTileAtZoom(java.util.Map<java.lang.String,java.util.List<java.lang.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)
Transforms longitude and latitude to tile indices.
|
TileXY |
latLonToTileXY(ICoordinate point,
int zoom)
Transforms longitude and latitude to tile indices.
|
java.awt.Point |
latLonToXY(double lat,
double lon,
int zoom)
Transforms longitude and latitude to pixel space (as if all tiles at specified zoom level where joined).
|
java.awt.Point |
latLonToXY(ICoordinate point,
int zoom)
Transforms longitude and latitude to pixel space (as if all tiles at specified zoom level where joined).
|
TileXY |
projectedToTileXY(IProjected p,
int zoom)
Convert projected coordinates to tile indices.
|
ICoordinate |
tileXYToLatLon(int x,
int y,
int zoom)
Transforms tile indices to longitude and latitude.
|
ICoordinate |
tileXYToLatLon(Tile tile)
Determines to longitude and latitude of a tile.
|
ICoordinate |
tileXYToLatLon(TileXY xy,
int zoom)
Transforms tile indices to longitude and latitude.
|
IProjected |
tileXYtoProjected(int x,
int y,
int zoom)
Convert tile indices (x/y/zoom) into projected coordinates of the tile origin.
|
ICoordinate |
xyToLatLon(int x,
int y,
int zoom)
Transforms a point in pixel space to longitude/latitude (WGS84).
|
ICoordinate |
xyToLatLon(java.awt.Point point,
int zoom)
Transforms a point in pixel space to longitude/latitude (WGS84).
|
getAttributionImage, getAttributionImageURL, getAttributionLinkURL, getAttributionText, getTermsOfUseText, getTermsOfUseURL, requiresAttribution
int getMaxZoom()
getMaxZoom()
].JMapViewer.MAX_ZOOM
int getMinZoom()
java.lang.String getName()
java.lang.String getId()
java.lang.String getTileUrl(int zoom, int tilex, int tiley) throws java.io.IOException
zoom
- zoom leveltilex
- X coordinatetiley
- Y coordinatejava.io.IOException
- if any I/O error occursjava.lang.String getTileId(int zoom, int tilex, int tiley)
zoom
- zoom leveltilex
- X coordinatetiley
- Y coordinateint getTileSize()
int getDefaultTileSize()
double getDistance(double la1, double lo1, double la2, double lo2)
la1
- latitude of first pointlo1
- longitude of first pointla2
- latitude of second pointlo2
- longitude of second pointjava.awt.Point latLonToXY(double lat, double lon, int zoom)
lon
- longitudelat
- latitudezoom
- zoom leveljava.awt.Point latLonToXY(ICoordinate point, int zoom)
point
- pointzoom
- zoom levelICoordinate xyToLatLon(java.awt.Point point, int zoom)
point
- pointzoom
- zoom levelICoordinate xyToLatLon(int x, int y, int zoom)
x
- X coordinatey
- Y coordinatezoom
- zoom levelTileXY latLonToTileXY(double lat, double lon, int zoom)
lon
- longitudelat
- latitudezoom
- zoom levelTileXY latLonToTileXY(ICoordinate point, int zoom)
point
- pointzoom
- zoom levelICoordinate tileXYToLatLon(TileXY xy, int zoom)
xy
- X/Y tile indiceszoom
- zoom levelICoordinate tileXYToLatLon(Tile tile)
tile
- TileICoordinate tileXYToLatLon(int x, int y, int zoom)
x
- x tile indexy
- y tile indexzoom
- zoom levelint getTileXMax(int zoom)
zoom
- zoom levelint getTileXMin(int zoom)
zoom
- zoom levelint getTileYMax(int zoom)
zoom
- zoom levelint getTileYMin(int zoom)
zoom
- zoom levelboolean isNoTileAtZoom(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers, int statusCode, byte[] content)
headers
- HTTP headers from response from TileSource serverstatusCode
- HTTP status codecontent
- byte array representing the data returned from the serverjava.util.Map<java.lang.String,java.lang.String> getMetadata(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers)
headers
- HTTP headers from Tile Source serverIProjected tileXYtoProjected(int x, int y, int zoom)
x
- x tile indexy
- z tile indexzoom
- zoom levelTileXY projectedToTileXY(IProjected p, int zoom)
p
- projected coordinateszoom
- zoom levelboolean isInside(Tile inner, Tile outer)
inner
- the tile that is suspected to be inside the other tileouter
- the tile that might contain the first tileTileRange getCoveringTileRange(Tile tile, int newZoom)
tile
- the tile to covernewZoom
- zoom level of the covering tilesnewZoom
java.lang.String getServerCRS()
default boolean isModTileFeatures()
true
if it supports "/dirty" mode (tile re-rendering)