Testing approaches to visualize land cover/land use changes in time series with Web GIS microservice tools

Web applications which are high functioning, efficient, and meet the performance demand of the client are essential in modern cartographic workflows. With more and more complex spatial data being integrated into web applications, such as time related features, it is essential to harmonize the means of data presentation so that the end product is aligned with the needs of the end-user. In this paper we present a Web GIS application built as a microservice which displays various timeseries visualizations to the user to streamline intuitiveness and functionality. The prototype provides a solution which could help to understand various ways in which current web and spatial analysis methods can be combined to create visualizations that add value to existing spatial data for cartographic workflows.


Introduction
As web-based cartographic visualizations are becoming more ubiquitous, ongoing research offers new avenues for continued development. Modern cartography aims to improve understanding of how to harmonize new research within multiple cartographic fields, such as Web GIS design guidelines, processing of earth observation data, and integrating web-based apps into microservice architectures.
Developing methods to present land cover/land use (LC/-LU) time series in web-based visualizations provides value to cartographers Yu et al. (2021). When offering earth observation (EO) data products such as raster and vector maps in web-based visualizations, it is essential to maintain readable, intuitive, and aesthetically pleasing visualizations of the data Farkas (2020).
The Copernicus Programme is a network which collects data through a variety of sources such as EO satellites, and sensors on the Earth's surface Büttner (2014). The plethora of data available makes investigations into EO techniques convenient Bielecka and Jenerowicz (2019). A key product of the Copernicus Programme is the CORINE Land Cover (CLC) dataset. The CLC data is available for all of Europe and describes the LC/LU for the continent in vector and raster products. The CLC+ project is currently in development and projected to be the next generation LC/LU products for Europe, with a higher spatial and temporal accuracy Kosztra and Arnold (2019). The raster and vector products from the historic CLC inventory are used within a wide variety of projects and agencies such as environmental Szumacher and Pabjanek (2017), agriculture Kandziora et al. (2013), community planning Naranjo Gómez et al. (2020), and urban sprawl Cerba et al. (2009).
Our aim is to test approaches in developing a framework to visualize changes to LC/LU classes in time series through the research and prototyping of Web GIS microservice tools. Compared to the historic CLC Data, the CLC+ Backbone will provide much more data and therefore performant visualisation techniques are needed. Further, creating these tools in user-centered workflows helps to facilitate the design and development Abras et al. (2004). This research could add value to Web GIS microservices with the implementation of a web-based interface that includes interactive maps and other forms of statistical analysis. Integrating microservices into cartographic workflows have been shown to increase efficiency in project workflows by reducing the amount of time necessary to develop new tools and distributing tasks among team members without the fear of breaking a system Mena et al. (2019).

Research Identification
To support our work, we explored research into different avenues of cartographic time series visualization techniques. The input data is derived from historical CLC data, and is compared against the latest CLC data from 2018. This dataset is a high-quality source for European land cover data and provides an opportunity for developing visualizations Cieślak et al. (2017)

Research Questions
• How can the concept of digital cartographic visualizations be constructed so that it conveys information in an effective form within the context of developing projects such as CLC+?
-What are the needs of end-users and clients, who will be using the service? -How can a product be designed with intuitive use as a core function? -How can user-input directly influence the endresult visualization? -What visual aspects are necessary within the final product?
• How can visualizations of remote sensing derived time series be integrated into a Web GIS digital microservice infrastructure?
-How could integrating cartographic visualizations into microservices improve cartographic project workflows? -Do web-based cartographic visualizations offer value to ongoing workflows in the remote sensing domain?
• What are the advantages of creating a visualization application over implementing existing technologies, or traditional methods such as static maps, reports, and other graphics?

Project summary
We aim to improve the understanding of how to harmonize research within multiple cartographic fields to display various time series visualizations. With this knowledge in tow, the goal is to develop a framework to visualize changes to LC/LU classes in time series through the research and prototyping of microservice tools.
After gathering expert feedback, a prototype application has been developed which includes multiple years of CLC data, utilizes different Javascript libraries to create time series sliders, and presents statistical derivations for the various map layers. The open source Javascript library Open-Layers 1 has been used to present web maps and time series visualizations for the project. The map contains layers which are served directly from the CLC web servers to present raster data. Additionally a dedicated GeoServer was created to serve the vector data. The prototype also employs existing Javascript and jQuery functionality built on top of the web map so that time series can be derived to view the changes in land cover for all of the coverage area.
The goal of the resulting application is to help communicate land cover information more efficiently and assist in the decision-making process of end-users who wish to statistically compare data from different temporal periods from the map. Furthermore, our prototype aims to provide intuitive, user-center designed cartographic visualizations to help users make informed choices based on historic and current data.

