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
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.
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.
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.
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.
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).
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.
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.
Java application to fetch and plot the worldwide earthquakes of the last week from the USGS feed in