MS RFC 123: Support for MapML output in MapServer¶
- Date
2019-03-19
- Author
Daniel Morissette
- Contact
- Status
Draft
- Last update
2017-03-28
- Version
(Targeting MapServer 8.0)
1. Overview¶
A common way to deploy web mapping sites in 2019 is to embed JavaScript code in a web page using OpenLayers or Leaflet as the navigation interface. Those JavaScript libraries can interact with OGC WMS and Tile Services (as well as other OGC service types) if provided with the correct configuration via JavaScript code. In other words, the map contents, the list of layers, SRS, zoom levels, extents, etc, are specified as JavaScript statements and then rendered by a JavaScript library in a “custom” way that the web browser itself does not “understand”.
The W3C Maps for HTML Community Group is working to define a (new) “map” HTML element that would be used to define map contents in a web page and would be directly supported and rendered by web browsers in a standardized way. All this is done by building on existing standards such as WMS, WFS and Tile Services. In addition to standardizing the encoding and access to map elements in web browsers, this encoding also aims to make the map contents more easily discoverable and indexable by search bots on the Web. (Do I dare say the S-word? cough … semantic web… cough)
A draft specification is available through the working group, and the goal of this RFC is to provide a reference implementation to test the draft spec in real life use cases and promote its more widespread usage. A similar reference implementation project is also underway with GeoServer, and we will aim to align this implementation with the GeoServer implementation when possible.
This project is supported by funding from Natural Resources Canada.
2. Proposed solution¶
This RFC proposes the implementation of MapML output in MapServer. Enabling text/mapml as a new format offering for WMS and WFS.
2.1 Building/enabling the MapML option¶
MapML output is enabled at compile time using the following CMake options:
… TBD
The list of dependencies are:
… TBD (None expected at this point)
2.2 MapFile configuration parameters¶
The following configuration parameters are used to enable MapML output in a mapfile:
… TBD
2.3 Examples¶
…
3. Implementation Details¶
TBD
4. Limitations¶
TBD
5. Backwards Compatibility Issues¶
None anticipated as this is a new feature.
6. Security implications¶
None anticipated at the moment. (TBD as design work progresses)
7. Performance implications¶
No impacts on core performance are anticipated.
8. Documentation needs¶
A new documentation page will be added outlining the various MapML output configuration scenarios and parameters (in the style of the OGC WMS Server page for instance)
9. Ticket ID and references¶
MapServer Ticket: TBD
W3C Maps For HTML Community Group: https://www.w3.org/community/maps4html/
Maps for HTML Community Group (github page): https://maps4html.github.io/
MapML Spec github repository: https://github.com/Maps4HTML/MapML
GeoServer MapML Support Docs: TBD
10. Voting history¶
Draft RFC. No vote yet.