Web GIS
A geographic information system (GIS) provides the ability to gather, analyse, and present geospatial information Clarke (1999). The abilities of a GIS allow operators to complete complex data analysis, create statistical models, and find deeper meaning in data Fotheringham and Rogerson (2013).
Applications that have a foundation in GIS are incredibly widespread across many forms of technology today due to the idea that nearly every human communication, natural and unnatural feature, and resource contain a geospatial component Lee and Kang (2015). Most current technologies and applications which exist integrate some sort of geographic aspect into the system Goodman et al. (2019).
The existing principles of GIS software have also been incorporated into modern web applications. This application of GIS is classified as Web GIS Alesheikh et al. (2021). This transformation has come in part due to the wide and freely available sources of geospatial data now on the internet Zhou et al. (2014).
One consideration in creating GIS applications for the internet, is the amount of spatial data which accompanies the program. Thus the storing and accessing of data is a major component of developing highly effective Web GIS services. GeoServer is an open sourced web server software which has been designed to share geospatial data across applications on the web, and in GIS software Youngblood (2013). It is effective in the field of Web GIS to allow programs to access data in extremely efficient manners. It was developed in accordance with the Open Geospatial Consortium (OGC) to help serve data in a variety of forms following the various standards for geospatial data, such as Web Map Service (WMS) and Web Feature Service (WFS), among others Iacovella (2017).
A WMS is designed to serve raster spatial data. The standard allows clients to serve spatially referenced data as images displayed as maps. The images are not maps themselves, but allow for portrayal and design styles suitable for computer screens. WMS also allows for clients to specify GetFeatureInfo queries for the data at given locations Boulos and Honda (2006).
On the other hand, a WFS client can access and download any stored vector data and implement it into software, maps, and perform tasks. The vector data is accessible through a variety of different formats such as KML, GML, and JSON. WFS provide more operations available to the client such as GetFeature, which provides more flexibility in deeper level analysis, especially on web maps Peng and Zhang (2004).

Web and Microservice Architectures
Developing microservice architectures is an emerging trend within web applications to alleviate some of the traditional problems that arise within existing web service oriented development architectures. Lewis (2012) first presented on the idea of microservices as a scalable architec- ture in java, and research has continued on the topic Mendonça et al. (2019). Rather than creating an entire software package that is dependent on all distributed parts to run simultaneously, many individual services, called microservices, are able to execute individually to accomplish singular tasks within the overall scope of the software, as is shown in Figure 1. By developing an application into multiple services, the entire application does not need to execute, instead different aspects of the application, developed as microservices, are executed when engaged with by the user Thönes (2015). Each service is completely independent from any other service, and only draws upon a server or database if it's individual task is called upon within the application. The framework has been in continual development, the framework is in use in many modern applications Dragoni et al. (2017). The example of a micro-frontend approach is the further continuation of a microservice strategy. A micro-frontend utilizes the same service builder concept of a microservice. It allows for streamlined development of tasks which involve the presentation of information collected from other services into a frontend aspect of an application. Micro-frontends do not rely on the entire application to run simultaneously, instead, the service can run independently and only utilize the server load necessary for the individual need served by the front-end Cerny et al. (2018). This concept saves development teams time and load balancing due to the ability to have individual team members tasked with developing various services, without the need to continuously update and test the entire application Cherradi et al. (2017).
Recently, geospatial researchers have begun to incorporate practical applications of microservices in Web GIS applications and data Mena et al. (2019). For example, a web map which acts as a service and displays real time data from various sensors in the field, such as temperature, air pressure, wind speed, etc. can be coded separately from the rest of the web application so that when a user chooses to engage a web map, only the relevant database and server will be called upon. This development architecture helps to preserve the overall load balance of the application.

User-Centered Design Process
User-centered design (UCD) is a process which can be employed within projects to continually collect and integrate user feedback into each stage of development Abras et al. (2004). There are multiple stages defined along the development cycle in which a member of such projects pause to gather ideas, feedback, suggestions, etc. from the identified end-user group to continually improve project development goals Lanter and Essinger (2017), Norman and Draper (1986).
User-centered design normally follows four iterative stages. Figure 2 displays how each stage is evaluated in the fourth stage to continually redesign and improve the product Preece et al. (2002).
1. Understand the context of use: Identify the individuals who are ultimately going to use the product, the context under which they will use it, and the environments of the end product.
2. Specify user requirements: Determine product requirements and goals so that the final design meets user-needs.
3. Design solutions: Develop a design for a final product based on findings from the previous stages.
4. Evaluate against requirements: Evaluation through usability testing for each previous stage of design.

