A lightweight Xarray extension for managing geospatial coordinate reference systems (CRS) using PROJ/Pyproj.
Current development status: experimental, proof-of-concept.
See the documentation.
- Provide to Xarray geospatial extensions a set of convenient tools for dealing with coordinate reference systems (CRS) in a uniform & flexible way.
- Prevent duplicating CRS-specific logic (e.g., parse, reset, formatting, checking equality, etc.) in each extension ; put it together into one reusable package instead (i.e., a lightweight Xarray extension mostly built on top of pyproj).
- Provide a common end-user API for handling CRS via Xarray accessors.
- Leverage recent Xarray features such as custom indexes. Easily compare,
combine or align Xarray datasets or dataarrays based on their CRS (via
CRSIndex
). - Consolidate the Xarray geospatial ecosystem (towards better interoperability).
- Being strongly opinionated on how CRS and other information like spatial dimensions should be represented as metadata in Xarray objects and/or in Xarray supported I/O formats. This is left to other Xarray extensions and format specifications.
- Provide a common set of tools (implementations) for re-projecting data. This highly depends on the data type (i.e., raster, vector, etc.) or application and it is best handled by other Xarray extensions. We also see XProj potentially as a lightweight dependency common to those other extensions so we want to restrict XProj's dependencies to the minimum (i.e., Xarray and PyProj).