Map Markup Language and the GeoWeb in the OGC Innovation Program
Spatial Data Infrastructure and the Web
The OGC community, and in particular, government organizations, have long advocated for the notion of spatial information, such as that found within the walls of national mapping and space agencies, as “Spatial Data Infrastructure”, or SDI.
An important principle of the SDI philosophy is that because spatial information is increasingly essential to modern technological society, standards should make it possible to “enable the discovery and use of geospatial information by users and for purposes other than those it was created for.” In other words, everyone in society should better reap the benefits of existing investments in spatial information.
Sharing information on the Web
We should ask, “What if sharing (and using) spatial information could be accomplished as easily as sharing a link to a Web page today? What if “the programmer” above could be a child anywhere, learning to use the Web for the first time? What could search engines do with spatial data infrastructures if they ‘understood’ what they were analyzing?”
In this blog post, I would like to discuss the development of proposed new standards for spatial information, ones that leverage the architectural style of the Web in order to lower the barriers to use and re-use of not only SDI, but also potentially any spatial information on the Web.
First, I will describe what you can easily do today with Map Markup Language, or “MapML”, and after that I will present ideas how links between and within Web pages and maps of the future could be as seamless and useful as links on today’s Web.
The key idea that I would like to convey in this post is that with a small change of perspective and standards by both the Web and Spatial information communities, increases in the value of Web-based information are achievable: spatial information can be simple and re-usable, based on standards, and Web pages can embed and link to spatial locations, providing indexable, searchable context for spatial phenomena. What has been heretofore only notional, a true “GeoWeb” is demonstrably within reach.
In a future post, I will describe in detail the use of some of the markup constructs in MapML, and in what way each is useful.
What is Map Markup Language?
Map Markup Language, or “MapML”, is an HTML-like hypertext format for map content. Like HTML, MapML mixes content with “affordances”. Affordances are user interface widgets embedded within content familiar to us, for example, as underlined links, which allow people to interact with content in an intuitive manner, transitioning from one page to another via user gestures such as mouse clicks, or the swipe of a finger.
The map shown above is created by linking from HTML to MapML, using simple standard markup:
The <layer-> element’s “src” attribute is a URL to a MapML document that represents the satellite imagery layer of the map. Of course, maps often have several layers, and this is naturally accomplished by adding additional <layer-> elements.
MapML allows the map author to present different types of spatial content, including tiles or map images, and vector features within a single map format. Next, let’s examine what the goals of MapML are.
The central goal of MapML is to convey Web map semantics in a single hypertext format. Browsers can use MapML documents to provide a basic modern Web map experience, with assistance from scripting required only for an ‘enhanced’ experience.
While simplicity is indeed a goal, we need to consider for whom are we trying to make things simple. It’s instructive to look to HTML for clues. HTML enables users to share Web resources by their URL. Humans (with browsers) and machines (crawlers) can use these linked HTML resources alike. This type of simplicity is what makes the Web so successful: link-following by software without regard for how the link was constructed. There’s even a name for this type of simplicity, given by the inventor of the Web, Sir Tim Berners-Lee. It’s called the Rule of Least Power, and it is what makes the Web so ubiquitous.
Native support by browsers may be the ultimate goal, but how do we get there? Are there intermediate steps and states that we can identify along the path to that goal that can make MapML useful even before we achieve the ultimate objective of practical global standardization of Web maps? Both the W3C and the OGC have established programs whose aim is to encourage communities to incubate ideas into standards. In the case of the W3C, that program is the “Community and Business Groups Program”, which offers Web resources, such as wikis, mailing lists and blogging engines, to name a few, all convened within a standards-friendly intellectual property (IP) environment. The Maps for HTML Community Group is a part of that program. Membership is voluntary and free to all. For the OGC, the Innovation Program also helps incubate ideas, typically via Testbeds. Sponsors pool funds over common requirements, and OGC member firms bid to collaborate on the development of software and incipient standards. Maps for HTML, specifically MapML, was the subject of sponsored requirements in OGC Testbed 13 which took place in 2017.
Testbed 13 Results
Going into Testbed 13, one of the goals was to grow the MapML community by means of demonstrating that the hypertext approach to maps not only works, but also is relatively easy to implement. Testbed 13 results for MapML were impressive, in several respects. Not only did the Maps for HTML Community Group welcome several new OGC and W3C members and staff, but those new participants provided valuable ideas and new implementations of MapML. In the words of Joan Masó, the editor of the Testbed 13 Engineering Report:
“OGC has not explored an approach like this before. This could bring maps closer to the W3C community.”
This could be one of the central benefits of OGC sharing standards (and architecture) with the W3C: cross-pollination of ideas and technology, which can benefit both the Web and geospatial information communities.
Testbed 14 objectives
One of the mainstays of geospatial information is the Simple Features model. Simple Features (SF) underpin many successful applications today, and SF has spun off into many domains. Because a principal objective of MapML is to provide a single map format that accommodates a variety of spatial information types, Testbed 14 sets out to develop an enhanced markup vocabulary that leverages not only Simple Features’ model, but also that of HTML microdata. We will use the ideas and software generated in Testbed 13 as a starting point. Testbed 14 participants also aim to test how MapML might support modern vector tiles using the hypertext approach. Finally, the testbed will evaluate offline maps using the evolving Web standards for Progressive Web Applications.
There may be a few features missing from MapML and related software. Usage will reveal such features, and we hope the OGC and W3C communities will implement and use MapML to the point that they will be able to identify and build missing features as time goes by.
A driver of growth and adoption of new network software is content availability. Client software is useful to the extent that there is content available. Fortunately, for maps on the Web, there is an almost unlimited supply of content, thanks to global spatial data infrastructures and OGC standards. MapML allows Web authors to refer to existing tile caches and Web Map Services (WMS), using hypertext forms. This allows MapML clients to start life with a rich network of content readily available.
The key factor in the success of an initiative is community. Spatial Data Infrastructure practice, and for that matter geographic information systems in general has had difficulty expanding beyond the realm of the professionals and organizations who create it. By pivoting to the style and standards of the Web, represented by MapML, SDI standards have the opportunity to become the initial weave in the fabric of the GeoWeb.
Finally, we hope the Maps for HTML community will continue to grow, and we invite you to participate, as an observer or contributor. The more minds we can bring to the problem of Web map interoperability, the better.
For further information on custom HTML elements, please see https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements.
For further information on MapML or Maps for HTML, please join our community, where you’ll find specifications, software and others helping to push the GeoWeb forward.