Data Description
The Copernicus Program is a network which collects data through a variety of sources such as EO satellites, and sensors on the Earth's surface. Other open source OpenLayers extensions used include the sidebar-v2 4 and the ol-layerswitcher 5 .

Expert Interviews
To gather the necessary information to design the prototype with the needs of the end-users of the CLC+ project in mind, four expert interviews were conducted with professionals in the field of cartography. The goal was to gather viewpoints from various experts in different specialties in the field of developing GIS applications. The interviews were conducted with: a GIS front-end developer, an EO/GIS software engineer, the CLC+ raster product project manager, and an expert and manager in GIS emergency management dashboards.
Each interview was conducted one-on-one over video chat. The questions were focused on discussing the needs of the end-user, technical aspects to include, and potential data sources. With the expert's consent, each interview was recorded and the findings from the interview were gathered and studied to be implemented in the final end product.

Findings
Some of the main findings of the expert interviews are summarized below and placed in the context of the research questions.

Research Question 1
"The typical user of these products will be an expert." "The main need for the end user is to deliver raster Geo-TIFF products for experts and public." "The information content that you get is probably the most important concept for the end user. Working stable and fluid is probably more important than having the nicest possible design if you have to make a compromise." "It is more important to get the best data instead of visualizations."

Research Question 2
"Creating visualizations as microservices, that helps. The point here is that you have a lot of data and you can scale microservices quite easily. So if you want to do some visualization services with big data these microservices can be scaled and this could be done much easier. Yeah all in all it can make the code more reusable so it runs for other projects." "Another benefit is that you can have the code which is doing the visualizations on the fly in the microservice. Everything is much lighter."

Research Question 3
"So the projects that we've had lately are ones where the user has wanted to be integrated. So that the user can also be active, and getting the full picture, and getting the full capabilities where they can choose the time frame for example. The users also get more informed so they can bring in their own ideas." "It's getting more democratic and more accessible with open source tools." "Some projects in the field are more desirable to have a finished product where their user feels in control of the project and the end product is more "theirs."

Prototype development and discussion
The research questions helped to define the development goals of the prototype, and the results from the expert interviews were used to inform decisions made for many of the prototype's development strategies. We chose to complete the development after the initial expert interviews to incorporate UCD as a core tenet of the development strategy.
Research Question 1 can be summarily broken down to the question, "What is needed in this prototype?", both in terms of data and functionality. The objective in answering the question was to obtain the needs of the end-users who would be operating on a visualization associated with the CLC+ project. One of the core ideas taken from the interviews is that any visualization for a project such as CLC+ would need to prioritize the functionality and usability of the application over the appearance. This is supported by multiple experts that stated the potential end users would mostly be experts in the field, so the appearance is not as important as the capabilities. Feedback such as this was integral to drive the development direction towards ensuring additional functionality of data analysis when users engaged with the application.
Research Question 2 is aimed at gathering the technical aspects needed to develop the prototype, and the possibilities of integrating this product into larger cartographic workflows. The experts knowledgeable in microservices conveyed how lightweight the application would be when built merely as a microservice. A significant hurdle when developing GIS applications is the size of geospatial data. Multiple experts also indicated the benefit of developing cartographic visualizations as microservices is related to the ability to handle large amounts of data simultaneously. The feedback from the experts also directly influenced the choices made to create the development stack of the application.
The goal of Research Question 3 was to gain an understanding as to why developing tools such as this prototype could be helpful in the first place. The consensus from the experts is that tools such as this offer value to users for multiple reasons. One reason being that the unified presentation of large amounts of geospatial data in an interactable tool offers the user an opportunity to explore different datasets with relative ease. This is an important aspect when dealing with time-related land cover data, and provides an avenue to compare similarities and differences of locations without having to invest large amounts of effort into the process. Another point multiple experts expresses was that users feel more empowered over their actions when they can explore data in visualizations such as this. This interactability helps users feel a sense of ownership of the results when they can actively define the parameters from which the statistics are drawn from the data source.

Application of data
The CLC raster products are freely available from the Copernicus Land Monitoring website via a WMS. The layers from 2000-2018 were chosen to normalize the six year temporal period within the visualizations of maps and statistics. The dataset from 1990 was omitted due to the ten year period between it's release and the subsequent CLC product in 2000. The layers were then all integrated in to the web application as tiled image layers to increase the efficiency of loading time for the entire application.
The CLC vector products are not publicly available via a WFS, so a GeoServer was prepared for the application to access the vector layers over the internet via WFS standards. The geopackages available for download from the official CLC inventory are not compatible with GeoServer, the geopackages were first added to a Geodatabase. Once the Geodatabase was ceated, the layers were uploaded into GeoServer and a WFS was then configured for each year's vector layer. The vector layers and all features were then available for querying from within the prototype.

