Geodata

File formats

PMTiles

PMTiles is a general format for tile data addressed by Z/X/Y coordinates. This can be cartographic vector tiles, remote sensing data, JPEG images or similar.

HTTP Range Requests are used for reading in order to retrieve only the relevant tiles or metadata within a PMTiles archive. The arrangement of tiles and directories is designed to minimise the number of requests when moving and zooming.

However, PMTiles is a read-only format: it is not possible to update part of the archive without rewriting the entire file. If you need transactional updates, you should use a database such as SQLite or PostGIS and ST_asMVT.

Mapbox Vector Tiles (MVT)

The Mapbox Vector Tiles file format stores each tile in a directory tree like /Z/X/Y.mvt. This works well for small tile sets, but updating an entire global pyramid of ~300 million tiles is very inefficient. PMTiles, on the other hand, is a single file with tiles de-duplicated, reducing the size of global vector basemaps by ~70%.

For writing, the Geospatial Data Abstraction Library (GDAL) library with SQLite and GEOS support must be installed. The MBTiles are stored in SQLite like mbtiles and can be processed with the MBTiles driver.

MBTiles

MBTiles is a container format for tile data based on SQLite. It is optimised for local access, not for access via HTTP like PMTiles.

Cloud Optimized GeoTIFF (COG)

Cloud Optimized GeoTIFF is a raster TIFF file that, like PMTiles, is optimised for reading from a cloud storage. PMTiles can also deliver other tile data, for example vector tiles. However, COG is backwards compatible with most GIS programmes that work with GeoTIFF.

GeoParquet

Parquet is an open-source, column-orientated data file format that was developed for the efficient storage and retrieval of data. It offers efficient data compression and encoding methods with optimised processing of large, complex data. GeoParquet extends Parquet with interoperable geodata types (point, line, polygon).

Data repositories

Software

Reading and writing

Geospatial Data Abstraction Library (GDAL)

provides a low-level but more powerful API for reading and writing hundreds of data formats.

https://raster.shields.io/github/stars/OSGeo/gdal https://raster.shields.io/github/contributors/OSGeo/gdal https://raster.shields.io/github/commit-activity/y/OSGeo/gdal https://raster.shields.io/github/license/OSGeo/gdal
pyogrio

provides a GeoPandas-oriented API to OGR vector data sources, such as ESRI Shapefile, GeoPackage, and GeoJSON.

https://raster.shields.io/github/stars/geopandas/geopandas https://raster.shields.io/github/contributors/geopandas/geopandas https://raster.shields.io/github/commit-activity/y/geopandas/geopandas https://raster.shields.io/github/license/geopandas/geopandas
Rasterio

reads and writes GeoTIFF and other forms of raster datasets.

https://raster.shields.io/github/stars/rasterio/rasterio https://raster.shields.io/github/contributors/rasterio/rasterio https://raster.shields.io/github/commit-activity/y/rasterio/rasterio https://raster.shields.io/github/license/rasterio/rasterio
Zarr-Python

Zarr is an open-source file storage format for chunked, compressed, N-dimensional arrays.

https://raster.shields.io/github/stars/zarr-developers/zarr-python https://raster.shields.io/github/contributors/zarr-developers/zarr-python https://raster.shields.io/github/commit-activity/y/zarr-developers/zarr-python https://raster.shields.io/github/license/zarr-developers/zarr-python
Fiona

reads and writes *.shp- and *.json data and many other formats.

https://raster.shields.io/github/stars/Toblerity/Fiona https://raster.shields.io/github/contributors/Toblerity/Fiona https://raster.shields.io/github/commit-activity/y/Toblerity/Fiona https://raster.shields.io/github/license/Toblerity/Fiona
netCDF4

is a Python interface to the netCDF C library.

https://raster.shields.io/github/stars/Unidata/netcdf4-python https://raster.shields.io/github/contributors/Unidata/netcdf4-python https://raster.shields.io/github/commit-activity/y/Unidata/netcdf4-python https://raster.shields.io/github/license/Unidata/netcdf4-python
pyModis

Collection of Python scripts for downloading and mosaicking MODIS data.

https://raster.shields.io/github/stars/lucadelu/pyModis https://raster.shields.io/github/contributors/lucadelu/pyModis https://raster.shields.io/github/commit-activity/y/lucadelu/pyModis https://raster.shields.io/github/license/lucadelu/pyModis
xmitgcm

reads MITgcm binary MDS files into xarray data structures.

