Skip to content

Visualization tools

Visualization tools propose simple or more complex ways to display various types of data. Using the right library will help you explore your data efficiently.

You can play with most of the libraries described on this page by following this tutorial.

Raster Data

Raster data represent continuous spatial data, such as satellite imagery (see the Data hub page to learn more about satellite data providers), elevation models, or climatic variables. Below are some Python libraries suited for raster visualization.

Simple Raster Visualization

  • Matplotlib: For basic raster image display with customizable color maps.
  • Rasterio: For efficient reading and visualization of raster datasets, particularly georeferenced data.
  • Earthpy: For earth sciences, useful for handling and visualizing multi-band raster data.

Interactive Raster Maps

Interactive tools can provide dynamic visualization of raster data:

  • Folium: Ideal for overlaying raster images on interactive maps with transparency and other interactive features.

Advanced Raster Use Cases

For large datasets or analysis-focused visualizations:

  • Cartopy: Allows plotting raster data on maps with geographic projections.
  • HvPlot (Datashader package): Efficiently visualizes raster datasets, maintaining performance.

Vector Data

Vector data are collections of point coordinates representing specific earth observation features, or defining polygons of interest.

Scattered Points

Different Python libraries can do the trick in this case:

  • Geopandas can be used for storage, data manipulation and plot.
  • BaseMap can do the same plot job, based on matplotlib, with some colorful background maps.
  • Folium can plot interactive maps, like Google Maps, with some practical way to plot large databases (cluster points, heatmap, ...).
  • Geoplot like BaseMap is based on matplotlib.
  • Earthpy provides tools for working with spatial data, including data manipulation, visualization, and analysis, specifically designed for earth sciences.

image

Polygons

Choropleth can be a useful and easy way to visualize how a variable (numerical, string, ...) varies across a geographic area (polygon, multipolygon, ..) by plotting a map composed of colored polygons. Different Python libraries have a direct function for this :

They each have several ways of personalizing these figures.

In addition, Cartopy, Folium and Earthpy can combine choropleth and images data.

image

Meteorological data

Depending on the type, several libraries are possible :

  • Simple variables like temperature with BaseMap
  • More complex variables like wind with Cartopy
  • Mask array like snow mask (on a S2 image) with Cartopy and with Folium

image

Statistics

Several python libraries exist for making statistical (and beautiful) graphics in Python. You can use :

  • Seaborn builds on matplotlib and integrates (geo)pandas data structures
  • HvPlot which allows you to visualize and interactively explore very large data with the Datashader package.
  • Plotly, Bokeh, ...

Due to the number of interesting existing libraries, this part can be a section in its own right !

Graphical User Interfaces

While Python offers a robust ecosystem for geospatial data processing and visualization, other tools can also be highly valuable depending on the use case.

For example, QGis provides a comprehensive open-source solution for geospatial data manipulation and visualization, while GRASS GIS excels in advanced spatial analysis and processing, particularly for raster and vector data. For web-based applications, tools like MapServer and GeoServer enable the publication and sharing of interactive maps.

These solutions complement Python libraries, offering additional flexibility and capabilities for geospatial workflows and data dissemination.