-Interactive thematic maps created with mapmap.js. (a) A map from the genderATlas project, integrating a zoomable choropleth map with D3.js based data visualizations. (b) Detail of a thematic map showing commuting patterns. (c) Thematic map inspired by Minard's work, linking map and diagram through anchors.

-Interactive thematic maps created with mapmap.js. (a) A map from the genderATlas project, integrating a zoomable choropleth map with D3.js based data visualizations. (b) Detail of a thematic map showing commuting patterns. (c) Thematic map inspired by Minard's work, linking map and diagram through anchors.

Source publication
Article
Full-text available
Creating interactive maps for the web is a complex task. In this paper, we present mapmap.js, our approach to designing a high-level API that supports the creation of interactive thematic maps. We discuss the attributes high-level, transparent, data-driven and horizontal with respect to mapping APIs and argue why these are desirable qualities, and...

Context in source publication

Context 1
... and non-interactive versions of Minard's map have been implemented by various authors using different programming languages and APIs, making it a de-facto benchmark for verifying and comparing mapmaking APIs (FRIENDLY, 2002). We created a simple version of Minard's map (see Figure 1.c) in 20 lines of code, excluding the temperature diagram which has been implemented using D3.js using 43 lines of code. A key part of our implementation is the connection between the map and the diagram through an anchoring function mapping longitude values of the temperature data to pixel coordinates on the map, which adds another 10 lines of code. ...

Similar publications

Preprint
Full-text available
When designing a new API for a large project, developers need to make smart design choices so that their code base can grow sustainably. To ensure that new API components are well designed, developers can learn from existing API components. However, the lack of standardized method for comparing API designs makes this learning process time-consuming...

Citations

