Florian Wilhelm - Handling GPS Data with Python
If you have ever happened to need to deal with GPS data in Python you
may have felt a bit lost. This talk presents libraries starting from
basic reading and writing GPS tracks in the GPS Exchange Format to
adding missing elevation information. Also visualisation of tracks on
OpenStreetmap data with interactive plots in Jupyter notebooks is
covered. Additionally common algorithms for GPS like Douglas-Peucker
and Kalman filter are explained.
-----
If you have ever happened to need to deal with GPS data in Python you
may have felt a bit lost. There are many libraries at various states
of maturity and scope. Finding a place to start and to actually work
with the GPS data might not be as easy and obvious as you might expect
from other Python domains.
Inspired from my own experiences of dealing with GPS data in Python, I
want to give an overview of some useful libraries. From basic reading
and writing GPS tracks in the GPS Exchange Format with the help of
gpxpy to adding missing elevation information with srtm.py.
Additionally, I will cover mapping and visualising tracks on
OpenStreetmap with mplleaflet that even supports interactive plots in
a Jupyter notebook.
Besides the tooling, I will also demonstrate and explain common
algorithms like Douglas-Peucker to simplify a track and the famous
Kalman filters for smoothing. For both algorithms I will give an
intuition about how they work as well as their basic mathematical
concepts. Especially the Kalman filter that is used for all kinds of
sensor, not only GPS, has the reputation of being hard to understand.
Still, its concept is really easy and quite comprehensible as I will
also demonstrate by presenting an implementation in Python with the
help of Numpy and Scipy. My presentation will make heavy use of the
Jupyter notebook which is a wonderful tool perfectly suited for
experimenting and learning. |