This library combines geometry shape classes from shapely with CRS from pyproj to provide
projection aware Geometry
. It exposes all the functionality provided by shapely
modules, but
will refuse operations between geometries defined in different projections. Geometries can be
brought into a common projection with Geometry.to_crs
method.
Based on that foundation a number of data types and utilities useful for working with geospatial
metadata are implemented. Of particular importance is GeoBox
. It is an abstraction for a
geo-registered bounded pixel plane where a linear mapping from pixel coordinates to the real world
is defined.
To make working with geo-registered raster data easier an integration with xarray is provided.
Importing odc.geo.xr
enables the .odc.
accessor on every xarray.Dataset
and
xarray.DataArray
. This exposes geospatial information of a raster loaded with Open Datacube
or rioxarray. Methods for attaching geospatial information to xarray objects in a robust way are
also provided. Geospatial information attached in this way survives most operations you might do on
the data: basic mathematical operations, type conversions, cropping, serialization to most formats
like zarr, netcdf, GeoTIFF.
For more details see Documentation.
This repository contains geometry related code extracted from Open Datacube.
For details and motivation see ODC-EP-06 enhancement proposal.