https://raster.shields.io/github/stars/MITgcm/xmitgcm https://raster.shields.io/github/contributors/MITgcm/xmitgcm https://raster.shields.io/github/commit-activity/y/MITgcm/xmitgcm https://raster.shields.io/github/license/MITgcm/xmitgcm

See also

Geo wrappers

Remote sensing

Satpy

Easy to use API for sensors of satellite images like MODIS, Sentinel-2 etc.

https://raster.shields.io/github/stars/pytroll/satpy https://raster.shields.io/github/contributors/pytroll/satpy https://raster.shields.io/github/commit-activity/y/pytroll/satpy https://raster.shields.io/github/license/pytroll/satpy
sentinelsat

Find and download Copernicus Sentinel satellite imagery using command line or Python.

https://raster.shields.io/github/stars/sentinelsat/sentinelsat https://raster.shields.io/github/contributors/sentinelsat/sentinelsat https://raster.shields.io/github/commit-activity/y/sentinelsat/sentinelsat https://raster.shields.io/github/license/sentinelsat/sentinelsat
Open Data Cube

Open Source Geospatial Data Management and Analysis Software.

https://raster.shields.io/github/stars/opendatacube/datacube-core https://raster.shields.io/github/contributors/opendatacube/datacube-core https://raster.shields.io/github/commit-activity/y/opendatacube/datacube-core https://raster.shields.io/github/license/opendatacube/datacube-core
RSGISLib

or The Remote Sensing and GIS Software Library is a set of remote sensing tools for raster processing and analysis.

https://raster.shields.io/github/stars/remotesensinginfo/rsgislib https://raster.shields.io/github/contributors/remotesensinginfo/rsgislib https://raster.shields.io/github/commit-activity/y/remotesensinginfo/rsgislib https://raster.shields.io/github/license/remotesensinginfo/rsgislib

General purposes

pyproj

Python interface to PROJ, a library for cartographic projections and coordinate transformations.

https://raster.shields.io/github/stars/pyproj4/pyproj https://raster.shields.io/github/contributors/pyproj4/pyproj https://raster.shields.io/github/commit-activity/y/pyproj4/pyproj https://raster.shields.io/github/license/pyproj4/pyproj
geopython

is a GitHub organization that covers Python projects related to geodata.

pygeoapi

is a Python server implementation of the OGC-API standard suite.

https://raster.shields.io/github/stars/geopython/pygeoapi https://raster.shields.io/github/contributors/geopython/pygeoapi https://raster.shields.io/github/commit-activity/y/geopython/pygeoapi https://raster.shields.io/github/license/geopython/pygeoapi
OWSLib

is a Python package for client programming using the Open Geospatial Consortium (OGC) Web Service interface standards and associated content models.

https://raster.shields.io/github/stars/geopython/OWSLib https://raster.shields.io/github/contributors/geopython/OWSLib https://raster.shields.io/github/commit-activity/y/geopython/OWSLib https://raster.shields.io/github/license/geopython/OWSLib
pycsw

is an OGC CSW server implementation written in Python that fully implements the OpenGIS Catalogue Service.

https://raster.shields.io/github/stars/geopython/pygeoapi https://raster.shields.io/github/contributors/geopython/pygeoapi https://raster.shields.io/github/commit-activity/y/geopython/pygeoapi https://raster.shields.io/github/license/geopython/pygeoapi
pygeometa

can be used to generate metadata for spatial data sets.

https://raster.shields.io/github/stars/geopython/pygeometa https://raster.shields.io/github/contributors/geopython/pygeometa https://raster.shields.io/github/commit-activity/y/geopython/pygeometa https://raster.shields.io/github/license/geopython/pygeometa
pgeocode

Querying of GPS coordinates and municipality names from postal codes, distances between postal codes as well as general distances.

https://raster.shields.io/github/stars/symerio/pgeocode https://raster.shields.io/github/contributors/symerio/pgeocode https://raster.shields.io/github/commit-activity/y/symerio/pgeocode https://raster.shields.io/github/license/symerio/pgeocode
Arcpy

is used by Esri ArcGIS to perform geographic data analysis, data conversion, data management, and map automation.

GIS

QGIS

supports viewing, editing, printing, and analysis of geospatial data in a range of data formats.

https://raster.shields.io/github/stars/qgis/QGIS https://raster.shields.io/github/contributors/qgis/QGIS https://raster.shields.io/github/commit-activity/y/qgis/QGIS https://raster.shields.io/github/license/qgis/QGIS
GeoPandas

extends the datatypes used by pandas to allow spatial operations on geometric types.

