There is a newer version of the record available.

Published June 22, 2026 | Version v1.1.1

umrlastig/footprint2graph: v1.1.1

  • 1. @geodata_paris
  • 2. ROR icon Institut national de l'information géographique et forestière

Description

footprint2graph is an open-source Python processing pipeline designed to transform GNSS trajectories recorded during outdoor recreational activities into mobility networks. It builds a graph of commonly used paths, derived from sets of observed traces collected. The resulting dataset models, for example, the mobility networks of hikers or runners within a defined area and timeframe. In the graph, edge geometries correspond to path segments reconstructed from the input trajectories.

 

The pipeline consists of several components.

  1.  First, GNSS trajectories are segmented and resampled to obtain homogeneous trajectories with respect to spatial and temporal resolution.
  2. Next, a synthetic representation of trajectories is generated through a grid-based processing approach, producing a heat map that highlights both major routes and secondary paths.
  3. This raster representation is then transformed into a vector skeleton, i.e., a graph whose edges represent the central axes of the identified movement corridors, using skeletonization operations.
  4. For each edge of the skeleton, the associated GNSS points are identified through map-matching operations. These points are subsequently grouped into trajectory segments, providing for each edge a set of individual traces to be compared and merged.
  5. The segments associated with a given edge are then merged in order to reconstruct as accurately as possible the common path followed by the different individual trajectories.
  6. Finally, a geometric adjustment step ensures the continuity of the reconstructed segments while preserving the topology of the skeleton, thereby producing the final mobility network.

 

Changelog

Added

  • Added support for trajectory reconstruction using unmatched points at each iteration. Trajectories are progressively aligned by replacing each point with the centroid of points from neighboring trajectories.

  • Added a merging step that combines the results of all iterations to produce the final mobility network.

  • Added linear extension of segment endpoints from each iteration result to identify intersections with the mobility network generated in previous iterations.

Changed

  • Improved nearest-neighbor search performance by leveraging the cKDTree spatial index from scipy.spatial, significantly reducing computation time when querying nearby points.

Fixed

  • Fixed a synchronization issue between the spatial index and the mobility network, ensuring consistency between indexed geometries and network updates.

  • Fixed incorrect conflation of maximum-curvature points when processing edges that are part of a cycle.

Files

umrlastig/footprint2graph-v1.1.1.zip

Files (4.6 MB)

Name Size
md5:cb26e95b384e5639835c4ca697cba91d
4.6 MB Preview Download

Additional details

Additional titles

Alternative title (En)
footprint2graph

Related works

Funding

Agence Nationale de la Recherche
IntForOut - Multisource spatial data INTegration FOR the Monitoring of Ecosystems under the pressure of OUTdoor recreation ANR-23-CE55-0003

Software

Repository URL
https://github.com/umrlastig/footprint2graph
Programming language
Python
Development Status
Active