odc-geo

Overview

The odc-geo library provides powerful tools for geospatial data manipulation in Python, including working with coordinate reference systems, grid definitions, and spatial transformations.

The library integrates closely with the Python geospatial ecosystem (including shapely and pyproj), providing a projection-aware Geometry class that simplifies complex geospatial operations. Geo-registered raster analysis is supported through an .odc. Xarray extension that is automatically added to xarray.Dataset and xarray.DataArray data loaded using the Open Data Cube or rioxarray - exposing important geospatial metadata and a variety of useful geospatial analysis tools.

Key features

  • Vector and raster reprojection: Efficiently reproject data between coordinate reference systems using high-performance reprojection utilities powered by dask

  • Geospatial metadata handling: Inspect and manipulate geo-registered raster metadata using a standardised GeoBox pixel grid model

  • Spatial grid definition: Generate precise GridSpec tile grids for seamless large-scale analysis

  • Cloud-optimised data: Export geo-registered raster data into optimised cloud-optimised GeoTIFF files

  • Spatial analysis: Rasterise, mask and clip vector and raster data

  • Interactive visualisation: Plot and explore spatial vector and raster data on an interactive map

from odc.geo.geobox import GeoBox
GeoBox.from_bbox(
   (-2_000_000, -5_000_000,
   2_250_000, -1_000_000),
   "epsg:3577", resolution=1000)

GeoBox

Dimensions
4,250x4,000
EPSG
3577
Resolution
1000m
Cell
500px
WKT
PROJCRS["GDA94 / Australian Albers",
    BASEGEOGCRS["GDA94",
        DATUM["Geocentric Datum of Australia 1994",
            ELLIPSOID["GRS 1980",6378137,298.257222101,
                LENGTHUNIT["metre",1]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["EPSG",4283]],
    CONVERSION["Australian Albers",
        METHOD["Albers Equal Area",
            ID["EPSG",9822]],
        PARAMETER["Latitude of false origin",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8821]],
        PARAMETER["Longitude of false origin",132,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8822]],
        PARAMETER["Latitude of 1st standard parallel",-18,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8823]],
        PARAMETER["Latitude of 2nd standard parallel",-36,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8824]],
        PARAMETER["Easting at false origin",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8826]],
        PARAMETER["Northing at false origin",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8827]]],
    CS[Cartesian,2],
        AXIS["(E)",east,
            ORDER[1],
            LENGTHUNIT["metre",1]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    USAGE[
        SCOPE["Statistical analysis."],
        AREA["Australia - Australian Capital Territory; New South Wales; Northern Territory; Queensland; South Australia; Tasmania; Western Australia; Victoria."],
        BBOX[-43.7,112.85,-9.86,153.69]],
    ID["EPSG",3577]]

Installation

Using pip

pip install odc-geo

Using Conda

conda install -c conda-forge odc-geo