Open forman opened 3 years ago
Implementation Plan
This plan also addresses Allow for other common spatial CRS #112.
resample_ndimage
that can do up- and downsampling for
a given affine transformation matrx.is_rectified: bool
property in GeoCoding
class.xcube.core.rectify.rectify_dataset
. To make rectify_dataset
applicable, source spatial resolution should be lower or equal target. If not, apply resample_ndimage
to source first.crs: pyproj.crs.CRS
property in ImageGeom
and GeoCoding
classes. Derive crs
in ImageGeom.from_dataset(ds)
and GeoCoding.from_dataset(ds)
by using pyproj.crs.CRS.from_cf(ds.attrs)
. Deprecate is_geo_crs: bool
argument in ImageGeom
and GeoCoding
constructors.ImageGeom.from_dataset(ds)
should also work if ds
is a rectified dataset and hence x,y coordinates are 1D arrays, e.g. lon
,lat
. GeoCoding.is_rectified
property in ImageGeom.from_dataset()
.ds.attrs.update(crs.to_cf())
.ds.attrs.update(crs.to_cf())
.ImageGeom.x_res
and ImageGeom.y_res
properties and use them where ImageGeom.xy_res
is used. Let ImageGeom.xy_res
return a tuple. Introduce ImageGeom.mean_xy_res
and use it where old ImageGeom.xy_res
was used and cannot be replaced by ImageGeom.x_res
and ImageGeom.y_res
.xcube/core/imgeom.py
. See comment "Reduce height if it takes the maximum latitude over 90° (see Issue #303).". Fix is not general enough, as y is not necessarily a latitude.ImageGeom
class.xcube.core.extract
functions so coordinates from different CRS can be used.ImageGeom
class. (#112)dask_image.ndinterp
package.pyproj.crs.from_string()
only
xcube-cci
data storexcube-cds
data storexcube-sh
data storexcube-cci
data storexcube-cds
data storexcube-sh
data store
Is your feature request related to a problem? Please describe.
Need a function or set of functions that can resample, reproject, and coregister data cubes from different sources.
Before: Any number of datasets Di each having any their own CRS, spatio-temporal resolution and coverage and number variables Vi,j After: A single dataset with a specified subset of Vi,j all resampled to the same grid, same CRS, same spatio-temporal resolution, same coverage.
Describe the solution you'd like
Input (Note, this may be split into individual spatial and temporal resampling functions):
Output:
To be considered:
Describe alternatives you've considered
Various libraries exists but none provides the generality needed here.