What’s on Github?

I thought that I would post about some of the interesting things that I have come across on GitHub that relate to Earth observation. GitHub, if you aren’t a coder, is an online platform where software code can be managed, stored and shared. I just want to say up front that I haven’t tried and tested all of these, and that this isn’t an exhaustive list, but I’d be interested in hearing from you on Twitter if you are a user or developer of any of these as they all look very cool.

So here we go, ten GitHub repositories that are worth checking out….

  • Name: Sentinel-download
  • Link: https://github.com/olivierhagolle/Sentinel-download
  • Description: This is a command-line tool developed to download Sentinel data from ESA (using wget) that can access whole products or just one tile per product. It has been developed for both Windows and Linux, although the developer has moved onto other software and now states that ‘volunteers are welcome to take over its maintenance’. 
  • Name: TIN Terrain
  • Link: https://github.com/heremaps/tin-terrain
  • Description: A command-line tool for converting elevation model rasters (in GeoTIFF format) into tiled Triangulated Irregular Network (TIN) meshes. This is experimental code, and is still being developed with new commits in that last few months. Installation can be made easier by using Docker and the repository has very good documentation to help new users.
  • Name: Deep Learning Docker for Geospatial
  • Link: https://github.com/sshuair/dl-docker-geospatial
  • Description: The code repository contains DockerFiles for the most popular deep learning frameworks (specifically PyTorch and Tensorflow) with CPU and GPU support (CUDA and cuDNN included). Packaged with this are a range of machine learning and geospatial tools to make the analysis easier. It would be interesting to know how the use of these Docker containers compares to Raster Vision which has a similar goal.
  • Name: GeoLambda
  • Link: https://github.com/developmentseed/geolambda
  • Description: This project once again provides Docker images as well as AWS Lambda Layers containing common geospatial native libraries. Specifically you can access PROJ.5, GEOS, GeoTIFF, HDF4/5, SZIP, NetCDF, OpenJPEG, WEBP, ZSTD, and GDAL and the developer states that the repository can be used as a template to create your own Docker image or Lambda Layer. The point of the project is to remove the guesswork from bundling native binaries with AWS Lambda functions. There is more information available here.
  • Name: dask-rasterio
  • Link: https://github.com/dymaxionlabs/dask-rasterio
  • Description: Does what it says on the tin – provides methods for reading and writing rasters (rasterio) in parallel (dask). This project is seeking contributions on coding, documentation and testing.
  • Name: CometTS Visualiser
  • Link: https://github.com/CosmiQ/CometTS
  • Description:The Comet Time Series (TS) Visualiser is a toolset for working with remote sensing image time-series and user defined polygons. The tool is provided as a Jupyter notebook and command-line utility that enables users to visualise or extract relevant statistics from a time series of imagery within a specific area. The documentation is comprehensive and follows a worked example, so this is certainly one to have a look at.
  • Name: SentinelHub
  • Link: https://github.com/sentinel-hub/sentinelhub-py
  • Description: A Python package to help users to make WMS and WCS web requests to download and process satellite images from within bespoke Python scripts. the code currently supports the following data sources: Sentinel-2, Sentinel-1, Landsat 8, MODIS and an elevation data model.
  • Name: PyroSAR
  • Link: https://github.com/johntruckenbrodt/pyroSAR
  • Description: pyroSAR is a package that aims to provide a complete solution for the scalable organisation and processing of SAR (radar) satellite data. it is a complex project as evidenced by the involved (but clear and comprehensive) instructions for installation. One additional method of accessing this software is to have a look at the SARbian virtual machine.
  • Name: PyRate
  • Link: https://github.com/GeoscienceAustralia/PyRate
  • Description: PyRate is a Python tool for estimating the rate and time-series of surface movement from an interferometric Synthetic Aperture Radar (InSAR) data stack. The software is a partial Python translation of Pirate, an existing  Matlab tool.

If you have a favourite Earth observation GitHub project then let me know via my Twitter feed – I look forward to hearing from you.