This project provides low level functionalities for rendering OpenLayers layers to images of arbitrary resolution.
Supported layers:
- Mapbox Vector Tiles (MVT);
Supported styles:
- plain OpenLayers style functions;
- MapBox style processed by the
ol-mapbox-style
library.
Supported rendering methods:
- OpenLayers render API (feature complete, default);
- OpenLayers immediate API (basic, enable with
MVTEncoder.useImmediateAPI = true
).
https://geoblocks.github.io/print
npm i @geoblocks/print
import MVTEncoder from '@geoblocks/print';
const r = await new MVTEncoder().encodeMVTLayer({
layer, // a plain OpenLayers MVT layer
tileResolution, // the resolution to use for fetching features
styleResolution, // the resolution to use for styling features
printExtent, // the extent to print
canvasSize, // the target size in dots of the rendered layer (depends of the dpi)
});
The result is tiled so that each image is reasonably big. Each tile result contains:
- a base64 encoded image:
r[i].baseURL
; - the OL extent for this image:
r[i].extent
.