From e9d82fe6be075f67b0fc000b0a28eb5c540fb3f7 Mon Sep 17 00:00:00 2001
From: "Deployment Bot (from Travis CI)"
+ Copyright
+ ©
+ 2019
+
+ the Contributors to the Use Cases and Requirements for Standardizing Web Maps Specification, published by the
+ Maps For HTML Community Group under the
+ W3C Community Contributor License Agreement (CLA). A human-readable
+ summary
+ is available.
+
+
This report outlines the use cases and requirements
for standardizing modern Web maps,
@@ -151,22 +620,33 @@
The common features and limitations of the current techniques
are the basis of the requirements for a standardized solution
that could be built in to HTML and web browsers.
-
+
Use Cases and Requirements for Standardizing Web Maps
+
+
+ Draft Community Group Report
+
+
+
+
+
+
+
+
+ Abstract
+ This specification was published by the + Maps For HTML Community Group. It is not a W3C Standard nor is it + on the W3C Standards Track. + + Please note that under the + W3C Community Contributor License Agreement (CLA) + there is a limited opt-out and other conditions apply. + + Learn more about + W3C Community and Business Groups. +
Comments, corrections, and suggested additions should be made as GitHub issues. If that is not possible, send an email comment to public-maps4html@w3.org.
-Web maps today are indispensable to billions of people, for exploring and understanding the world around them. @@ -250,8 +730,8 @@
The Maps For HTML Community Group (Maps4HTML) arose as a result of face-to-face @@ -270,8 +750,8 @@
The initial requirements sketched out at LGD2014 were expanded into an initial use cases and requirements summary. -That work was the basis of the draft [[[MapML]]] specification -and [[[HTML-map-element]]] proposal. +That work was the basis of the draft Map Markup Language specification +and The HTML map Element proposal proposal. Although MapML has had notable support and development efforts from within the geospatial community, as of early 2019 it has not received significant support @@ -282,7 +762,7 @@
This report is a work in progress! Feedback and contributions are welcome. @@ -299,11 +779,11 @@
The purpose of this report is to describe (1) why and how the open web would benefit from having @@ -319,10 +799,10 @@
-In , +In § 2. Guiding Principles, we outline the theoretical factors we use for assessing whether a given feature should be included as a requirement. -In , +In § 3. Reviewed JavaScript Tools, we introduce the web map frameworks that are used in the empirical review.
@@ -331,24 +811,24 @@
-Within each part, we identify potential use cases: +Within each part, we identify potential use cases: problems that a website author or user wants a web map to solve. The use cases are defined in pragmatic terms, describing a specific function or action. @@ -356,7 +836,7 @@
-We then list technological capabilities: +We then list technological capabilities: features, which a web map might include, that could help solve the use cases. Capabilities are potential requirements for a native HTML web map. To assess whether the capability should be a requirement, we examine: @@ -392,16 +872,16 @@
If there is not yet enough evidence for a conclusion, the capability will be marked -undecided. +undecided.
The structure of this review is inspired by many other projects that have outlined best practices for web standards developments. @@ -425,7 +905,7 @@
The report uses an evidence-based approach, defining requirements not based on hypothetical use cases @@ -436,11 +916,11 @@
-This approach is inspired by [[[EXTENSIBLE]]] +This approach is inspired by The Extensible Web Manifesto which aims to “tighten the feedback loop between the editors of web standards and web developers,” establishing “a clear path for good ideas by web developers to become part of the infrastructure of the web” -[[EXTENSIBLE]]. +[EXTENSIBLE].
Much of the manifesto focuses on making it easier @@ -474,7 +954,7 @@
To decide whether a capability @@ -494,14 +974,14 @@
In case of conflict, consider users over authors over implementors over specifiers over theoretical purity. … Of course, it is preferred to make things better for multiple constituencies at once. -[[html-design-principles]] +[html-design-principles]
This section introduces the categories by which we measure @@ -509,7 +989,7 @@
An inclusive web is available to everyone, to connect and create in the ways most comfortable to them. @@ -519,77 +999,61 @@
Can this feature be implemented in a privacy-respecting manner? Are there any other security concerns from this feature? Would making it a built-in feature, standardized in web browsers, -improve privacy & security compared to current web practice? +improve privacy & security compared to current web practice?
Tags for the costs and benefits of potential requirements:
Related tags:
Can this feature be implemented in a manner that works for all languages and regions? @@ -664,47 +1122,35 @@
Related tags:
Would building in this feature significantly reduce the amount of data downloaded to the user device, or the amount of custom code that needs to run? @@ -731,42 +1177,36 @@
Related tags:
Further information:
Implementers, for a web standard, are the people who build and maintain web browsers and other user agent software. @@ -926,16 +1346,12 @@
Related tags:
Numerous options currently exist for a website author who wants to include a map viewer in a web page, @@ -964,7 +1380,7 @@
Need data to back up the reference implementations.
+Need data to back up the reference implementations.
The reviewed implementations come in three forms:
@@ -980,7 +1396,7 @@Need to decide on web component examples to use as reference.
+Need to decide on web component examples to use as reference.
@@ -995,31 +1411,31 @@
+
Compiling and serving map data is a complex, expensive enterprise. Many of the map data and search services require registered developer accounts, with usage-based pricing. @@ -1028,12 +1444,12 @@
- + By far the most frequently used map widget on the web,[citation needed] Google Maps established many of the de facto standards in how a web map works.
@@ -1049,11 +1465,11 @@Discuss this section on GitHub.
+Discuss this section on GitHub.
OpenStreetMap is a project to compile free-to-use wayfinding maps of the entire Earth, from crowdsourced contributions. @@ -1068,11 +1484,11 @@
Discuss this section on GitHub.
+Discuss this section on GitHub.
Bing maps provides embeds that can be generated from their website. For more complex options, the API @@ -1081,11 +1497,11 @@
Discuss this section on GitHub.
+Discuss this section on GitHub.
MapKit JS provides a JS framework for integrating Apple Maps in a website, @@ -1096,11 +1512,11 @@
Discuss this section on GitHub.
+Discuss this section on GitHub.
Mapbox provides map data as a service, as well as frameworks for multiple platforms. @@ -1113,11 +1529,11 @@
An API key is required, with cost based on usage.
-Discuss this section on GitHub.
+Discuss this section on GitHub.
Leaflet is a popular open-source JavaScript framework for building customized map views. @@ -1128,22 +1544,22 @@
Discuss this section on GitHub.
+Discuss this section on GitHub.
OpenLayers is one of the most established open-source libraries for creating dynamic web maps from map data in standard formats. As with Leaflet, it isn't associated with any particular map service. A basic slippy map can be created with a few lines of custom JavaScript.
-Discuss this section on GitHub.
+Discuss this section on GitHub.
The data visualization library D3 includes the d3-geo module which defines methods for manipulating vector map data @@ -1152,12 +1568,12 @@
Discuss this section on GitHub.
+Discuss this section on GitHub.
The map viewer widget is the interactive component that displays a map to end users. The map might be the primary purpose of a website, @@ -1180,7 +1596,7 @@
img element)
in a web page.
- explores data structures and file formats.
+§ 6. Map Data Formats for Map Viewers explores data structures and file formats.
See examples of default map viewers @@ -1189,7 +1605,7 @@
Client-side Mapping APIs (application programming interfaces) allow website developers to create customized map viewers, @@ -2589,9 +2910,9 @@
An embedded map cannot usually be enhanced beyond the options available via URL configuration, and it may not be possible to extract additional information from the map or to subscribe to map events. @@ -2604,14 +2925,14 @@
Discuss this section on GitHub.
-Discuss this section on GitHub.
A web developer needs the ability to display a map with markers or other affordances denoting multiple specified locations.
@@ -2625,14 +2946,14 @@Discuss this section on GitHub.
-Discuss this section on GitHub.
Description to follow.
@@ -2640,14 +2961,14 @@Discuss this section on GitHub.
-Discuss this section on GitHub.
Brief examples to be expanded: highlighting items in a list that are within the current bounds of the map; displaying the position of the map centre; @@ -2659,8 +2980,8 @@
Discuss this section on GitHub.
-Discuss this section on GitHub.
Description to follow.
@@ -2679,15 +3000,15 @@Discuss this section on GitHub.
-Discuss this section on GitHub.
Example to be expanded later: NLS old Ordnance Survey maps.
@@ -2698,8 +3019,8 @@Discuss this section on GitHub.
-Discuss this section on GitHub.
Description to follow.
@@ -2719,15 +3040,15 @@Discuss this section on GitHub.
-Discuss this section on GitHub.
A developer may want the capability of changing the bearing of a map - that is, displaying the map with a direction other than North at the "top". @@ -2741,15 +3062,15 @@
Discuss this section on GitHub.
-Discuss this section on GitHub.
Examples to be expanded: showing a map of Mars or the Moon.
@@ -2757,25 +3078,25 @@Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
-See examples of +See examples of as implemented by the reference JavaScript tools.
-Discuss this section on GitHub.
+Discuss this section on GitHub.
This is the starting point for all usage of client APIs. Without this, there is nothing.
-Discuss this section on GitHub.
-Discuss this section on GitHub.
By definition, all mapping APIs support this capability. However, the level of complexity involved varies. @@ -2808,12 +3129,7 @@
- + The generic functionality of allowing a user to pan and zoom is relevant to any application involving large imagery with fine detail. Extant examples include Google's detailed scans of classic paintings, and viewers for extremely high resolution panoramic photographs.
-- +
--This functionality is a requirement for modern web maps. +This functionality is a requirement for modern web maps.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--This functionality is a requirement for modern web maps. +This functionality is a requirement for modern web maps.
The API should support the implementation of custom controls capable of being added to a map.
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Description to follow
-Discuss this section on GitHub.
-Discuss this section on GitHub.
- +
- +
-- +
--Based on the limited data, we are undecided about whether this should be a requirement. +Based on the limited data, we are undecided about whether this should be a requirement.
Many different types of spatial data can be integrated in a web map: satellite imagery, @@ -4054,10 +4098,10 @@
To Do
@@ -4065,207 +4109,45 @@To Do: finish the script to generate a summary table from the annotated markup.
We are tracking issues on Github.
-- -
--See examples of -as implemented by the reference JavaScript tools. -
-Discuss this section on GitHub.
-- -
-Discuss this section on GitHub.
-- -
-- -
-- -
-- - - -Based on the limited data, we are undecided about whether this should be a requirement. -
- -