@allmaps/render
Allmaps render module. Renders georeferenced IIIF maps specified by a Georeference Annotation.
The following renderers are implemented:
CanvasRenderer
: renders WarpedMaps to a HTML Canvas element with the Canvas 2D APIWebGL2Renderer
: renders WarpedMaps to a WebGL 2 contextIntArrayRenderer
: renders WarpedMaps to an IntArray
This module is mainly used in the Allmaps pipeline by the following packages:
It is also used in the Allmaps Preview app.
How it works
The render module accomplishes this task with the following classes:
- All renderers use the concept of a
Viewport
, describing coordinate reach that should be rendered. Create a viewport using it’s constructor or the static methods in the Viewport class. The CanvasRenderer and WebGL2Renderer can deduce a viewport from the current WarpedMapList and the size of their (WebGL2-enabled) canvas. - All renderers extend the
BaseRenderer
class, which implements the general actions of the (automatically throttled)render()
calls: checking which maps are inside the current viewport, initially loading their image informations, checking which zoomlevel corresponds to the viewport, getting the IIIF tiles of that zoomlevel that are within the viewport.- For the
WebGL2Renderer
, aWebGL2RenderingContext
contains the rendering context for the drawing surface of an HTML element, and aWebGLProgram
stores the vertex and fragment shader used for rendering a map, its lines and points.
- For the
- A
WarpedMap
is made from every Georeferenced Map (which in term are parsed Georeference Annotations) and is added to the renderer and hence to its warpedMapList. It contains useful properties like mask, center, size … in resource, geospatial and projected geospatial coordinates. It contains a copy of the ground control points (GCPs) and resource masks, a projected version of the GCPs, a transformation built using the latter and usable to transform points from IIIF resource coordinates to projected geospatial coordinates.- If
WebGL2Renderer
is used, aTriangulatedWarpedMap
is created for every WarpedMap, finely triangulating the map, and aWebGL2WarpedMap
is created, containing the WebGL2 information of the map (buffers etc.).
- If
- A
WarpedMapList
contains the list of WarpedMaps to draw and uses anRTree
for geospatial map lookup. - A
TileCache
fetches and stores the image data of cached IIIF tiles.
From Georeference Annotation to a rendered map
During a CanvasRenderer
or IntArrayRenderer
render call, a map undergoes the following steps from Georeference Annotation to the canvas:
- For each viewport pixel, from its viewport coordinates its projectedGeo coordinates is obtained and transformed to its corresponding resource coordinates, i.e. it’s location in the IIIF image.
- We find the tile on which this point is located, and express the resource coordinates in local tile coordinates.
- We set the color of this pixel from the colors of the four tile pixels surrounding the tile point, through a bilinear interpolation.
During a WebGL2Renderer
render call, a map undergoes the following steps from Georeference Annotation to the canvas:
- The resource mask is triangulated: the area within is divided into small triangles.
- The optimal tile zoom level for the current viewport is searched, telling us which IIIF tile
scaleFactor
to use. - The Viewport is transformed backwards from projected geospatial coordinates to resource coordinates of the IIIF image. The IIIF tiles covering this viewport on the resource image are fetched and cached in the TileCache.
- The area inside the resource mask is rendered in the viewport, triangle by triangle, using the cached tiles. The location of where to render each triangle is computed using the forward transformation built from the GPCs.
Installation
This package works in browsers and in Node.js as an ESM module.
Install with pnpm:
pnpm install @allmaps/render
You can optionally build this package locally by running:
pnpm run build
Usage
CanvasRenderer
import { CanvasRenderer } from '@allmaps/render/canvas'
// Create a canvas and set your desired width and heightconst canvas = document.getElementById('canvas')canvas.width = width // Your widthcanvas.height = height // Your height
// Create a renderer from your canvasconst renderer = new CanvasRenderer(canvas)
// Fetch and parse an annotationconst annotationUrl = 'https://annotations.allmaps.org/images/4af0fa9c8207b36c'const annotation = await fetch(annotationUrl).then((response) => response.json())
// Add the annotation to the rendererawait renderer.addGeoreferenceAnnotation(annotation)
// Render// Note: no viewport specified, so one will be deduced. See below.await renderer.render()
Notes:
- Maps with strong warping may appear to not exactly follow the specified viewport. This is due the backwards transform being explicitly used in the CanvasRenderer and IntArrayRenderer (and not in the WebGL2Renderer). For maps with strong warping, the backwards transform is currently not exact (even for polynomial transformations).
WebGL2Renderer
import { WebGL2Renderer } from '@allmaps/render/webgl2'
// Create a canvas and set your desired width and heightconst canvas = document.getElementById('canvas')canvas.width = width // Your widthcanvas.height = height // Your height
// Get the webgl context of your canvasconst gl = canvas.getContext('webgl2', { premultipliedAlpha: true })
// Create a renderer from your canvasconst renderer = new WebGL2Renderer(gl)
// Fetch and parse an annotationconst annotationUrl = 'https://annotations.allmaps.org/images/4af0fa9c8207b36c'const annotation = await fetch(annotationUrl).then((response) => response.json())
// Add the annotation to the rendererawait renderer.addGeoreferenceAnnotation(annotation)
// Render// Note: no viewport specified, so one will be deduced. See below.renderer.render()
Notes: the WebGL2Renderer is not fully functional yet.
- The WebGL2Renderer works with events which are meant to trigger re-renders. This logic can currently be implemented outside of this library (see the plugins), and will be implemented within this library soon. As this will affect the API, please refrain from using this renderer as described above for now.
- The WebGL2Renderer loads images via web-workers. The bundling needs to be optimised to support using this renderer in all possible environments.
IntArrayRenderer
import { IntArrayRenderer } from '@allmaps/render/intarray'
// Create a renderer// See the IntArrayRenderer constructor for more info// And the Allmaps Preview application for a concrete exampleconst renderer = new IntArrayRenderer() < D > // A data type (getImageData, // A function to get the image date from an image getImageDataValue, // A function to get the image data value from an image getImageDataSize, // A function to get the image data size from an image options) // IntArrayRenderer options
const annotationUrl = 'https://annotations.allmaps.org/images/4af0fa9c8207b36c'const annotation = await fetch(annotationUrl).then((response) => response.json())
await renderer.addGeoreferenceAnnotation(annotation)
// Create your viewport (mandatory for this renderer)const viewport = viewport // Your viewport, see below
const image = await renderer.render(viewport)
Notes:
- Maps with strong warping may appear to not exactly follow the specified viewport. This is due the backwards transform being explicitly used in the CanvasRenderer and IntArrayRenderer (and not in the WebGL2Renderer). For maps with strong warping, the backwards transform is currently not exact (even for polynomial transformations).
Creating a Viewport
The render()
call of all renderers take a Viewport as input. For the IntArrayRenderer, this argument is required. For the others, it is optional: if unspecified a viewport will be deduced from the canvas size and the warpedMapList formed by the annotations.
A viewport can be created through one of the following options:
Directly using the Viewport constructor:
import { Viewport } from '@allmaps/render'
new Viewport( viewportSize, // Your viewport size, as [width, height] projectedGeoCenter, // Your center, in geo coordinates projectedGeoPerViewportScale, // Your geo-per-viewport scale rotation, // Your rotation devicePixelRatio // Your device pixel ratio, e.g. window.devicePixelRatio or just 1)
Using one of the following static methods:
Viewport.fromSizeAndMaps()
Viewport.fromSizeAndPolygon()
Viewport.fromScaleAndMaps()
Viewport.fromScaleAndPolygon()
For example, to derive a Viewport from a size and maps:
const viewport = Viewport.fromSizeAndMaps( viewportSize, // Your viewport size, as [width, height] maps, // Your WarpedMapList, e.g. `renderer.warpedMapList`, or an array of WarpedMaps, e.g. selected from your WarpedMapList using mapIds, e.g. `renderer.warpedMapList.getWarpedMaps(mapIds)` viewportOptions // Your viewportOptions, including rotation, devicePixelRatio, fit and zoom.)
Or, to derive a Viewport from a scale and maps:
const viewport = Viewport.fromScaleAndMaps( projectedGeoPerViewportScale, // Your scale maps, // Your WarpedMapList, e.g. `renderer.warpedMapList`, or an array of WarpedMaps, e.g. selected from your WarpedMapList using mapIds, e.g. `renderer.warpedMapList.getWarpedMaps(mapIds)` viewportOptions // Your viewportOptions, including rotation, devicePixelRatio and zoom (fit is ignored here).)
// In this case, resize your canvas to the computed viewport// before rendering, to encompass the entire image.canvas.width = viewport.canvasSize[0]canvas.height = viewport.canvasSize[1]canvas.style.width = viewport.viewportSize[0] + 'px'canvas.style.height = viewport.viewportSize[1] + 'px'context.scale(viewport.devicePixelRatio, viewport.devicePixelRatio)
For usage examples in webmapping libraries, see the source code of the Allmaps plugins for Leaflet, MapLibre and OpenLayers.
Naming conventions
In this package the following naming conventions are used:
viewport...
indicates properties described in viewport coordinates (i.e. with pixel size as perceived by the user)canvas...
indicates properties described in canvas coordinates, so viewport device pixel ratio (i.e. with effective pixel size in memory)resource...
indicates properties described in resource coordinates (i.e. IIIF tile coordinates of zoomlevel 1)geo...
indicates properties described in geospatial coordinates (‘WGS84’, i.e.[lon, lat]
)projectedGeo...
indicates properties described in projected geospatial coordinates (following a CRS, by default ‘EPSG:3857’ WebMercator)tile...
indicates properties described IIIF tile coordinates
API
new TriangulatedWarpedMap(mapId, georeferencedMap, options)
Creates an instance of a TriangulatedWarpedMap.
Parameters
mapId
(string
)- ID of the map
georeferencedMap
({ type: "GeoreferencedMap"; resource: { type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; id: string; height?: number | undefined; width?: number | undefined; partOf?: ({ type: string; id: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ type: string; i...
)- Georeferenced map used to construct the WarpedMap
options?
(Partial<WarpedMapOptions> | undefined
)- Options
Returns
TriangulatedWarpedMap
.
Extends
WarpedMap
TriangulatedWarpedMap#clearProjectedTransformerCaches()
Parameters
There are no parameters.
Returns
void
.
TriangulatedWarpedMap#mixPreviousAndNew(t)
Mix the previous and new points and values.
Parameters
t
(number
)
Returns
void
.
TriangulatedWarpedMap#previousResourceResolution
Type
number | undefined
TriangulatedWarpedMap#previousTrianglePointsDistortion
Type
Array<never>
TriangulatedWarpedMap#projectedGcpPreviousTriangulation?
Type
{ resourceResolution: number | undefined gcpUniquePoints: GcpAndDistortions[] uniquePointIndices: number[] uniquePointIndexInterpolatedPolygon: TypedPolygon<number>}
TriangulatedWarpedMap#projectedGcpTriangulation?
Type
{ resourceResolution: number | undefined gcpUniquePoints: GcpAndDistortions[] uniquePointIndices: number[] uniquePointIndexInterpolatedPolygon: TypedPolygon<number>}
TriangulatedWarpedMap#projectedGcpTriangulationByTransformationTypeAndResourceResolution
Type
Map<TransformationType, Map<number, GcpTriangulation>>
TriangulatedWarpedMap#projectedGeoPreviousTrianglePoints
Type
Array<never>
TriangulatedWarpedMap#projectedGeoPreviousTriangulationMask
Type
Array<never>
TriangulatedWarpedMap#projectedGeoTrianglePoints
Type
Array<never>
TriangulatedWarpedMap#projectedGeoTriangulationMask
Type
Array<never>
TriangulatedWarpedMap#resetPrevious()
Reset the previous points and values.
Parameters
There are no parameters.
Returns
void
.
TriangulatedWarpedMap#resourceResolution
Type
number | undefined
TriangulatedWarpedMap#resourceToResourceProjectedGeoDistortions(resourcePoint, transformer, referenceScale)
Parameters
resourcePoint
([number, number]
)transformer
(GcpTransformer
)referenceScale?
(number | undefined
)
Returns
Gcp & {distortions: Map<DistortionMeasure, number>; distortion: number}
.
TriangulatedWarpedMap#resourceTrianglePoints
Type
Array<never>
TriangulatedWarpedMap#setResourceMask(resourceMask)
Update the resourceMask.
Parameters
resourceMask
(Array<Point>
)
Returns
void
.
TriangulatedWarpedMap#trianglePointsDistortion
Type
Array<never>
TriangulatedWarpedMap#triangulateErrorCount
Type
0
TriangulatedWarpedMap#updateDistortionProperties()
Parameters
There are no parameters.
Returns
void
.
TriangulatedWarpedMap#updateTransformerProperties(clearCache, useCache)
Parameters
clearCache
(boolean | undefined
)useCache
(boolean | undefined
)
Returns
void
.
TriangulatedWarpedMap#updateTrianglePoints()
Derive the (previous and new) resource and projectedGeo points from their corresponding triangulations.
Also derive the (previous and new) triangulation-refined resource and projectedGeo mask
Parameters
There are no parameters.
Returns
void
.
TriangulatedWarpedMap#updateTrianglePointsDistortion()
Derive the (previous and new) distortions from their corresponding triangulations.
Parameters
There are no parameters.
Returns
void
.
TriangulatedWarpedMap#updateTriangulation()
Update the (previous and new) triangulation of the resourceMask. Use cache if available.
Parameters
There are no parameters.
Returns
void
.
new Viewport(viewportSize, projectedGeoCenter, projectedGeoPerViewportScale, rotation, devicePixelRatio)
Creates a new Viewport
Parameters
viewportSize
([number, number]
)- Size of the viewport in viewport pixels, as [width, height].
projectedGeoCenter
([number, number]
)- Center point of the viewport, in projected coordinates.
projectedGeoPerViewportScale
(number
)- Scale of the viewport, in projection coordinates per viewport pixel.
rotation
(number | undefined
)- Rotation of the viewport with respect to the projected geo coordinate system. Positive values rotate the viewport positively (i.e. counter-clockwise) w.r.t. the map in projected geo coordinates. This is equivalent to rotating the map negatively (i.e. clockwise) within the viewport.
devicePixelRatio
(number | undefined
)- The devicePixelRatio of the viewport.
Returns
Viewport
.
Viewport#canvasBbox
Type
[number, number, number, number]
Viewport#canvasCenter
Type
[number, number]
Viewport#canvasRectangle
Type
[Point, Point, Point, Point]
Viewport#canvasResolution
Type
number
Viewport#canvasSize
Type
[number, number]
Viewport#composeProjectedGeoToCanvasTransform()
Parameters
There are no parameters.
Returns
[number, number, number, number, number, number]
.
Viewport#composeProjectedGeoToClipTransform()
Parameters
There are no parameters.
Returns
[number, number, number, number, number, number]
.
Viewport#composeProjectedGeoToViewportTransform()
Parameters
There are no parameters.
Returns
[number, number, number, number, number, number]
.
Viewport#composeViewportToClipTransform()
Parameters
There are no parameters.
Returns
[number, number, number, number, number, number]
.
Viewport#computeProjectedGeoRectangle(viewportSize, projectedGeoPerViewportScale, rotation, projectedGeoCenter)
Returns a rectangle in projected geo coordinates
The rectangle is the result of a horizontal rectangle in Viewport space of size ‘viewportSize’, scaled using projectedGeoPerViewportScale, centered, rotated using ‘rotation’ and translated to ‘projectedGeoCenter’.
Parameters
viewportSize
([number, number]
)projectedGeoPerViewportScale
(number
)rotation
(number
)projectedGeoCenter
([number, number]
)
Returns
[Point, Point, Point, Point]
.
Viewport#devicePixelRatio
Type
number
Viewport#geoCenter
Type
[number, number]
Viewport#geoRectangle
Type
[Point, Point, Point, Point]
Viewport#geoRectangleBbox
Type
[number, number, number, number]
Viewport#geoResolution
Type
number
Viewport#geoSize
Type
[number, number]
Viewport#getProjectedGeoBufferedRectangle(bufferFraction)
Parameters
bufferFraction
(number
)
Returns
[Point, Point, Point, Point]
.
Viewport#projectedGeoCenter
Type
[number, number]
Viewport#projectedGeoPerCanvasScale
Type
number
Viewport#projectedGeoPerViewportScale
Type
number
Viewport#projectedGeoRectangle
Type
[Point, Point, Point, Point]
Viewport#projectedGeoRectangleBbox
Type
[number, number, number, number]
Viewport#projectedGeoResolution
Type
number
Viewport#projectedGeoSize
Type
[number, number]
Viewport#projectedGeoToCanvasTransform
Type
[number, number, number, number, number, number]
Viewport#projectedGeoToClipTransform
Type
[number, number, number, number, number, number]
Viewport#projectedGeoToViewportTransform
Type
[number, number, number, number, number, number]
Viewport#rotation
Type
number
Viewport#viewportBbox
Type
[number, number, number, number]
Viewport#viewportCenter
Type
[number, number]
Viewport#viewportRectangle
Type
[Point, Point, Point, Point]
Viewport#viewportResolution
Type
number
Viewport#viewportSize
Type
[number, number]
Viewport#viewportToClipTransform
Type
[number, number, number, number, number, number]
Viewport.fromScaleAndMaps(projectedGeoPerViewportScale, maps, viewportOptions)
Static method that creates a Viewport from a scale and maps.
Parameters
projectedGeoPerViewportScale
(number
)- Scale of the viewport, in projected coordinates per viewport pixel.
maps
(Array<WarpedMap> | WarpedMapList<W>
)- A WarpedMapList or an array of WarpedMaps.
viewportOptions?
(Partial<ViewportOptions> | undefined
)- Optional viewport options. Fit is ignored.
Returns
A new Viewport object (Viewport
).
Viewport.fromScaleAndPolygon(projectedGeoPolygon, projectedGeoPerViewportScale, viewportOptions)
Static method that creates a Viewport from a scale and a polygon.
Parameters
projectedGeoPolygon
(Array<Array<Point>>
)- A polygon in projected geospatial coordinates.
projectedGeoPerViewportScale
(number
)- Scale of the viewport, in projected geo coordinates per viewport pixel.
viewportOptions?
(Partial<ViewportOptions> | undefined
)- Optional viewport options. Fit is ignored.
Returns
A new Viewport object (Viewport
).
Viewport.fromSizeAndMaps(viewportSize, maps, viewportOptions)
Static method that creates a Viewport from a size and maps.
Parameters
viewportSize
([number, number]
)- Size of the viewport in viewport pixels, as [width, height].
maps
(WarpedMapList<W> | Array<WarpedMap>
)- A WarpedMapList or an array of WarpedMaps.
viewportOptions?
(Partial<ViewportOptions> | undefined
)- Optional viewport options
Returns
A new Viewport object (Viewport
).
Viewport.fromSizeAndPolygon(viewportSize, projectedGeoPolygon, viewportOptions)
Static method that creates a Viewport from a size and a polygon.
Parameters
viewportSize
([number, number]
)- Size of the viewport in viewport pixels, as [width, height].
projectedGeoPolygon
(Array<Array<Point>>
)- A polygon in projected geo coordinates.
viewportOptions?
(Partial<ViewportOptions> | undefined
)- Optional viewport options
Returns
A new Viewport object (Viewport
).
Viewport.mapsToProjectedGeoConvexHull(maps)
Parameters
maps
(Array<WarpedMap> | WarpedMapList<W>
)
Returns
Array<Point>
.
new WarpedMap(mapId, georeferencedMap, options)
Creates an instance of WarpedMap.
Parameters
mapId
(string
)- ID of the map
georeferencedMap
({ type: "GeoreferencedMap"; resource: { type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; id: string; height?: number | undefined; width?: number | undefined; partOf?: ({ type: string; id: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ type: string; i...
)- Georeferenced map used to construct the WarpedMap
options?
(Partial<WarpedMapOptions> | undefined
)- options
Returns
WarpedMap
.
Extends
EventTarget
WarpedMap#abortController?
Type
AbortController
WarpedMap#clearProjectedTransformerCaches()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#clearTransformerCaches()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#destroy()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#distortionMeasure?
Type
'log2sigma' | 'twoOmega' | 'airyKavr' | 'signDetJ' | 'thetaa'
WarpedMap#fetchFn?
Type
( input: Request | string | URL, init?: RequestInit) => Promise<Response>
WarpedMap#fetchableTilesForViewport
Type
Array<never>
WarpedMap#gcps
Type
Array<Gcp>
WarpedMap#geoFullMask
Type
{type: 'Polygon'; coordinates: Point[][]}
WarpedMap#geoFullMaskBbox
Type
[number, number, number, number]
WarpedMap#geoFullMaskRectangle
Type
[Point, Point, Point, Point]
WarpedMap#geoMask
Type
{type: 'Polygon'; coordinates: Point[][]}
WarpedMap#geoMaskBbox
Type
[number, number, number, number]
WarpedMap#geoMaskRectangle
Type
[Point, Point, Point, Point]
WarpedMap#geoPoints
Type
Array<Point>
WarpedMap#georeferencedMap
Type
{ type: "GeoreferencedMap"; resource: { type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; id: string; height?: number | undefined; width?: number | undefined; partOf?: ({ type: string; id: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ type: string; i...
WarpedMap#getReferenceScale()
Get the reference scaling from the forward transformation of the projected Helmert transformer
Parameters
There are no parameters.
Returns
number
.
WarpedMap#getResourceToCanvasScale(viewport)
Get scale of the warped map, in resource pixels per canvas pixels.
Parameters
viewport
(Viewport
)- the current viewport
Returns
number
.
WarpedMap#getResourceToViewportScale(viewport)
Get scale of the warped map, in resource pixels per viewport pixels.
Parameters
viewport
(Viewport
)- the current viewport
Returns
number
.
WarpedMap#getViewportFullMask(viewport)
Get resourceFullMask in viewport coordinates
Parameters
viewport
(Viewport
)- the current viewport
Returns
Array<Point>
.
WarpedMap#getViewportFullMaskBbox(viewport)
Get bbox of rresourceFullMask in viewport coordinates
Parameters
viewport
(Viewport
)- the current viewport
Returns
[number, number, number, number]
.
WarpedMap#getViewportFullMaskRectangle(viewport)
Get resourceFullMaskRectangle in viewport coordinates
Parameters
viewport
(Viewport
)- the current viewport
Returns
[Point, Point, Point, Point]
.
WarpedMap#getViewportMask(viewport)
Get resourceMask in viewport coordinates
Parameters
viewport
(Viewport
)- the current viewport
Returns
Array<Point>
.
WarpedMap#getViewportMaskBbox(viewport)
Get Bbox of resourceMask in viewport coordinates
Parameters
viewport
(Viewport
)- the current viewport
Returns
[number, number, number, number]
.
WarpedMap#getViewportMaskRectangle(viewport)
Get resourceMaskRectangle in viewport coordinates
Parameters
viewport
(Viewport
)- the current viewport
Returns
[Point, Point, Point, Point]
.
WarpedMap#hasImageInfo()
Check if this instance has image info
Parameters
There are no parameters.
Returns
boolean
.
WarpedMap#imageInformations?
Type
Map<string, unknown>
WarpedMap#loadImageInfo()
Fetch and parse the image info, and generate the image ID
Parameters
There are no parameters.
Returns
Promise<void>
.
WarpedMap#loadingImageInfo
Type
boolean
WarpedMap#mapId
Type
string
WarpedMap#mixPreviousAndNew(t)
Mix the properties of the previous and new transformationType.
Parameters
t
(number
)
Returns
void
.
WarpedMap#mixed
Type
false
WarpedMap#overviewFetchableTilesForViewport
Type
Array<never>
WarpedMap#overviewTileZoomLevelForViewport?
Type
{ scaleFactor: number width: number height: number originalWidth: number originalHeight: number columns: number rows: number}
WarpedMap#parsedImage?
Type
Image
WarpedMap#previousDistortionMeasure?
Type
'log2sigma' | 'twoOmega' | 'airyKavr' | 'signDetJ' | 'thetaa'
WarpedMap#previousTransformationType
Type
| 'straight' | 'helmert' | 'polynomial' | 'polynomial1' | 'polynomial2' | 'polynomial3' | 'projective' | 'thinPlateSpline'
WarpedMap#projectedGcps
Type
Array<Gcp>
WarpedMap#projectedGeoBufferedViewportRectangleBboxForViewport?
Type
[number, number, number, number]
WarpedMap#projectedGeoBufferedViewportRectangleForViewport?
Type
[Point, Point, Point, Point]
WarpedMap#projectedGeoFullMask
Type
Array<Point>
WarpedMap#projectedGeoFullMaskBbox
Type
[number, number, number, number]
WarpedMap#projectedGeoFullMaskRectangle
Type
[Point, Point, Point, Point]
WarpedMap#projectedGeoMask
Type
Array<Point>
WarpedMap#projectedGeoMaskBbox
Type
[number, number, number, number]
WarpedMap#projectedGeoMaskRectangle
Type
[Point, Point, Point, Point]
WarpedMap#projectedGeoPoints
Type
Array<Point>
WarpedMap#projectedGeoPreviousTransformedResourcePoints
Type
Array<Point>
WarpedMap#projectedGeoTransformedResourcePoints
Type
Array<Point>
WarpedMap#projectedPreviousTransformer
Type
GcpTransformer
WarpedMap#projectedTransformer
Type
GcpTransformer
WarpedMap#projectedTransformerByTransformationType
Type
Map<TransformationType, GcpTransformer>
WarpedMap#resetForViewport()
Reset the properties for the current values
Parameters
There are no parameters.
Returns
void
.
WarpedMap#resetPrevious()
Reset the properties of the previous and new transformationType.
Parameters
There are no parameters.
Returns
void
.
WarpedMap#resourceBufferedViewportRingBboxAndResourceMaskBboxIntersectionForViewport?
Type
[number, number, number, number]
WarpedMap#resourceBufferedViewportRingBboxForViewport?
Type
[number, number, number, number]
WarpedMap#resourceBufferedViewportRingForViewport?
Type
Array<Point>
WarpedMap#resourceFullMask
Type
Array<Point>
WarpedMap#resourceFullMaskBbox
Type
[number, number, number, number]
WarpedMap#resourceFullMaskRectangle
Type
[Point, Point, Point, Point]
WarpedMap#resourceMask
Type
Array<Point>
WarpedMap#resourceMaskBbox
Type
[number, number, number, number]
WarpedMap#resourceMaskRectangle
Type
[Point, Point, Point, Point]
WarpedMap#resourcePoints
Type
Array<Point>
WarpedMap#resourceToProjectedGeoScale
Type
number
WarpedMap#setDistortionMeasure(distortionMeasure)
Set the distortionMeasure
Parameters
distortionMeasure?
(DistortionMeasure | undefined
)- the disortion measure
Returns
void
.
WarpedMap#setFetchableTilesForViewport(fetchableTiles)
Set tiles for the current viewport
Parameters
fetchableTiles
(Array<FetchableTile>
)
Returns
void
.
WarpedMap#setGcps(gcps)
Update the Ground Controle Points loaded from a georeferenced map to new Ground Controle Points.
Parameters
gcps
(Array<Gcp>
)
Returns
void
.
WarpedMap#setOverviewFetchableTilesForViewport(overviewFetchableTiles)
Set overview tiles for the current viewport
Parameters
overviewFetchableTiles
(Array<FetchableTile>
)
Returns
void
.
WarpedMap#setOverviewTileZoomLevelForViewport(tileZoomLevel)
Set the overview tile zoom level for the current viewport
Parameters
tileZoomLevel?
(TileZoomLevel | undefined
)- tile zoom level for the current viewport
Returns
void
.
WarpedMap#setProjectedGeoBufferedViewportRectangleForViewport(projectedGeoBufferedViewportRectangle)
Set projectedGeoBufferedViewportRectangle for the current viewport
Parameters
projectedGeoBufferedViewportRectangle?
(Rectangle | undefined
)
Returns
void
.
WarpedMap#setResourceBufferedViewportRingBboxAndResourceMaskBboxIntersectionForViewport(resourceBufferedViewportRingBboxAndResourceMaskBboxIntersection)
Set resourceBufferedViewportRingBboxAndResourceMaskBboxIntersection for the current viewport
Parameters
resourceBufferedViewportRingBboxAndResourceMaskBboxIntersection?
(Bbox | undefined
)
Returns
void
.
WarpedMap#setResourceBufferedViewportRingForViewport(resourceBufferedViewportRing)
Set resourceBufferedViewportRing for the current viewport
Parameters
resourceBufferedViewportRing?
(Ring | undefined
)
Returns
void
.
WarpedMap#setResourceMask(resourceMask)
Update the resourceMask loaded from a georeferenced map to a new mask.
Parameters
resourceMask
(Array<Point>
)
Returns
void
.
WarpedMap#setTileZoomLevelForViewport(tileZoomLevel)
Set the tile zoom level for the current viewport
Parameters
tileZoomLevel?
(TileZoomLevel | undefined
)- tile zoom level for the current viewport
Returns
void
.
WarpedMap#setTransformationType(transformationType)
Set the transformationType
Parameters
transformationType
(| 'straight' | 'helmert' | 'polynomial' | 'polynomial1' | 'polynomial2' | 'polynomial3' | 'projective' | 'thinPlateSpline'
)
Returns
void
.
WarpedMap#tileZoomLevelForViewport?
Type
{ scaleFactor: number width: number height: number originalWidth: number originalHeight: number columns: number rows: number}
WarpedMap#transformationType
Type
| 'straight' | 'helmert' | 'polynomial' | 'polynomial1' | 'polynomial2' | 'polynomial3' | 'projective' | 'thinPlateSpline'
WarpedMap#transformer
Type
GcpTransformer
WarpedMap#transformerByTransformationType
Type
Map<TransformationType, GcpTransformer>
WarpedMap#updateDistortionProperties()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateFullGeoMask()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateGcpsProperties()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateGeoMask()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateProjectedFullGeoMask()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateProjectedGeoMask()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateProjectedGeoTransformedResourcePoints()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateProjectedTransformer(clearCache, useCache)
Parameters
clearCache
(boolean | undefined
)useCache
(boolean | undefined
)
Returns
void
.
WarpedMap#updateResourceFullMaskProperties()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateResourceMaskProperties()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateResourceToProjectedGeoScale()
Parameters
There are no parameters.
Returns
void
.
WarpedMap#updateTransformer(clearCache, useCache)
Parameters
clearCache
(boolean | undefined
)useCache
(boolean | undefined
)
Returns
void
.
WarpedMap#updateTransformerProperties(clearCache, useCache)
Parameters
clearCache
(boolean | undefined
)useCache
(boolean | undefined
)
Returns
void
.
WarpedMap#visible
Type
boolean
new WarpedMapEvent(type, data)
Parameters
type
(WarpedMapEventType
)data?
(unknown
)
Returns
WarpedMapEvent
.
Extends
Event
WarpedMapEvent#data?
Type
unknown
WarpedMapLayerOptions
Type
WarpedMapListOptions & WarpedMapOptions & {imageInformations: ImageInformations; fetchFn: FetchFn}
new WarpedMapList(warpedMapFactory, options)
Creates an instance of a WarpedMapList.
Parameters
warpedMapFactory
(( mapId: string, georeferencedMap: GeoreferencedMap, options?: Partial<WarpedMapOptions> ) => W
)- Factory function for creating WarpedMap objects
options?
(Partial<WarpedMapListOptions> | undefined
)- Options
Returns
WarpedMapList<W>
.
Extends
EventTarget
WarpedMapList#addEventListenersToWarpedMap(warpedMap)
Parameters
warpedMap
(W
)
Returns
void
.
WarpedMapList#addGeoreferenceAnnotation(annotation)
Parses an annotation and adds its georeferenced map to this list
Parameters
annotation
(unknown
)
Returns
Promise<Array<string | Error>>
.
WarpedMapList#addGeoreferencedMap(georeferencedMap)
Adds a georeferenced map to this list
Parameters
georeferencedMap
(unknown
)
Returns
Promise<string | Error>
.
WarpedMapList#addGeoreferencedMapInternal(georeferencedMap)
Parameters
georeferencedMap
({ type: "GeoreferencedMap"; resource: { type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; id: string; height?: number | undefined; width?: number | undefined; partOf?: ({ type: string; id: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ type: string; i...
)
Returns
Promise<string>
.
WarpedMapList#addToOrUpdateRtree(warpedMap)
Parameters
warpedMap
(W
)
Returns
void
.
WarpedMapList#bringMapsForward(mapIds)
Changes the z-index of the specified maps to bring them forward
Parameters
mapIds
(Iterable<string>
)- Map IDs
Returns
void
.
WarpedMapList#bringMapsToFront(mapIds)
Changes the z-index of the specified maps to bring them to front
Parameters
mapIds
(Iterable<string>
)- Map IDs
Returns
void
.
WarpedMapList#clear()
Parameters
There are no parameters.
Returns
void
.
WarpedMapList#destroy()
Parameters
There are no parameters.
Returns
void
.
WarpedMapList#fetchFn?
Type
( input: Request | string | URL, init?: RequestInit) => Promise<Response>
WarpedMapList#getBbox(mapIds)
Return the bounding box of all visible maps in this list, in geospatial coordinates (‘WGS84’, i.e. [lon, lat]
)
Returns undefined if the list is empty.
Parameters
mapIds?
(Iterable<string> | undefined
)
Returns
Bbox | undefined
.
WarpedMapList#getCenter()
Parameters
There are no parameters.
Returns
Point | undefined
.
WarpedMapList#getConvexHull(mapIds)
Return the convex hull of all visible maps in this list, in geospatial coordinates (‘WGS84’, i.e. [lon, lat]
)
Returns undefined if the list is empty.
Parameters
mapIds?
(Iterable<string> | undefined
)
Returns
Ring | undefined
.
WarpedMapList#getMapIds()
Returns mapIds for the maps in this list.
Parameters
There are no parameters.
Returns
Iterable<string>
.
WarpedMapList#getMapZIndex(mapId)
Returns the z-index of a map.
Parameters
mapId
(string
)
Returns
number | undefined
.
WarpedMapList#getMapsByGeoBbox(geoBbox)
Returns mapIds of the maps whose geoBbox overlaps with the specified geoBbox.
Parameters
geoBbox
([number, number, number, number]
)
Returns
Iterable<string>
.
WarpedMapList#getOrComputeMapId(georeferencedMap)
Parameters
georeferencedMap
({ type: "GeoreferencedMap"; resource: { type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; id: string; height?: number | undefined; width?: number | undefined; partOf?: ({ type: string; id: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ type: string; i...
)
Returns
Promise<string>
.
WarpedMapList#getProjectedBbox(mapIds)
Return the bounding box of all visible maps in this list, in projected geospatial coordinates
Returns undefined if the list is empty.
Parameters
mapIds?
(Iterable<string> | undefined
)
Returns
Bbox | undefined
.
WarpedMapList#getProjectedCenter()
Parameters
There are no parameters.
Returns
Point | undefined
.
WarpedMapList#getProjectedConvexHull(mapIds)
Return the convex hull of all visible maps in this list, in projected geospatial coordinates
Returns undefined if the list is empty.
Parameters
mapIds?
(Iterable<string> | undefined
)
Returns
Ring | undefined
.
WarpedMapList#getWarpedMap(mapId)
Returns the WarpedMap object in this list of map specified by its ID.
Parameters
mapId
(string
)
Returns
W | undefined
.
WarpedMapList#getWarpedMaps()
Returns WarpedMap objects of the maps in this list. Optionally specify mapIds whose WarpedMap objects are requested.
Parameters
There are no parameters.
Returns
Iterable<W>
.
WarpedMapList#hideMaps(mapIds)
Changes the visibility of the specified maps to false
Parameters
mapIds
(Iterable<string>
)- Map IDs
Returns
void
.
WarpedMapList#imageInfoLoaded()
Parameters
There are no parameters.
Returns
void
.
WarpedMapList#imageInformations?
Type
Map<string, unknown>
WarpedMapList#removeEventListenersFromWarpedMap(warpedMap)
Parameters
warpedMap
(W
)
Returns
void
.
WarpedMapList#removeFromRtree(warpedMap)
Parameters
warpedMap
(W
)
Returns
void
.
WarpedMapList#removeGeoreferenceAnnotation(annotation)
Parses an annotation and removes its georeferenced map from this list
Parameters
annotation
(unknown
)
Returns
Promise<Array<string | Error>>
.
WarpedMapList#removeGeoreferencedMap(georeferencedMap)
Removes a georeferenced map from this list
Parameters
georeferencedMap
(unknown
)
Returns
Promise<string | Error>
.
WarpedMapList#removeGeoreferencedMapById(mapId)
Removes a warped map by its ID
Parameters
mapId
(string
)- the ID of the map
Returns
void
.
WarpedMapList#removeGeoreferencedMapInternal(georeferencedMap)
Parameters
georeferencedMap
({ type: "GeoreferencedMap"; resource: { type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; id: string; height?: number | undefined; width?: number | undefined; partOf?: ({ type: string; id: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ type: string; i...
)
Returns
Promise<string>
.
WarpedMapList#removeZIndexHoles()
Parameters
There are no parameters.
Returns
void
.
WarpedMapList#rtree?
Type
RTree
WarpedMapList#sendMapsBackward(mapIds)
Changes the zIndex of the specified maps to send them backward
Parameters
mapIds
(Iterable<string>
)- Map IDs
Returns
void
.
WarpedMapList#sendMapsToBack(mapIds)
Changes the z-index of the specified maps to send them to back
Parameters
mapIds
(Iterable<string>
)- Map IDs
Returns
void
.
WarpedMapList#setImageInformations(imageInformations)
Sets the object that caches image information
Parameters
imageInformations
(Map<string, unknown>
)- object that caches image information
Returns
void
.
WarpedMapList#setMapGcps(mapId, gcps)
Sets the GCPs for a specified map
Parameters
mapId
(string
)- ID of the map
gcps
(Array<Gcp>
)- new GCPs
Returns
void
.
WarpedMapList#setMapResourceMask(mapId, resourceMask)
Sets the resource mask for a specified map
Parameters
mapId
(string
)- ID of the map
resourceMask
(Array<Point>
)- the new resource mask
Returns
void
.
WarpedMapList#setMapTransformationType(mapId, transformationType)
Sets the transformation type of a single map
Parameters
mapId
(string
)- the ID of the map
transformationType
(| 'straight' | 'helmert' | 'polynomial' | 'polynomial1' | 'polynomial2' | 'polynomial3' | 'projective' | 'thinPlateSpline'
)- the new transformation type
Returns
void
.
WarpedMapList#setMapsDistortionMeasure(mapIds, distortionMeasure)
Sets the distortion measure of specified maps
Parameters
mapIds
(Iterable<string>
)- the IDs of the maps
distortionMeasure?
(DistortionMeasure | undefined
)- the distortion measure
Returns
void
.
WarpedMapList#setMapsTransformationType(mapIds, transformationType)
Sets the transformation type of specified maps
Parameters
mapIds
(Iterable<string>
)- the IDs of the maps
transformationType
(| 'straight' | 'helmert' | 'polynomial' | 'polynomial1' | 'polynomial2' | 'polynomial3' | 'projective' | 'thinPlateSpline'
)- the new transformation type
Returns
void
.
WarpedMapList#showMaps(mapIds)
Changes the visibility of the specified maps to true
Parameters
mapIds
(Iterable<string>
)- Map IDs
Returns
void
.
WarpedMapList#transformation?
Type
{type: TransformationType; options?: unknown}
WarpedMapList#warpedMapFactory
Type
( mapId: string, georeferencedMap: GeoreferencedMap, options?: Partial<WarpedMapOptions>) => W
WarpedMapList#warpedMapsById
Maps in this list, indexed by their ID (Map<string, W>
).
WarpedMapList#zIndices
Type
Map<string, number>
createWarpedMapFactory()
Parameters
There are no parameters.
Returns
( mapId: string, georeferencedMap: GeoreferencedMap, options?: Partial<WarpedMapOptions> ) => WarpedMap
.
new IntArrayRenderer(getImageData, getImageDataValue, getImageDataSize, options)
Parameters
getImageData
((data: Uint8ClampedArray) => D
)getImageDataValue
((data: D, index: number) => number
)getImageDataSize
((data: D) => Size
)options?
(Partial<RendererOptions> | undefined
)
Returns
IntArrayRenderer<D>
.
Extends
BaseRenderer
Renderer
IntArrayRenderer#getImageDataSize
Type
(data: D) => Size
IntArrayRenderer#getImageDataValue
Type
(data: D, index: number) => number
IntArrayRenderer#render(viewport)
Render the map for a given viewport.
Parameters
viewport
(Viewport
)- the viewport to render
Returns
Promise<Uint8ClampedArray<ArrayBufferLike>>
.
new CanvasRenderer(canvas, options)
Parameters
canvas
(HTMLCanvasElement
)options?
(Partial<RendererOptions> | undefined
)
Returns
CanvasRenderer
.
Extends
BaseRenderer
Renderer
CanvasRenderer#canvas
Type
HTMLCanvasElement
CanvasRenderer#context
Type
CanvasRenderingContext2D
CanvasRenderer#getTileImageData(data, index)
Parameters
data
(ImageData
)index
(number
)
Returns
number
.
CanvasRenderer#getTileSize(data)
Parameters
data
(ImageData
)
Returns
[number, number]
.
CanvasRenderer#render(viewport)
Render the map for a given viewport.
If no viewport is specified, a viewport is deduced based on the WarpedMapList and canvas width and hight.
Parameters
viewport?
(Viewport | undefined
)- the viewport to render
Returns
Promise<void>
.
new WebGL2Renderer(gl, options)
Creates an instance of WebGL2Renderer.
Parameters
gl
(WebGL2RenderingContext
)- WebGL 2 rendering context
options?
(Partial<RendererOptions> | undefined
)- options
Returns
WebGL2Renderer
.
Extends
BaseRenderer
Renderer
WebGL2Renderer#addEventListenersToWebGL2WarpedMap(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#animating
Type
false
WebGL2Renderer#animationProgress
Type
0
WebGL2Renderer#cancelThrottledFunctions()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#changed()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#clear()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#clearMap(mapId)
Parameters
mapId
(string
)
Returns
void
.
WebGL2Renderer#contextLost()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#contextRestored()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#destroy()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#disableRender
Type
false
WebGL2Renderer#distortionChanged(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#gcpsChanged(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#getColorizeOptions()
Get the colorize options of the renderer
Parameters
There are no parameters.
Returns
Partial<Partial<{color: Color}>> | undefined
.
WebGL2Renderer#getGridOptions()
Get the grid options of the renderer
Parameters
There are no parameters.
Returns
Partial<Partial<{enabled: boolean}>> | undefined
.
WebGL2Renderer#getMapColorizeOptions(mapId)
Get the colorize options of a map
Parameters
mapId
(string
)- ID of the map
Returns
Colorize options (Partial<Partial<{color: Color}>> | undefined
).
WebGL2Renderer#getMapGridOptions(mapId)
Get the grid options of a map
Parameters
mapId
(string
)- ID of the map
Returns
Partial<Partial<{enabled: boolean}>> | undefined
.
WebGL2Renderer#getMapOpacity(mapId)
Get the opacity of a map
Parameters
mapId
(string
)- ID of the map
Returns
number | undefined
.
WebGL2Renderer#getMapRemoveColorOptions(mapId)
Get the remove color options of a map
Parameters
mapId
(string
)- ID of the map
Returns
| Partial<Partial<{color: Color; threshold: number; hardness: number}>> | undefined
.
WebGL2Renderer#getMapSaturation(mapId)
Get the saturation of a map
Parameters
mapId
(string
)- ID of the map
Returns
number | undefined
.
WebGL2Renderer#getOpacity()
Get the opacity of the renderer
Parameters
There are no parameters.
Returns
number | undefined
.
WebGL2Renderer#getRemoveColorOptions()
Get the remove color options of the renderer
Parameters
There are no parameters.
Returns
| Partial<Partial<{color: Color; threshold: number; hardness: number}>> | undefined
.
WebGL2Renderer#getSaturation()
Get the saturation of the renderer
Parameters
There are no parameters.
Returns
number
.
WebGL2Renderer#gl
Type
WebGL2RenderingContext
WebGL2Renderer#imageInfoLoaded(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#initializeWebGL(gl)
Parameters
gl
(WebGL2RenderingContext
)
Returns
void
.
WebGL2Renderer#lastAnimationFrameRequestId
Type
number | undefined
WebGL2Renderer#linesProgram
Type
WebGLProgram
WebGL2Renderer#mapProgram
Type
WebGLProgram
WebGL2Renderer#mapTileLoaded(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#mapTileRemoved(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#opacity
Type
DEFAULT_OPACITY
WebGL2Renderer#pointsProgram
Type
WebGLProgram
WebGL2Renderer#preChange(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#prepareRenderInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#previousSignificantViewport
Type
Viewport | undefined
WebGL2Renderer#removeEventListenersFromWebGL2WarpedMap(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#render(viewport)
Render the map for a given viewport.
If no viewport is specified the current viewport is rerendered. If no current viewport is known, a viewport is deduced based on the WarpedMapList and canvas width and hight.
Parameters
viewport?
(Viewport | undefined
)- the current viewport
Returns
void
.
WebGL2Renderer#renderInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#renderLinesInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#renderMapsInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#renderOptions
Type
any
WebGL2Renderer#renderPointsInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetColorizeOptions()
Reset the colorize options of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetGridOptions()
Reset the grid options of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetMapColorizeOptions(mapId)
Reset the colorize options of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetMapGridOptions(mapId)
Reset the grid options of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetMapOpacity(mapId)
Rreset the opacity of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetMapRemoveColorOptions(mapId)
Reset the remove color options of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetMapSaturation(mapId)
Reset the saturation of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetOpacity()
Reset the opacity of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetRemoveColorOptions()
Reset the remove color options of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetSaturation()
Reset the satuation of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#saturation
Type
DEFAULT_SATURATION
WebGL2Renderer#setColorizeOptions(colorizeOptions)
Set the colorize options of the renderer
Parameters
colorizeOptions
({color?: Color | undefined}
)- the colorize options to set
Returns
void
.
WebGL2Renderer#setGridOptions(gridOptions)
Set the grid options of the renderer
Parameters
gridOptions
({enabled?: boolean | undefined}
)- the grid options to set
Returns
void
.
WebGL2Renderer#setLinesProgramMapUniforms(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#setLinesProgramUniforms()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#setMapColorizeOptions(mapId, colorizeOptions)
Set the colorize options of a map
Parameters
mapId
(string
)- ID of the map
colorizeOptions
({color?: Color | undefined}
)- the colorize options to set
Returns
void
.
WebGL2Renderer#setMapGridOptions(mapId, gridOptions)
Set the grid options of a map
Parameters
mapId
(string
)- ID of the map
gridOptions
({enabled?: boolean | undefined}
)- the grid options to set
Returns
void
.
WebGL2Renderer#setMapOpacity(mapId, opacity)
Set the opacity of a map
Parameters
mapId
(string
)- ID of the map
opacity
(number
)- opacity to set
Returns
void
.
WebGL2Renderer#setMapProgramMapUniforms(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#setMapProgramRenderOptionsUniforms(layerRenderOptions, mapRenderOptions)
Parameters
layerRenderOptions
({ removeColorOptions?: RemoveColorOptions | undefined colorizeOptions?: ColorizeOptions | undefined gridOptions?: GridOptions | undefined }
)mapRenderOptions
({ removeColorOptions?: RemoveColorOptions | undefined colorizeOptions?: ColorizeOptions | undefined gridOptions?: GridOptions | undefined }
)
Returns
void
.
WebGL2Renderer#setMapProgramUniforms()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#setMapRemoveColorOptions(mapId, removeColorOptions)
Set the remove color options of a map
Parameters
mapId
(string
)- ID of the map
removeColorOptions
({ color?: Color | undefined threshold?: number | undefined hardness?: number | undefined }
)- the ‘remove color options’ to set
Returns
void
.
WebGL2Renderer#setMapSaturation(mapId, saturation)
Set the saturation of a map
0 - grayscale, 1 - original colors
Parameters
mapId
(string
)- ID of the map
saturation
(number
)- the saturation to set
Returns
void
.
WebGL2Renderer#setOpacity(opacity)
Set the opacity of the renderer
Parameters
opacity
(number
)- opacity to set
Returns
void
.
WebGL2Renderer#setPointsProgramMapUniforms(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#setPointsProgramUniforms()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#setRemoveColorOptions(removeColorOptions)
Set the remove color options of the renderer
Parameters
removeColorOptions
({ color?: Color | undefined threshold?: number | undefined hardness?: number | undefined }
)
Returns
void
.
WebGL2Renderer#setSaturation(saturation)
Set the saturation of the renderer
0 - grayscale, 1 - original colors
Parameters
saturation
(number
)- the satuation to set
Returns
void
.
WebGL2Renderer#shouldAnticipateInteraction()
Parameters
There are no parameters.
Returns
boolean
.
WebGL2Renderer#shouldRequestFetchableTiles()
Parameters
There are no parameters.
Returns
boolean
.
WebGL2Renderer#startTransformationTransition(mapIds)
Parameters
mapIds
(Array<string>
)
Returns
void
.
WebGL2Renderer#throttledChanged
Type
DebouncedFunc<() => void>
WebGL2Renderer#throttledPrepareRenderInternal
Type
DebouncedFunc<() => void>
WebGL2Renderer#transformationChanged(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#transformationTransitionFrame(now, mapIds)
Parameters
now
(number
)mapIds
(Array<string>
)
Returns
void
.
WebGL2Renderer#transformationTransitionStart
Type
number | undefined
WebGL2Renderer#updateMapsForViewport(tiles)
Parameters
tiles
(Array<FetchableTile>
)
Returns
{mapsEnteringViewport: string[]; mapsLeavingViewport: string[]}
.
WebGL2Renderer#warpedMapAdded(event)
Parameters
event
(Event
)
Returns
void
.
new WebGL2WarpedMap(mapId, georeferencedMap, gl, mapProgram, linesProgram, pointsProgram, options)
Creates an instance of WebGL2WarpedMap.
Parameters
mapId
(string
)- ID of the map
georeferencedMap
({ type: "GeoreferencedMap"; resource: { type: "ImageService1" | "ImageService2" | "ImageService3" | "Canvas"; id: string; height?: number | undefined; width?: number | undefined; partOf?: ({ type: string; id: string; label?: Record<string, (string | number | boolean)[]> | undefined; } & { partOf?: ({ type: string; i...
)- Georeferenced map used to construct the WarpedMap
gl
(WebGL2RenderingContext
)- WebGL rendering context
mapProgram
(WebGLProgram
)- WebGL program for map
linesProgram
(WebGLProgram
)pointsProgram
(WebGLProgram
)options?
(Partial<WarpedMapOptions> | undefined
)- WarpedMapOptions
Returns
WebGL2WarpedMap
.
Extends
TriangulatedWarpedMap
WebGL2WarpedMap#addCachedTileAndUpdateTextures(cachedTile)
Add cached tile to the textures of this map and update textures
Parameters
cachedTile
(CachedTile<ImageData>
)
Returns
void
.
WebGL2WarpedMap#cachedTilesByTileKey
Type
Map<string, CachedTile<ImageData>>
WebGL2WarpedMap#cachedTilesByTileUrl
Type
Map<string, CachedTile<ImageData>>
WebGL2WarpedMap#cachedTilesForTexture
Type
Array<never>
WebGL2WarpedMap#cachedTilesResourceOriginPointsAndDimensionsTexture
Type
null
WebGL2WarpedMap#cachedTilesScaleFactorsTexture
Type
null
WebGL2WarpedMap#cachedTilesTextureArray
Type
null
WebGL2WarpedMap#cancelThrottledFunctions()
Parameters
There are no parameters.
Returns
void
.
WebGL2WarpedMap#clearTextures()
Clear textures for this map
Parameters
There are no parameters.
Returns
void
.
WebGL2WarpedMap#destroy()
Parameters
There are no parameters.
Returns
void
.
WebGL2WarpedMap#getCachedTilesAtOtherScaleFactors(tile)
Parameters
tile
({ column: number row: number tileZoomLevel: TileZoomLevel imageSize: Size }
)
Returns
Array<CachedTile<ImageData>>
.
WebGL2WarpedMap#gl
Type
WebGL2RenderingContext
WebGL2WarpedMap#imageId
Type
string
WebGL2WarpedMap#initializeWebGL(mapProgram, linesProgram, pointsProgram)
Parameters
mapProgram
(WebGLProgram
)linesProgram
(WebGLProgram
)pointsProgram
(WebGLProgram
)
Returns
void
.
WebGL2WarpedMap#invertedRenderTransform
Type
[number, number, number, number, number, number]
WebGL2WarpedMap#lineLayers
Type
Array<never>
WebGL2WarpedMap#linesProgram
Type
WebGLProgram
WebGL2WarpedMap#linesVao
Type
null
WebGL2WarpedMap#mapProgram
Type
WebGLProgram
WebGL2WarpedMap#mapVao
Type
null
WebGL2WarpedMap#opacity
Type
DEFAULT_OPACITY
WebGL2WarpedMap#parsedImage
Type
Image
WebGL2WarpedMap#pointLayers
Type
Array<never>
WebGL2WarpedMap#pointsProgram
Type
WebGLProgram
WebGL2WarpedMap#pointsVao
Type
null
WebGL2WarpedMap#previousCachedTilesForTexture
Type
Array<never>
WebGL2WarpedMap#removeCachedTileAndUpdateTextures(tileUrl)
Remove cached tile from the textures of this map and update textures
Parameters
tileUrl
(string
)
Returns
void
.
WebGL2WarpedMap#renderOptions
Type
any
WebGL2WarpedMap#saturation
Type
DEFAULT_SATURATION
WebGL2WarpedMap#setLineLayers()
Parameters
There are no parameters.
Returns
void
.
WebGL2WarpedMap#setPointLayers()
Parameters
There are no parameters.
Returns
void
.
WebGL2WarpedMap#throttledUpdateTextures
Type
DebouncedFunc<() => Promise<void>>
WebGL2WarpedMap#tileInCachedTiles(tile)
Parameters
tile
({ column: number row: number tileZoomLevel: TileZoomLevel imageSize: Size }
)
Returns
boolean
.
WebGL2WarpedMap#tileToCachedTile(tile)
Parameters
tile
({ column: number row: number tileZoomLevel: TileZoomLevel imageSize: Size }
)
Returns
CachedTile<ImageData> | undefined
.
WebGL2WarpedMap#updateCachedTilesForTextures()
Parameters
There are no parameters.
Returns
void
.
WebGL2WarpedMap#updateTextures()
Parameters
There are no parameters.
Returns
Promise<void>
.
WebGL2WarpedMap#updateVertexBuffers(projectedGeoToClipTransform)
Update the vertex buffers of this warped map
Parameters
projectedGeoToClipTransform
([number, number, number, number, number, number]
)- Transform from projected geo coordinates to webgl2 coordinates in the [-1, 1] range. Equivalent to OpenLayers’ projectionTransform.
Returns
void
.
WebGL2WarpedMap#updateVertexBuffersLines(projectedGeoToClipTransform)
Parameters
projectedGeoToClipTransform
([number, number, number, number, number, number]
)
Returns
void
.
WebGL2WarpedMap#updateVertexBuffersMap(projectedGeoToClipTransform)
Parameters
projectedGeoToClipTransform
([number, number, number, number, number, number]
)
Returns
void
.
WebGL2WarpedMap#updateVertexBuffersPoints(projectedGeoToClipTransform)
Parameters
projectedGeoToClipTransform
([number, number, number, number, number, number]
)
Returns
void
.
<<<<<<< HEAD
computeProjectedGeoRectangle
Returns a rotated rectangle in projected geo coordinates
Parameters
e
t
o
r
fromWarpedMapList
Static method creates that creates a Viewport from a WarpedMapList
Parameters
canvas
(HTMLCanvasElement
)options?
(Partial<RendererOptions> | undefined
)
Returns
CanvasRenderer
.
Extends
BaseRenderer
Renderer
CanvasRenderer#canvas
Type
HTMLCanvasElement
CanvasRenderer#context
Type
CanvasRenderingContext2D
CanvasRenderer#getTileImageData(data, index)
Parameters
data
(ImageData
)index
(number
)
Returns
number
.
CanvasRenderer#getTileSize(data)
Parameters
data
(ImageData
)
Returns
[number, number]
.
CanvasRenderer#render()
Parameters
There are no parameters.
Returns
Promise<void>
.
new WebGL2Renderer(gl, options)
Creates an instance of WebGL2Renderer.
Parameters
gl
(WebGL2RenderingContext
)- WebGL 2 rendering context
options?
(Partial<RendererOptions> | undefined
)- options
Returns
WebGL2Renderer
.
Extends
BaseRenderer
Renderer
WebGL2Renderer#addEventListenersToWebGL2WarpedMap(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#animating
Type
false
WebGL2Renderer#animationProgress
Type
0
WebGL2Renderer#cancelThrottledFunctions()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#changed()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#clear()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#clearMap(mapId)
Parameters
mapId
(string
)
Returns
void
.
WebGL2Renderer#contextLost()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#contextRestored()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#destroy()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#disableRender
Type
false
WebGL2Renderer#distortionChanged(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#gcpsChanged(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#getColorizeOptions()
Get the colorize options of the renderer
Parameters
There are no parameters.
Returns
Partial<Partial<{color: Color}>> | undefined
.
WebGL2Renderer#getGridOptions()
Get the grid options of the renderer
Parameters
There are no parameters.
Returns
Partial<Partial<{enabled: boolean}>> | undefined
.
WebGL2Renderer#getMapColorizeOptions(mapId)
Get the colorize options of a map
Parameters
mapId
(string
)- ID of the map
Returns
Colorize options (Partial<Partial<{color: Color}>> | undefined
).
WebGL2Renderer#getMapGridOptions(mapId)
Get the grid options of a map
Parameters
mapId
(string
)- ID of the map
Returns
Partial<Partial<{enabled: boolean}>> | undefined
.
WebGL2Renderer#getMapOpacity(mapId)
Get the opacity of a map
Parameters
mapId
(string
)- ID of the map
Returns
number | undefined
.
WebGL2Renderer#getMapRemoveColorOptions(mapId)
Get the remove color options of a map
Parameters
mapId
(string
)- ID of the map
Returns
| Partial<Partial<{color: Color; threshold: number; hardness: number}>> | undefined
.
WebGL2Renderer#getMapSaturation(mapId)
Get the saturation of a map
Parameters
mapId
(string
)- ID of the map
Returns
number | undefined
.
WebGL2Renderer#getOpacity()
Get the opacity of the renderer
Parameters
There are no parameters.
Returns
number | undefined
.
WebGL2Renderer#getRemoveColorOptions()
Get the remove color options of the renderer
Parameters
There are no parameters.
Returns
| Partial<Partial<{color: Color; threshold: number; hardness: number}>> | undefined
.
WebGL2Renderer#getSaturation()
Get the saturation of the renderer
Parameters
There are no parameters.
Returns
number
.
WebGL2Renderer#gl
Type
WebGL2RenderingContext
WebGL2Renderer#imageInfoLoaded(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#initializeWebGL(gl)
Parameters
gl
(WebGL2RenderingContext
)
Returns
void
.
WebGL2Renderer#lastAnimationFrameRequestId
Type
number | undefined
WebGL2Renderer#linesProgram
Type
WebGLProgram
WebGL2Renderer#mapProgram
Type
WebGLProgram
WebGL2Renderer#mapTileLoaded(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#mapTileRemoved(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#opacity
Type
DEFAULT_OPACITY
WebGL2Renderer#pointsProgram
Type
WebGLProgram
WebGL2Renderer#preChange(event)
Parameters
event
(Event
)
Returns
void
.
WebGL2Renderer#prepareRenderInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#previousSignificantViewport
Type
Viewport | undefined
WebGL2Renderer#removeEventListenersFromWebGL2WarpedMap(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#render(viewport)
Render the map for a given viewport
Parameters
viewport
(Viewport
)- the current viewport
Returns
void
.
WebGL2Renderer#renderInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#renderLinesInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#renderMapsInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#renderOptions
Type
any
WebGL2Renderer#renderPointsInternal()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetColorizeOptions()
Reset the colorize options of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetGridOptions()
Reset the grid options of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetMapColorizeOptions(mapId)
Reset the colorize options of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetMapGridOptions(mapId)
Reset the grid options of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetMapOpacity(mapId)
Rreset the opacity of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetMapRemoveColorOptions(mapId)
Reset the remove color options of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetMapSaturation(mapId)
Reset the saturation of a map
Parameters
mapId
(string
)- ID of the map
Returns
void
.
WebGL2Renderer#resetOpacity()
Reset the opacity of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetRemoveColorOptions()
Reset the remove color options of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#resetSaturation()
Reset the satuation of the renderer
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#saturation
Type
DEFAULT_SATURATION
WebGL2Renderer#setColorizeOptions(colorizeOptions)
Set the colorize options of the renderer
Parameters
colorizeOptions
({color?: Color | undefined}
)- the colorize options to set
Returns
void
.
WebGL2Renderer#setGridOptions(gridOptions)
Set the grid options of the renderer
Parameters
gridOptions
({enabled?: boolean | undefined}
)- the grid options to set
Returns
void
.
WebGL2Renderer#setLinesProgramMapUniforms(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#setLinesProgramUniforms()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#setMapColorizeOptions(mapId, colorizeOptions)
Set the colorize options of a map
Parameters
mapId
(string
)- ID of the map
colorizeOptions
({color?: Color | undefined}
)- the colorize options to set
Returns
void
.
WebGL2Renderer#setMapGridOptions(mapId, gridOptions)
Set the grid options of a map
Parameters
mapId
(string
)- ID of the map
gridOptions
({enabled?: boolean | undefined}
)- the grid options to set
Returns
void
.
WebGL2Renderer#setMapOpacity(mapId, opacity)
Set the opacity of a map
Parameters
mapId
(string
)- ID of the map
opacity
(number
)- opacity to set
Returns
void
.
WebGL2Renderer#setMapProgramMapUniforms(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#setMapProgramRenderOptionsUniforms(layerRenderOptions, mapRenderOptions)
Parameters
layerRenderOptions
({ removeColorOptions?: RemoveColorOptions | undefined colorizeOptions?: ColorizeOptions | undefined gridOptions?: GridOptions | undefined }
)mapRenderOptions
({ removeColorOptions?: RemoveColorOptions | undefined colorizeOptions?: ColorizeOptions | undefined gridOptions?: GridOptions | undefined }
)
Returns
void
.
WebGL2Renderer#setMapProgramUniforms()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#setMapRemoveColorOptions(mapId, removeColorOptions)
Set the remove color options of a map
Parameters
mapId
(string
)- ID of the map
removeColorOptions
({ color?: Color | undefined threshold?: number | undefined hardness?: number | undefined }
)- the ‘remove color options’ to set
Returns
void
.
WebGL2Renderer#setMapSaturation(mapId, saturation)
Set the saturation of a map
0 - grayscale, 1 - original colors
Parameters
mapId
(string
)- ID of the map
saturation
(number
)- the saturation to set
Returns
void
.
WebGL2Renderer#setOpacity(opacity)
Set the opacity of the renderer
Parameters
opacity
(number
)- opacity to set
Returns
void
.
WebGL2Renderer#setPointsProgramMapUniforms(webgl2WarpedMap)
Parameters
webgl2WarpedMap
(WebGL2WarpedMap
)
Returns
void
.
WebGL2Renderer#setPointsProgramUniforms()
Parameters
There are no parameters.
Returns
void
.
WebGL2Renderer#setRemoveColorOptions(removeColorOptions)
Set the remove color options of the renderer
Parameters
removeColorOptions
({ color?: Color | undefined threshold?: number | undefined hardness?: number | undefined }
)
Returns
void
.
WebGL2Renderer#setSaturation(saturation)
Set the saturation of the renderer
0 - grayscale, 1 - original colors
Parameters
saturation
(number
)- the satuation to set
Returns
void
.
WebGL2Renderer#shouldAnticipateInteraction()
Parameters
There are no parameters.
Returns
boolean
.
WebGL2Renderer#shouldRequestFetchableTiles()
Parameters
There are no parameters.
Returns
boolean
.
WebGL2Renderer#startTransformationTransition(mapIds)
Parameters
mapIds
(Array<string>
)
Returns
void
.
WebGL2Renderer#throttledChanged
Type
DebouncedFunc<() => void>
WebGL2Renderer#throttledPrepareRenderInternal
Type
DebouncedFunc<() => void>
WebGL2Renderer#transformationChanged(event)
Parameters
t
mapId
string ID of the map
render
Render the map for a given viewport.
If no viewport is specified the current viewport is rerendered. If no current viewport is known, a viewport is deduced based on the WarpedMapList and canvas width and hight.
Parameters
t
viewport
Viewport? the viewport to render
fetch
Fetch the tile and create its ImageData using a WebWorker.
Returns Promise<void>
Returns Promise<void>
b384ff6a (Improve static functions for viewport creation)
Fetch the tile and create its ImageData using a WebWorker.
Returns Promise<void>
Fetch the tile and create its ImageData using a WebWorker.
Returns Promise<void>