Geospatial visualizations in python – PyData Copenhagen talk on the 27th of February

Introduction

I gave a talk on the 27th of February 2020 at PyData Copenhagen where explored different ways of visualizing geospatial data using python. The examples were created based on GPS trajectory dataset collected in (Microsoft Research Asia) Geolife project by 182 users in a period of over three years (from April 2007 to August 2012). The dataset contains 18670 files and 24.876.978 positions.

Details on where to get the dataset and how to run the examples can be found in the GitHub repository: github.com/tjansson60/geospatial

This blog post is only meant as a teaser to this repository that contains a lot of notebooks with comments and examples to redo it all locally. In the talk, I went through the following topics:

Before digging into the GitHub repository: github.com/tjansson60/geospatial I started the talk going through some basics of geospatial data:

Coordinate Reference Systems (CRS)

Geospatial data must include information about the CRS. A CRS has 2 key properties listed below, but often also has extra information as UTM zones etc:

Geoid undulation 10k scale

Datum

  • Defines the shape of the earth. Is is round as orange or elongated as a lemon? (left: 10.000 scale)
  • Common datum is WGS84 (standard in GPS and also knowns as EPSG4326).
  • Coordinates in angles.

Projection (coordinate system)

  • The mapping from the 3D object to the 2D plane.
  • Common projection is (web)Mercator (Google maps).
  • Coordinates in meters.

Projections

It is not possible to represent a sphere on a plane without distortion – but which distortion type?

  • Preserving angles
  • Preserving area
  • Preserving distance

Web Mercator – very common (Google maps). Meridians are straight lines, north is always up, but areas are very bad with latitude.
Mercator projection Square

Goode homolosine – orange peel. Areas are preserved, but not very useful for navigations
This wiki page contains ~80 different projections: wikipedia.org/wiki/List_of_map_projections

Goode homolosine projection SW

 

Kepler.gl

Among the different methods to visualize geospatial data in python kepler.gl is a relatively new (2 years old) open source tool developed by Uber. I makes it quite easy and powerful to play around with geospatial data. In the talk, I ended the presentation demonstrating a interactive map of 25.000 points from the Microsoft dataset.

 

Leave a Reply