Maps4HTML / geoserver

Maps for HTML MapML Extension / plug-in development fork of GeoServer
https://docs.geoserver.org/latest/en/user/extensions/mapml/index.html
Other
3 stars 1 forks source link

Add text/mapml as a legal WMTS tile format. #45

Open prushforth opened 1 year ago

prushforth commented 1 year ago

Background

The MapML extension currently supports image-based map tiles, and is able to generate MapML documents that leverage the GeoWebCache and WMTS interface. For any Layer or Layer Group, the user has the option to check "Use Tiles". If the layer or layer group does not have tile caching set up for MapML TCRS gridsets, the output MapML document will be configured to generate "tile-shaped GetMap" requests that conform to the TCRS gridsets. If the user checks "Use Tiles" and sets up, via the Tile Caching layer/ layer group panel, the caching of tiles according to one or more of the standard TCRS Gridsets, then the output MapML document will be configured to issue WMTS GetTile and GetFeatureInfo requests.

Requirement

If a Layer or Layer group has "Use Features" checked:

image

enable GeoWebCache caching of vector tiles in text/mapml format, relying on the results of #50 and #48, so that in the GeoServer Tile Caching Tab of the Layer or Layer Group page, the user can select "text/mapml" as an allowed tile format:

image

The "text/mapml" format should be added to tile formats available for the layer or layer group in the WMTS Capabilities document as a \text/mapml\ element (text/mapml is already/currently a legal \ value in the Capabilities document). The "text/mapml" media type should also be reflected in the layer or layer group's

\ URL template list.

If the "text/mapml" tile format is checked, it should only be honoured / created for known MapML TCRS Gridsets, if any are selected; this requires that the \text/mapml\ entries mentioned above should only be associated with TileMatrixSets defined on a MapML TCRS.

Typically, CSS style rules for MapML documents are recorded in a \ element that is embedded in the MapML document. In the case of MapML documents representing individual tiles, this would be inefficient, repeating the same styles over and over for each tile. For the purpose of tile generation GetMap requests, the format_parameters="mapmltile:true" parameter should be used, which suppresses the generation of the \ element, and which may in future imply other tile optimizations.

The mapmltile:true value should be specifiable via the Tile Caching panel for Layers or Layer Groups:

image