https://raster.shields.io/github/stars/geopandas/geopandas https://raster.shields.io/github/contributors/geopandas/geopandas https://raster.shields.io/github/commit-activity/y/geopandas/geopandas https://raster.shields.io/github/license/geopandas/geopandas
regionmask

determines which geographic region each grid point belongs to.

https://raster.shields.io/github/stars/regionmask/regionmask https://raster.shields.io/github/contributors/regionmask/regionmask https://raster.shields.io/github/commit-activity/y/regionmask/regionmask https://raster.shields.io/github/license/regionmask/regionmask
Salem

extends xarray to add geolocalised subsetting, masking, and plotting operations.

https://raster.shields.io/github/stars/fmaussion/salem https://raster.shields.io/github/contributors/fmaussion/salem https://raster.shields.io/github/commit-activity/y/fmaussion/salem https://raster.shields.io/github/license/fmaussion/salem

Spatiotemporal statistics

rasterstats

Summarizing geospatial raster datasets based on vector geometries.

https://raster.shields.io/github/stars/rasterio/rasterio https://raster.shields.io/github/contributors/rasterio/rasterio https://raster.shields.io/github/commit-activity/y/rasterio/rasterio https://raster.shields.io/github/license/rasterio/rasterio
eofs

EOF analysis of spatial-temporal data.

https://raster.shields.io/github/stars/ajdawson/eofs https://raster.shields.io/github/contributors/ajdawson/eofs https://raster.shields.io/github/commit-activity/y/ajdawson/eofs https://raster.shields.io/github/license/ajdawson/eofs

Re-gridding

Pyresample

Resampling geospatial image data, primary for resampling in the Satpy library.

https://raster.shields.io/github/stars/pytroll/pyresample https://raster.shields.io/github/contributors/pytroll/pyresample https://raster.shields.io/github/commit-activity/y/pytroll/pyresample https://raster.shields.io/github/license/pytroll/pyresample
xESMF

Universal Regridder for Geospatial Data.

https://raster.shields.io/github/stars/pangeo-data/xESMF https://raster.shields.io/github/contributors/pangeo-data/xESMF https://raster.shields.io/github/commit-activity/y/pangeo-data/xESMF https://raster.shields.io/github/license/pangeo-data/xESMF

Simulation

xarray-simlab

provides both a generic framework for building computational models and a xarray extension for setting and running simulations.

https://raster.shields.io/github/stars/xarray-contrib/xarray-simlab https://raster.shields.io/github/contributors/xarray-contrib/xarray-simlab https://raster.shields.io/github/commit-activity/y/xarray-contrib/xarray-simlab https://raster.shields.io/github/license/xarray-contrib/xarray-simlab
Fastscape

provides a lot a small model components to use with the xarray-simlab modeling framework.

https://raster.shields.io/github/stars/fastscape-lem/fastscape https://raster.shields.io/github/contributors/fastscape-lem/fastscape https://raster.shields.io/github/commit-activity/y/fastscape-lem/fastscape https://raster.shields.io/github/license/fastscape-lem/fastscape
EarthSim

Tools for environmental simulation.

https://raster.shields.io/github/stars/holoviz-topics/EarthSim https://raster.shields.io/github/contributors/holoviz-topics/EarthSim https://raster.shields.io/github/commit-activity/y/holoviz-topics/EarthSim https://raster.shields.io/github/license/holoviz-topics/EarthSim

Visualisation

PyViz Tutorial

German-language tutorial that provides an overview of the Python visualisation libraries.

Cartopy

creates maps based on Matplotlib and converts points, lines and vectors between the different projections.

GeoPandas

GeoPandas examples.

Iris

implements a data model based on CF conventions, with visualisation based on Matplotlib and Cartopy.

GeoViews

Explore and visualise geographical, meteorological and oceanographic data sets.

ipyleaflet

is a Jupyter widget for Leaflet.js.

xarray-leaflet

is an xarray extension for plotting tiled maps.

Meteorology

MetPy

A collection of tools in Python for reading, visualizing, and performing calculations with weather data.

https://raster.shields.io/github/stars/Unidata/MetPy https://raster.shields.io/github/contributors/Unidata/MetPy https://raster.shields.io/github/commit-activity/y/Unidata/MetPy https://raster.shields.io/github/license/Unidata/MetPy
wrf-python

A collection of diagnostic and interpolation routines for use with output from the WRF-ARW Model.

https://raster.shields.io/github/stars/NCAR/wrf-python https://raster.shields.io/github/contributors/NCAR/wrf-python https://raster.shields.io/github/commit-activity/y/NCAR/wrf-python https://raster.shields.io/github/license/NCAR/wrf-python
windspharm

Computations on global wind fields in spherical geometry.

https://raster.shields.io/github/stars/ajdawson/windspharm https://raster.shields.io/github/contributors/ajdawson/windspharm https://raster.shields.io/github/commit-activity/y/ajdawson/windspharm https://raster.shields.io/github/license/ajdawson/windspharm

Oceanography

GSW-Python

Python implementation of the TEOS-10.

https://raster.shields.io/github/stars/TEOS-10/GSW-Python https://raster.shields.io/github/contributors/TEOS-10/GSW-Python https://raster.shields.io/github/commit-activity/y/TEOS-10/GSW-Python https://raster.shields.io/github/license/TEOS-10/GSW-Python
PyCO2SYS

Toolbox for solving the marine carbonate system and calculating related seawater properties.

https://raster.shields.io/github/stars/mvdh7/PyCO2SYS https://raster.shields.io/github/contributors/mvdh7/PyCO2SYS https://raster.shields.io/github/commit-activity/y/mvdh7/PyCO2SYS https://raster.shields.io/github/license/mvdh7/PyCO2SYS
pyoos

High level data collection library for met/ocean data publicly available.

https://raster.shields.io/github/stars/ioos/pyoos https://raster.shields.io/github/contributors/ioos/pyoos https://raster.shields.io/github/commit-activity/y/ioos/pyoos https://raster.shields.io/github/license/ioos/pyoos
UMWM

UMWM is a spectral ocean wave model.

https://raster.shields.io/github/stars/umwm/umwm https://raster.shields.io/github/contributors/umwm/umwm https://raster.shields.io/github/commit-activity/y/umwm/umwm https://raster.shields.io/github/license/umwm/umwm

Climate

PyOWM

A Python wrapper around OpenWeatherMap web APIs.

https://raster.shields.io/github/stars/csparpa/pyowm https://raster.shields.io/github/contributors/csparpa/pyowm https://raster.shields.io/github/commit-activity/y/csparpa/pyowm https://raster.shields.io/github/license/csparpa/pyowm
climpred

Verification of weather and climate forecasts.

https://raster.shields.io/github/stars/pangeo-data/climpred https://raster.shields.io/github/contributors/pangeo-data/climpred https://raster.shields.io/github/commit-activity/y/pangeo-data/climpred https://raster.shields.io/github/license/pangeo-data/climpred
xgcm

General Circulation Model Postprocessing with xarray.

https://raster.shields.io/github/stars/xgcm/xgcm https://raster.shields.io/github/contributors/xgcm/xgcm https://raster.shields.io/github/commit-activity/y/xgcm/xgcm https://raster.shields.io/github/license/xgcm/xgcm
climlab

Process-oriented climate modeling.

https://raster.shields.io/github/stars/climlab/climlab https://raster.shields.io/github/contributors/climlab/climlab https://raster.shields.io/github/commit-activity/y/climlab/climlab https://raster.shields.io/github/license/climlab/climlab
aospy

Computations that use gridded climate and weather data (namely netCDF files) and the management of the results.

https://raster.shields.io/github/stars/spencerahill/aospy https://raster.shields.io/github/contributors/spencerahill/aospy https://raster.shields.io/github/commit-activity/y/spencerahill/aospy https://raster.shields.io/github/license/spencerahill/aospy
OpenClimateGIS

Geoprocessing and computation on CF-compliant climate datasets.

https://raster.shields.io/github/stars/NCPP/ocgis https://raster.shields.io/github/contributors/NCPP/ocgis https://raster.shields.io/github/commit-activity/y/NCPP/ocgis https://raster.shields.io/github/license/NCPP/ocgis
oocgcm

Tools for processing and analysing output of general circulation models and gridded satellite data.

https://raster.shields.io/github/stars/lesommer/oocgcm https://raster.shields.io/github/contributors/lesommer/oocgcm https://raster.shields.io/github/commit-activity/y/lesommer/oocgcm https://raster.shields.io/github/license/lesommer/oocgcm
pangaea

Xarray extension for gridded land surface and weather model output.

https://raster.shields.io/github/stars/erdc/pangaea https://raster.shields.io/github/contributors/erdc/pangaea https://raster.shields.io/github/commit-activity/y/erdc/pangaea https://raster.shields.io/github/license/erdc/pangaea

Glaciology

OGGM

Open source modelling framework for glaciers.

https://raster.shields.io/github/stars/OGGM/oggm https://raster.shields.io/github/contributors/OGGM/oggm https://raster.shields.io/github/commit-activity/y/OGGM/oggm https://raster.shields.io/github/license/OGGM/oggm