-
- Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
This is not a bug, but rather a feature request and discussion opener for changes to the open_rasterio function
Currently open_rasterio (xarray version 0.11) only accepts filepath strings and does not work with In-memory rasterio.vrt.WarpedVRT objects. I have a solution (see pull request), but it's likely not the best one (Many context managers can feel odd), see example below:
# Lazy in-memory warping from UTM to WGS84 lat/lon with env: with rasterio.open(url) as src: da = xr.open_rasterio(src) print(da.crs, da.sizes) with WarpedVRT(src, crs='epsg:4326') as vrt: with xr.open_rasterio(vrt) as da: print(da.crs, da.sizes) #+init=epsg:32610 (1, 7531, 7751) #+init=epsg:4326 +no_defs (1, 5981, 9183)More detailed gist here:
https://gist.github.com/scottyhq/ae90084adaf25e3b361b096d555c45f1
Problem description
In-memory “virtual” reprojection is a key feature of rasterio (see https://gist.github.com/sgillies/7e5cd548110a5b4d45ac1a1d93cb17a3), and it would be fantastic if this worked w/ xarray and dask distributed. Many workflows require warping between WGS84 lat/lon, UTM, Google Mercator, and rasterio can handle most any other projection.
related to: #1575, #2042, #2288
dask/dask#3255
Seems like some synergy here with geoxarray and salem
@mrocklin, @fmaussion, @geoxarray