Creates a new FusionTileSetModel.
A parameter hash containing the properties described below.
The base URL configures the location of the tile server. Please refer to getTileURL for details on how the base URL is used to obtain tiles.
The coordinate type of geometries in this model
Indicates whether or not credentials should be included with HTTP requests.
Set this to true if the server requires credentials, like HTTP basic authentication headers or cookies.
You should disable credentials if the server is configured to allow cross-origin requests from all domains (Acces-Control-Allow-Origin=*
).
If the server allows CORS requests from all domains, the browser will block all requests where credentials=true
.
Once set, all subsequent HTTP requests will use the newly set value.
The default value is false
.
Returns the data type of this RasterTileSetModel.
Indicates that this RasterTileSetModel models a sparse tile tree. Please refer to RasterTileSetModelConstructorOptions.isSparseTileSet for details.
The number of available detail levels. Level 0 is the coarsest level.
An object containing metadata about this model
An object containing metadata about this model
The reference in which this model is defined
Headers to send with every HTTP request.
An object literal that represents the headers to send with every HTTP request. The property names represent HTTP header names, the property values represent the HTTP header values. This property can be set dynamically (post-construction). Once set, all subsequent HTTP requests will use the newly set headers.
Note that when custom headers are being sent to a server on another domain, the server will have to properly
respond to pre-flight CORS requests (a HTTP OPTION request sent by the browser before doing the actual request).
The server has to indicate that the header can be used in the actual request, by including it in
the pre-flight's Access-Control-Allow-Headers
response header.
The default value is null
.
Custom request parameters to send along with LTS requests. The object literal can contain simple key/value pairs. Accepted values are strings, numbers and booleans. A ProgrammingError will be thrown if values of another type are used. Values must not be URL encoded.
Assignments of other values than object literals to requestParameters
will throw an Error. Clearing
the parameters can be done by assigning null
or an empty object literal to
requestParameters
. In order to trigger a refresh of the
visualization on the map, can call invalidate.
Custom request parameters to send along with tile request. The object literal can contain simple key/value pairs. Accepted values are strings, numbers and booleans. A ProgrammingError will be thrown if values of another type are used. Values must not be URL encoded.
Assignments of other values than object literals to requestParameters
will throw an Error. Clearing
the parameters can be done by assigning null
or an empty object literal to
requestParameters
. In order to trigger a refresh of the
visualization on the map, can call invalidate.
Returns the sampling mode of this RasterTileSetModel.
getTileURL will replace the {s}
pattern in baseURL
with
values from subdomains
. This will cause tile requests to be spread across different
subdomains. Browsers limit the amount of connections to a single domain. Using
subdomains
avoids hitting this limit.
The subdomains
array cannot be empty if the model's baseURL contains the {s}
subdomain hook.
Loads a tile from the tileset.
the coordinate of the tile
the callback function that should be invoked when the tile was successfully loaded The function will receive two arguments, the tile coordinate that was passed to this function and an Image object.
the callback function that should be invoked when the tile could not be loaded The function will receive two arguments, the tile coordinate that was passed to this function and an optional Error object.
Optional
error: anyan AbortSignal that signals when a tile request is cancelled
Returns the pixel density of the raster data at the specified detail level. The pixel density is the number of raster elements per spatial unit , i.e. (tile pixel width) / (tile spatial width) and (tile pixel height) / (tile spatial height area), where the tile spatial dimensions are in the tilesets reference.
the requested detail level
the pixel density of the raster data at the specified detail level.
It returns null
if the level does not exist.
Returns the bounds of a given tile in the tile set. The bounds are calculated based on the model bounds and the model's tileset structure.
The tile coordinate for which you want to calculate the bounds
The bounds of the requested tile coordinate in the model's reference.
Loads a tile from the tileset. The default implementation of this method calls the getImage method.
The following code snippet illustrates how this method can be overridden.
model.getTileData = function(tile, onSuccess, onError) {
fetch(url).then(function(response) {
response.arrayBuffer().then(function(arrayBuffer) {
onSuccess(tile, {
data: arrayBuffer,
mimeType: "image/jpeg"
});
})
});
the coordinate of the tile
the callback function that should be invoked when the tile was successfully loaded The function will receive two arguments, the tile coordinate that was passed to this function and a TileData object.
the callback function that should be invoked when the tile could not be loaded The function will receive two arguments, the tile coordinate that was passed to this function and an optional Error object.
an AbortSignal that signals when a tile request is cancelled.
Returns the URL for a specific tile. The default implementation of this method returns baseURL
,
replacing the strings {x}
, {y}
and {z}
with the values of
tile.x
, tile.y
and tile.level
respectively.
It is not uncommon that the tile rows are seem to be reversed in the visualisation. This means that the
Y-axis in the tile coordinate system of the tile service is reversed with respect to the tile coordinate
system used by LuciadRIA. You can use the {-y}
placeholder in the baseURL to compensate for this.
If the baseURL contains the {s}
subdomains hook, getTileURL()
will replace the hook
with one of the values of subdomains.
the base URL that was passed to the constructor.
the coordinate of the tile
the resolved URL for the specified tile or null
if the requested tile does not exist.
Signals that the underlying data for the tiled images has changed. If this model is added to a map using a RasterTileSetLayer, calling this method will thus trigger a refresh of the visualization.
Static
createCreate a FusionTileSetModel
for the given coverage and options. This is the recommended method to create
a model based on information provided by LTSCapabilities.
LTS capabilities
The identifier of a LuciadFusion coverage
Optional
options: FusionTileSetModelCreateOptionsthe options for the Fusion tile set model
a FusionTileSetModel
for the given parameters.
Static
createCreate a new FusionTileSetModel for the given LuciadFusion coverage. This is the recommended method to create a model based on a given LuciadFusion LTS server URL and coverage identifier.
The URL of the LuciadFusion LTS server.
The identifier of a LuciadFusion coverage
Optional
options: FusionTileSetModelCreateOptionsthe options for the Fusion tile set model
a FusionTileSetModel
for the given parameters. The promise is rejected if the model creation fails.
An event indicating that this RasterTileSetModel is invalidated. Invalidated means that the underlying data for the tiled images has changed This event fires when invalidate is called. "Invalidated"
Rest
...args: any[]Optional
context: any
A tileset model that can access a LuciadFusion LTS tile server and load tiles from coverages.
Typically, you don't need to call the constructor yourself. Instead, use the factory methods createFromURL or createFromCapabilities to create an instance of this model. The following example demonstrates how to set up a
FusionTileSetModel
to retrieve LTS tiles for a given service url and coverage identifier:If you want to access the LTS server capabilities and explore the service metadata and available data sets, you have to create a LTSCapabilities instance first. You can also use this instance to create a
FusionTileSetModel
afterwards: