The GeoServer MapML extension serves MapML documents that access GeoServer data stores and tile caches within a range of zoom levels that is associated to the TCRS definition i.e., the maximal zoom range, something like the following code snippet:
Requirement
Ensure that the zoom range that is serialized in MapML documents reflects the possible zoom range of the data requested. In the case where a MapML document is requested for a single layer or a single Layer Group, the zoom range should correspond (transformed from scale denominators to zoom level values) to the scale range for the layer or layer group from the Capabilities document (in which the scale range for the layer is reflected by the and values) OR if such values are not available for the layer/layer group, the min/max zoom values should be obtained from the TCRS in use (in the above example, “OSMTILE”).
In the case of a MapML document that is generated in response to a GetMap for multiple layers and/or layer groups, if the response corresponds to SW.4.1.3.1.txt, the zoom range that is serialized must reflect the union of the scale ranges for all the listed layers i.e., the smallest (for min) and largest (for max) denominator scales listed for all the scale denominator ranges (represented by and in the GetCapabilities response, for WMS 1.3) for all the requested layers. See file SW.4.1.10.1.txt for a commented example of this output.
In the case of a MapML document that is generated in response to a GetMap for multiple layers and/or layer groups, if the response corresponds to SW.4.1.3.2.txt (multiple map-extent elements), then the zoom input min/max attributes should be set on a per-extent basis, that is, each map-extent should contain a zoom input whose min/max attributes each reflect a zoom value calculated from the and values respectively, for the layer that is represented by the map-extent. See file SW.4.1.10.2.txt
for a commented example of this output.
Background
The GeoServer MapML extension serves MapML documents that access GeoServer data stores and tile caches within a range of zoom levels that is associated to the TCRS definition i.e., the maximal zoom range, something like the following code snippet:
Requirement
Ensure that the zoom range that is serialized in MapML documents reflects the possible zoom range of the data requested. In the case where a MapML document is requested for a single layer or a single Layer Group, the zoom range should correspond (transformed from scale denominators to zoom level values) to the scale range for the layer or layer group from the Capabilities document (in which the scale range for the layer is reflected by the and values) OR if such values are not available for the layer/layer group, the min/max zoom values should be obtained from the TCRS in use (in the above example, “OSMTILE”).
In the case of a MapML document that is generated in response to a GetMap for multiple layers and/or layer groups, if the response corresponds to SW.4.1.3.1.txt, the zoom range that is serialized must reflect the union of the scale ranges for all the listed layers i.e., the smallest (for min) and largest (for max) denominator scales listed for all the scale denominator ranges (represented by and in the GetCapabilities response, for WMS 1.3) for all the requested layers. See file SW.4.1.10.1.txt for a commented example of this output.
In the case of a MapML document that is generated in response to a GetMap for multiple layers and/or layer groups, if the response corresponds to SW.4.1.3.2.txt (multiple map-extent elements), then the zoom input min/max attributes should be set on a per-extent basis, that is, each map-extent should contain a zoom input whose min/max attributes each reflect a zoom value calculated from the and values respectively, for the layer that is represented by the map-extent. See file SW.4.1.10.2.txt
for a commented example of this output.