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

Post-process GetMap vector response to tag introduced bbox segments with <map-span class="bbox"> #51

Open prushforth opened 1 year ago

prushforth commented 1 year ago

Background

In GetMap with format=text/mapml returns with rel=features for vector data it was established that MapML vector geometries returned by GetMap would be clipped to the boundary specified by the standard bbox GetMap parameter. When clipping point or line features, this process proceeds with little visual impact. When polygon or multipolygon geometry values are clipped, line segments created by the intersection of the bbox geometry with the multi/polygon being processed are introduced into the output geometry. The purpose of these line segments is to preserve the enclosure of space by the resulting polygon geometry.

A common map creation use case is to create a mosaic of GetMap image outputs, which may be accomplished by merging spatially adjacent image objects that have been previously generated, in the horizontal and vertical direction, often, but not exclusively, in a regular grid order (rows and columns). In order to create a visually continuous 2D image mosaic, the introduced line segments must have been removed or hidden during initial image rendering.

Requirement

  1. In the polygon geometries created as outputs from the GetMap clipping process in a MapML vector response form, wrap each of the introduced line segments in a \ element. For reference see \ documentation

  2. Ensure that a CSS class with a selector for bbox is present in the \ element embedded in the response. The CSS rule for the bbox class should be as follows:

.bbox {
  display: none
}
  1. Ensure that WMS GetFeatureInfo for MapML vector data (at least, for WMS GetFeatureInfo requests with format=text/mapml&format_options=mapmlfeatures:true) MapML feature vector geometries are clipped, styled and processed per the requirement for GetMap, above.