Universität Zürich Logo

GEO454: Geovisualization | Ukraine Strike Analysis

University of Zurich | GEO454 Geovisualization

Temporal and Spatial Strike Density in Ukraine

This project visualizes geolocated strike events in Ukraine and relates them to selected forms of civilian infrastructure like hospitals and shelters. Using strike data from GeoConfirmed.com, OpenStreetMap infrastructure data, and aggregated casualty information by the UN, the Map explores where strike exposure, civilian spaces, and humanitarian risk overlap.

The goal is not to provide a complete overview of the war, but to make spatial and temporal patterns visible and easier to explore. By focusing on heatmap analysis, spatial patterns and changes over time, the project aims to help users identify areas where civilians may face increased insecurity and displacement pressure due to the war.

Project Overview

1

This project examines how verified strike events, civilian infrastructure, and casualty patterns interact across Ukraine. It focuses on the possible gap between places that may be perceived as safe because of nearby civilian infrastructure and places that are repeatedly exposed to strike activity.

The analysis combines geo-confirmed strike locations with OpenStreetMap data on hospitals and shelters. These layers are displayed as a map in an interactive Map that allows the user to explore regions with a high strike density, strong presence of civilian infrastructure deemed safe, how these patterns relate to each other and identify areas where strike density and civilian exposure overlap in the broader context of civilian harm.

The website is designed for students, researchers and the wider public. It aims at providing a concrete entry into the spatial dimension of conflict-related civilian risk. The Map is designed to be accessible without any specific GIS knowledge, allowing a broad audience to explore the displayed spatial patterns of conflict.

Research Question

How do geolocated strike events, civilian infrastructure, and casualty patterns interact across space and time in Ukraine, and what do these relationships reveal about civilian exposure and displacement pressure?

Hypothesis 1 Areas with a high density of civilian infrastructure, such as hospitals and shelters, are not necessarily associated with lower strike exposure, but overlap with areas of repeated strike activity.
Hypothesis 2 Strike events located close to civilian infrastructure are associated with higher civilian vulnerability, especially in regions where casualty numbers increase over time.
Hypothesis 3 Temporal clusters of strikes near civilian infrastructure indicate shifting zones of insecurity, which may increase pressure on civilians to leave areas that were previously perceived as safe.

Relation to UN Sustainable Development Goals (SDG)

2

In 2015, more than 190 countries adopted two major and ambitious agreements: the UN 2030 Agenda for Sustainable Development and the Paris Agreement on climate change. The 2030 Agenda sets out 17 Sustainable Development Goals, covering a wide range of objectives, including ecosystem protection, sustainable cities and economies, energy, and other key areas of global development.

This project relates to SDG 11 and SDG 16 by showing how armed conflict affects civilian spaces and urban resilience. SDG 11 focuses on making cities and communities safe, inclusive and resilient. In this context, the Map highlights how hospitals, shelters and surrounding settlements may remain exposed to violence despite their civilian function. Additionally, it relates to SDG 16, which addresses peace, justice and strong institutions. By visualizing verified strike events and their spatial relationship to civilian infrastructure, the map supports a clearer understanding of insecurity, civilian vulnerability, and the need for evidence-based humanitarian awareness.

Strike Map

3

Explore the spatial and temporal distribution of verified strike events across Ukraine. It should be read as an exploratory visualization rather than a complete conflict database. It emphasizes confirmed and geolocated events and therefore only shows patterns in documented data, not the full extent of all war-related actions.

Please click on "Month" to choose the displayed time period.

Methods, Findings & Data

4

Methods

The analysis follows a layered geovisualization approach. First, verified strike events are mapped across Ukraine. Second, civilian infrastructure points are added to represent hospitals and shelters. Third, the spatial relationship between strike activity and infrastructure is explored through proximity, density, and temporal patterns. This workflow makes it possible to identify areas where repeated strikes occur near civilian spaces. It also helps users compare local strike exposure with broader casualty trends, which adds a temporal perspective to the interpretation of civilian vulnerability.

For intersetions between strikes and infrastructure, an impact radius of 1.3 kilometers (via Missile Defense Advocacy Alliance) was added to the strike point data and intersections with infrastructure polygons were counted. To keep the attribute fields like monthly time data, spatial joins were made with the function one to many, deliberately, as hospitals and shelters hit multiple times should be counted multiple times. The strike density is visualized as a kernel density per month and categorized appropriately.

The dashboard was enriched by a bar chart depicting the ukrainian civilian casualties in the same temporal aggregation to give an idea of the whole time frame, and indicators of killed and injured civilians per month.