Time series visualization prototype
The web application which presents the time series visualization prototype was written with node.js 6 , css/scss, and html documents. The information collected in the interviews helped to inform the decisions we made to choose the development stack. Such as when one expert said this, "for front ends there is node.js which is widely used with the OpenLayers library. It's is a good tool to actually visualize the maps you want to create." Upon further research, OpenLayers was chosen as the JavaScript library to present the maps in the prototype due to the impressive amount of functionalities in the application programming interface (API). This choice was led in part by other expert feedback like, "here on OpenLayers.org you can get an impression of what they are doing. So, it is basically a library to create virtual interactable maps like these. I always use the API, which has a super strong library, so you can search for so many things you might want use in your application." Every WMS layer used was added to the map via an Open-Layers protocol. When a user clicks at any location on the map, a pop-up opens over the coordinates of the click. The pop-up displays the land cover class at those coordinates for each of the four years as a time series. This is completed by using the GetFeatureInfo operation of the different WMS layers at each click location and presents the data via an html pop-up.
We chose to create a GeoServer to serve the CLC vector layers via a WFS due to the increased flexibility vector data analysis offers. Although the data was difficult to prepare and serve due to the large size of the datasets, it ultimately helped provide deeper level analysis into the feature data. Serving the vector data via a WFS also allows users to explore more of the data. One such example is a feature in our application which executes when a user holds the control/command key down and drags a bounding box across the map. When the key is released, the prototype provides a time series in the form of yearly statistics in the side panel. We chose to make the effort to include this data in part due to the feedback from multiple experts mentioning the increased abilities of a WFS, such as the quote below from the CLC+ raster product manager.
"We have a vector product, which is made of polygons. And with this there are 18 classes of attributes also attached to that like building height, composition of the land cover, then other attributes from other Copernicus products like phenology or tree cover density. I think that's much richer in terms of information content and also then probably something that is, let say, more options to play a bit." The statistical data are retrieved from the project-built GeoServer using a GetFeature url to the WFS with jQuery ajax calls. Each call gathers all of the features that fall within the user defined bounding box. The actual vector layers are never added to the map. The features of the layers are only queried when the user defines the area of interest (aoi). This speeds up the application loading time.
When adding each WFS layer directly to the map, the performance of the application is nearly unusable so an effort to avoid adding unnecessary data was made. The ajax data response provides KML data of the features, where it is parsed and cleaned to be used for the statistical analysis in the visualizations within the side bar of the map. When the side bar is opened, users can view the change over time in terms of land cover percentages for the feature coverage across each year.
To create a time series slider for the WMS layers, the following steps were taken. First, a div element was created inside the map div element in the html file. In this div, the current year of the slider was specified. Then, within the JavaScript file a jQuery function is configured to recognize when the input year is changed by moving the slider. On this change, the opacity parameter of the desired WMS layer corresponding to the time slider year is changed to "0", while the opacity value for the other years are set to "1" instantaneously.
The time series visualization prototype is available to view at the URL below and a screenshot of the website can also be seen in Figure 3.

Future work
There are avenues available for further research into time series visualization tools for this prototype. One could reasonably use the GetFeature calls to the WFS layers to compute any sort of statistical values and trends on the fly from the KML response to the user defined aoi. Currently, the prototype only presents the yearly percentages of each land cover type, however, other analysis models could be applied to the data to gain further insight into the trends over time.
A user study will be completed in the near future to gather both qualitative and quantitative data on the prototype. We plan on completing user interviews, and distributing a task with a follow up survey. Adhering to UCD principles, many of the participants in the user study will be experts who could use the product in their professional and personal projects. Their feedback is also planned be implemented into the prototype.

Conclusion
In this article, it is shown how a microservice can be configured to create a Web GIS application to view time series of land cover/land use data from a variety of sources in a unified manner. User centered design principles have been used at each stage to evaluate and influence the design and development of the application for the end-users. The visualization shows how applications can be derived which help present the potential CLC+ data in a way which adds value to the inherent data. These results present ways to display time series data in an intuitive, clean format that meets the needs of the defined end-users.

Acknowledgements
This work was completed at the Technical University of Munich in cooperation with GAF AG in Munich. The CLC data from the Copernicus Land Monitoring Service has been jointly implemented by the European Environment Agency (EEA) and the Joint Research Centre (JRC) since 2011.