... For instance, creating maps through programming can be done using D3.js (Bostock et al., 2011), Vega-Lite (Satyanarayan et al., 2017), Florence (Poorthuis et al., 2020), Unfolding (Nagel et al., 2013), the mapmap.js API (Ledermann and Gartner, 2015), or programming languages such as R or Python. Creating maps through a user interface that suggests meaningful defaults can be done through tools/toolkits such as Descartes (Andrienko and Andrienko, 1999), SDG Viz (Gong, 2019), AdaptiveMaps (Degbelo et al., 2020), the GAV Toolkit (Van Ho et al., 2012), the Geoviz Toolkit (Hardisty and Robinson, 2011), and commercial solutions such as ArcGis Online 2 or Carto 3 . ...
Article
Full-text available
Several tools have been proposed to automatically create thematic maps. A common drawback of these tools is that they rarely provide means for users to explore their decision trees. Users may thus create maps or get some maps proposed, but not know why some suggestions of maps were made. To address this gap, this work introduces 3D4DT, an approach to explore decision trees as a three-dimensional interactive scene. The 3D4DT approach uses JSON as a machine-readable format to represent decision trees and maps JSON elements to user interface elements (e.g. radio buttons and cubes). A preliminary evaluation of 3D4DT has shown effectiveness gains in comparison to information displayed as text+picture, for a decision tree with a simple hierarchical structure. The contributions of this work are relevant to the design of more transparent software for automated thematic map creation.
... However, due to the requirements of reproducibility and suitability for non-expert programmers, it is desirable to design an API that minimizes "boilerplate" code 1 , complex data structures and object hierarchies, and allows users to express the relevant ideas concisely. A good programming framework keeps the user in a state of "selective cluelessness" (Ledermann and Gartner, 2015;Tulach, 2008) that hides away complexity that the user does not want to be concerned with (e.g. how exactly the code is distributed to the various devices of the overall setup), and highlights the relevant aspects of the design (e.g. ...
Article
Full-text available
We present a system for running experiments and user studies that can be effortlessly distributed across multiple heterogeneous devices. By taking into account specific requirements of the geosciences (geovisualization, cartography, location-based services), and by providing a clear and simple conceptual model for defining experiments, this system can help researchers implement empirical studies in less time or with increased functionality, and can lead to increased transparency and reproducibility of studies for other researchers. The versatility of the proposed system is demonstrated in three case studies where the system is put to use in widely different application scenarios.
... This proliferation of different approaches is not due to a lack of promising work in (academic) cartography. For example, Nagel et al. (2013) developed a library, Unfolding, for writing interactive maps in Processing and Java, while Ledermann and Gartner (2015) provide a "cartographic" API for making maps with JavaScript (JS). More recently, Degbelo, Sarfraz, and Kray (2020) created AdaptiveMaps, a no-code semi-automatic approach to making thematic web maps that is based on Bertin's visual variables. ...
Article
Full-text available
Online, web-based cartography workflows use a dizzying variety of software suites, libraries, and programming languages. This proliferation of mapmaking technologies, often developed from a software engineering rather than a cartographic foundation, creates a series of challenges for cartography education, research, and practice. To address these challenges, we introduce a JavaScript-based open-source framework for web-based cartography and data visualization. It is built on top of existing open web standards that are already in intensive use for online mapmaking today, but provides a framework that is firmly based on cartographic and visualization theory rather than software engineering concepts. Specifically, we adopt concepts from Bertin’s Semiology of Graphics and Wilkinson’s Grammar of Graphics to create a language with a limited number of core concepts and verbs that are combined in a declarative style of “writing” visualizations. In this paper, we posit a series of design guidelines that have informed our approach, and discuss how we translate these tenets into a software implementation and framework with specific use cases and examples. We frame the development of the software and the discussion specifically in the context of the use of such tools in cartography education. With this framework, we hope to provide an example of a software for web-based data visualization that is in sync with cartographic theories and objectives. Such approaches allow for potentially greater cartographic flexibility and creativity, as well as easier adoption in cartography courses.
... Depending on the design of the APIs used to create the map, some transformations may be represented explicitly in the code, or be performed implicitly behind the scenes. (See Ledermann & Gartner (2015) for a discussion of various aspects of cartographic API design, including such questions of transparency.) In our example, note how the coordinates entry of the data object changes from [7333, 1347] (in the data file, top left) to [-2.3515, 51.3831] (in the internal memory representation, bottom left) without this transformation being explicitly represented in the depicted code! • While in the simple example used for illustration, a reading of the code and a visualization of the results are possible and provide some insight, it remains doubtful whether a close reading approach can be applied to much more complex real-world examples. ...
... • Some of the transformation processes at work in the program are not visible in the "outermost" layer of code and can be easily overlooked by investigators. Depending on the design of the APIs used to create the map, some transformations may be represented explicitly in the code, or be performed implicitly behind the scenes (see Ledermann & Gartner (2015) for a discussion of various aspects of cartographic API design including such questions of transparency • While in the simple example used for illustration, a reading of the code and a visualization of the results is possible and provides some insight, it remains doubtful whether a close reading approach can be applied to much more complex real-world examples. Furthermore, for commercial and technical reasons, source code is often obfuscated, with all human-readable semantics removed from the code. ...
Preprint
Full-text available
The age of "Big Data" and rapid online publishing brings with it a new need for verifying and understanding digital media. Cartographers are specifically interested in the analysis of maps published online, both with regards to their adherence to established cartographic techniques and for identifying innovative approaches to geographic visualization. But traditional manual cartographic analysis methods, based solely on inspecting the map as an image, are limited; neither can they keep up with the volume of new maps coming online every day, nor can they answer all questions about the process of creation of the map. This paper proposes a novel approach to analysing maps by taking into account the source code of the cartographic program producing the map image. It is argued that such a method can surpass manual analysis in both its potential to facilitate semi-or fully automated processes as well as the depth of insight it is able to give into the complete socio-technical assemblage of a digital map artefact.
Conference Paper
This paper analyses and shows the need of a client side web API devoted to present and explore spatial information through thematic maps. We define a set of requirements for such API, most notably the ability to process datasets with many millions of points, allowing full interactivity, providing a high level of abstraction and defining clear paths for easy extension at many levels. The Gisplay API is implemented using WebGL, enabling the required speed for full interactive thematic maps with millions of points. Such claims are experimentally demonstrated. Gisplay already provides 4 types of thematic maps and very detailed discussion is presented showing the high level of abstraction and the different mechanisms to extend it. This extensibility is based on a modular architecture which includes an intermediate API that deals with WebGL complexity.
Chapter
Full-text available
This research explores the usage of freely available open-source resources for the deployment of a plug-in free web-application interface for 3D geospatial data to visualize energy related modelling and simulation results. Such plug-in free web mapping applications will be essential for future cartographic web applications as forthcoming web browsers will no longer support the usage and installation of those plug-ins used in the past. As a proof of concept, a 3D city model of the city of Karlsruhe in Germany consisting of over 87,000 buildings is used as a case study. This data set was compiled using OpenStreetMap data and outputs from energy simulation models. The CityGML format is used for data storage of this multi-domain data set. In order to ensure independence from browser plug-ins, HTML5 and freely available JavaScript libraries are used for the creation of this application. Multiple analytical cartographic and geospatial functions such as cartographic classification, attribute selection, descriptive statistics, spatial buffer analysis and the retrieval of modelling results from a PostgreSQL and PostGIS data infrastructure are implemented in this interface. This paper further discusses some case studies, future enhancement opportunities of the proposed interface and experiences gathered during the interface development process that would help other cartographers and GIScientists in developing future native 3D web mapping applications.