GeoWombat: Utilities for geospatial data¶
Raster & Remotely Sensed Data Made Easy¶
GeoWombat provides utilities to process geospatial and time series of raster data at scale. Easily process Landsat, Sentinel, Planetscope or RGB data and others.
Common Remote Sensing Uses
Simple read/write for a variety of sensors (Landsat, Sentinel etc)
On-the-fly image transformations (reprojection)
Point / polygon raster sampling, extraction
Time series analysis
Band math (NDVI, Tasseled cap, EVI etc)
Image classification and regression
Radiometry (BRDF normalization)
Mosaic Images Example
Computation scales easily over large datasets with minimal changes to the code
# Set a reference image to align to with gw.config.update(ref_image='image_a.tif'): # Open images as Xarray DataArrays with gw.open('image_a.tif') as srca, \ gw.open('image_b.tif') as srcb: # The size of srca, srcb, and results are determined by the configuration context results = srca.sel(band=1) * srcb.sel(band=[1, 2, 3]).mean(dim='band') # Initiate computation by writing the results to file. # Mix process and thread workers to execute the task in parallel. results.gw.to_raster('output.tif', n_workers=4, n_threads=4, compress='lzw')
The package is inspired by, and built on, several key libraries for large-scale data processing, such as Dask, Geopandas, Pandas, Rasterio, and Xarray. GeoWombat interfaces directly with Xarray for raster I/O, which uses Rasterio to open raster files such as satellite images or aerial photos as Dask arrays. GeoWombat uses the Xarray register to extend the functionality of Xarray DataArrays.
One of the key features of GeoWombat is the on-the-fly handling of multiple files. In particular, GeoWombat leverages Rasterio to transform and align rasters with varying projections and spatial resolutions. In addition to simplifying the process of data alignment, GeoWombat utilizes the task graphs of Dask arrays. By default, GeoWombat loads a raster as a DataArray, which points to the raster data on file using a chunked Dask array. This task graph feature simplifies parallel computations of one or more raster files of any size.