Findings

Rather than providing a fixed answer to the research question and hypotheses, we aimed to provide a framework to expore them with our interactive map for each user individually. The map enables users to examine spatial and temporal patterns themself and to critically assess the relationships between verified strike events, civilian infrastructure and casualty patterns. In this sense, the map does not present a single final result, but provides an interactive framework through which users can investigate the research question and evaluate the hypotheses based on their own opition and exploration of the data.

Data

  • Strike Events: GeoConfirmed data provides the core event layer. Each point represents a verified and geolocated strike-related event that can be explored spatially and temporally.
  • Civilian Infrastructure: OpenStreetMap data is used to represent selected civilian spaces including hospitals and shelters. These features help indicate where civilians may seek services, care or protection.
  • Civilian Casualties: Aggregated civilian casualty information provides contextual evidence of changes from human perspective of the war over time. It is used to support interpretation rather than to explain individual events.

Important Limitations to keep in Mind

GeoConfirmed only includes events that could be documented and verified. OpenStreetMap coverage may vary between regions. Casualty figures are aggregated and cannot be directly attributed to individual mapped events. The Map should therefore be interpreted as a tool for detecting patterns and critical exploration, not as a complete measurement of conflict impacts.

Reflection

5

This project aimed to make the spatial and temporal patterns of strike events in Ukraine accessible and understandable for a broad audience. During the design process we considered the content of the course, in order to keep the visual structure simple and focused, so that the map, the time filter, and the thematic layers are understandable for a broad audience, without requiring advanced GIS knowledge. Nevertheless, during the implementation we ran into some technical and visual issues revealing several limitations.

The first point relates to the temporal slider in the ArcGIS Map. In our understanding, the current time slider is not fully intuitive, since individual months are not marked with clear ticks. As a result, selecting a specific month feels imprecise. Additionally, the platform used does not allow to implement arrows to move step by step through consecutive months. Instead, each month must be selected manually with the mouse, which makes it hard to see consecutive spatial strike patterns in the map, resulting in a less intuitive month-to-month comparison. Furthermore, the expanded time slider cannot be permanently displayed in a clean way. Instead, it covers part of the Map while switching between individual months. It is also not obvious to the observer that the timeline is accessed through "Month", which is why we had to explain this application in the text over the map.

A further issue relates to the concept of change blindness. Since a lot of point data is visualized in the map, the temporal interpretation can be challenging. Smaller changes between months may be hard to notice, especially since users have to switch manually between the individual months, due to the limitations of the time scale. This causes shifts in strike density or local changes in the data to be less visible. We thought about solving this issue with an animation that automatically moves through the monthly time steps in relation to the respective magnitude of change (MOC), where periods with a larger MOC would be visualized more slowly, giving the observer more time to notice relevant differences between months. However, this would also reduce the interactivity of the map, since users would no longer be able to select individual months directly.

Furthermore, we had an issue regarding the strike density displayed as a heatmap. Our ArcGIS Online license only allowed us to visualize vector data but no raster data. However, for this project, a heat map derived from raster data would have been more intuitive and visually pleasing. As a result, we had to perform additional data processing in order to change the raster-based heat map to a heatmap-like visualization using vector-based data. This made the workflow more complex and limited the appearance of the final result. We also would habe liked to adapt the map extend when first loaded to the borders of Ukraine, so that the whole country is shown at the beginning. However, this turned out to be muh more complicated than expected, which is why the user now has to first scroll out once to see the whole Ukraine. With further improvements, this defenitely would be something we would like to adapt.

Additionally, we had some issues with the performance of the webpage itself. Due to the combination of animations, embedded Map elements, and the interactive map, the webpage can sometimes feel slightly laggy, especially when several visual elements load at the same time. We tried to address these performance issues by optimizing the webpage for Google Chrome and limiting unnecessary visual effects where possible. Although these adjustments improved the webpage performance, minor delays and some visual lags cannot be fully excluded at this stage. We are aware of these issues and are therefore aiming at improving the performance and stability of the webpage.

Overall, the ArcGIS Dashboard provided a useful framework for building an interactive map. However, we would choose a different platform for another project, since ArcGIS Dashboard came with some restrictions regarding the design and interaction options. A more flexible platform such as R Shiny or Python would likely be more suitable for future work, since they provide more possibilities and are less restrictive in terms of map design and visualization, allowing more control over the layout, the temporal interface, the visual representation of density patterns and the overall user experience.

During the process of this project, ChatGPT has been used to help with programming the webpage and to correct for grammar.

About Us