Hi, I’m Merlin Unterfinger. I am a Data Scientist / Data Engineer working in the Innovation, Research and Incubation (IFI) team at the Swiss Federal Railways (SBB). I have a Master’s degree in Geography with specialization in Geographic Information Science. Thematically, the fields of Computational Movement Analysis, Movement Simulation and Human Mobility are one of my strengths. During numerous projects (see GISience) I have gained professional experience and a variety of computational techniques to capture, process, analyze and visualize geographic information. In addition to the actual analysis, I'm also concerned with the required infrastructure, such as planning spatial databases, maintaining job schedulers and ETL procedures, connecting to APIs, setting up interactive dashboards to communicate the results, and running these tools in pods and containers.
Besides GIScience, photography is a great passion of mine. Born and grown up in Zurich, I am concerned with urban spaces, which experience a constant flow of change. Also, I am working with time lapse photography, which allows to capture complex processes, such as the formation of natural events or human movement patterns in active locations. Photography always presents me with exciting challenges, brings unforgettable moments and lets me see the world through other lenses.
For any inquiries please contact me.



Interface to the 'HERE' REST APIs

The hereR package provides an interface in R to the HERE REST APIs: (1) Geocode and autocomplete addresses or reverse geocode POIs; (2) route directions, get travel distance or time matrices and create isolines; (3) retrieve traffic flow and incident information; (4) request weather forecasts, reports and alerts at a specific location. Locations, routes and isolines are returned as simple features. CRAN | GitHub | More

Flexible Polyline Encoding for R

The flexpolyline R package provides a binding to the C++ implementation of the flexible polyline encoding by HERE. The flexible polyline encoding is a lossy compressed representation of a list of coordinate pairs or coordinate triples. The encoding is achieved by: (1) Reducing the decimal digits of each value; (2) encoding only the offset from the previous point; (3) using variable length for each coordinate delta; and (4) using 64 URL-safe characters to display the result. The flexible polyline encoding is a variant of the Encoded Polyline Algorithm Format by Google. CRAN | GitHub | More

3-D Trajectory Simulation in Movement Ecology

The empirically informed Random Trajectory Generator in three dimensions (eRTG3D) is an algorithm to generate realistic random trajectories in a 3-D space between two given fixpoints. The simulation is based on empirical distribution functions extracted from observed trajectories (training data) and thus reflects the geometrical movement characteristics of the mover. The eRTG3D algorithm was developed and implemented as an R package within the scope of my Master's thesis at the Department of Geography, University of Zurich. Thesis | CRAN | GitHub | More

Glacier flow model

Python package to model glaciers on a digital elevation model (DEM) based on the mass balance of the glaciers and the D8 flow algorithm applied to the ice. The model uses the linear relationship between altitude and mass balance to iteratively get the yearly accumulation and ablation for the area. Then the annual glacier flow is simulated using the D8 technique. In order to avoid pure convergence of the flow, a random impulse (nudging) is added to the flow. Video | PyPI | GitHub | More

DWT-based trajectory segmentation

Implementation of the procedure from Soleymani et al. (2017) for applying a segmentation on trajectories of turkey vultures, based on discrete wavelet transformation (DWT). GitHub | More

Modeling linguistic regions

New approach to generate continuous spatial surfaces for the manifestations of various linguistic phenomena in the Swiss-German language. The modeling is based on a Support Vector Machine (SVM) and a spatial regularization of the classification map using a Markov Random Field (MRF). Trudgill’s gravity index finds application to weight the linguistic influence of two neighboring points on each other. GitHub | More

Change detection in global temperature

Global surface temperature layers are interpolated based on a point measurement data set of the worldwide surface temperature, which has been recorded since 1950. For the spatial interpolation an universal Kriging approach is applied with additional layers for the continentality, the atmospheric distance, the North-South topographic gradient and the sun inclination angle of every pixel. GitHub | More

Earthquake visualizer

Java application to fetch and plot the worldwide earthquakes of the last week from the USGS feed in real time. GitHub | EarthquakeVisualizer