Detecting Hidden Grids in Curvilinear Coordinates https://www.hypertidy.org/posts/2026-02-07_cryptic-curvilinear-detection/cryptic-curvilinear #rstats #python #xarray #netcdf one of my broken records - here's some tooling and interesting prospects, we shouldn't need extreme expertise to detect fundamentally broken data representations :)
Detecting hidden grids in curvilinear coordinates – hypertidy-blog

hypertidy-blog

new GDAL in-dev backend for #xarray coupled directly for Multidim *and* Classic raster (and actually works, pretty good improv this week) #python

https://github.com/mdsumner/gdx

Please try it out with your most | least favourite Zarr! If you have connection issues just ask I know enough to be dangerous and I'm pretty good with #GDAL would love any feedback 🙏

GitHub - mdsumner/gdx: GDAL backend for xarray, enabling Classic or Multidim

GDAL backend for xarray, enabling Classic or Multidim - GitHub - mdsumner/gdx: GDAL backend for xarray, enabling Classic or Multidim

GitHub

RE: https://wisskomm.social/@ioer/115899330915763542

I really took a deep dive into #datashader with this map: Locals & Tourists in Germany, as derived from 67 Million Geo-Social Media Posts (2007-2022) in Germany. The data includes public shared posts from Instagram, Flickr, Twitter and iNaturalist.

I always wanted to create such a map, following the footsteps of Eric Fisher's Locals & Tourists dataset from 2011 [1].

I shared the code for producing this map here [2]. The repository is available here [3]. This includes some neat methods for various #geospatial processing tasks in #Python, such as exporting a datashader map to a #GeoTiff [4] with the help of #Xarray and #Rasterio.

Finally, all of this was created in a privacy-preserving way using #HyperLogLog, which allowed me to share the code and abstracted data publicly for full reproducibility and transparency. [6] #FAIR

Below you'll find the link to the (quite succinct) publication in Natur und Landschaft in Karten (#NuL).

[1]: https://www.flickr.com/photos/walkingsf/albums/72157624209158632
[2]: https://code.ad.ioer.info/wip/digital_traces_map/html/03_visualization.html
[3]: https://gitlab.hrz.tu-chemnitz.de/ad/digital_traces_map/
[4]: https://gitlab.hrz.tu-chemnitz.de/s7398234--tu-dresden.de/base_modules/-/blob/main/raster.py?ref_type=heads#L78
[5]: https://www.nul-online.de/article-7301410-1111/landschaft-und-natur-in-karten-.html
[6]: https://doi.org/10.71830/VDMUWW

🚀 PolSARpro update released!

This new version includes:

• a new tutorial showing how to run PolSARpro on BIOMASS data directly in the cloud via the ESA MAAP platform (no local download needed)
• access to an ALOS-1 sample dataset to get started with the tutorials
• bug fixes and stability improvements

📦 Available on conda-forge
🔗 Code: https://github.com/satim-co/PolSARpro
📘 Docs: https://polsarpro.readthedocs.io

#PolSAR #SAR #RemoteSensing #EarthObservation #OpenSource #Python #ESA #MAAP #BIOMASS #Dask #Xarray

GitHub - satim-co/PolSARpro: Re-implementation of selected PolSARpro functions in Python, following the scientific recommendations of PolInSAR 2021 (Work In Progress).

Re-implementation of selected PolSARpro functions in Python, following the scientific recommendations of PolInSAR 2021 (Work In Progress). - GitHub - satim-co/PolSARpro: Re-implementation of selec...

GitHub

I added to "band_data" a '_CRS' attribute as dict with 'url', 'wkt' & 'projjson' infos (EPSG 3857), saved the whole thing as  file and hoped  can open it in  

However  seems to have trouble finding the coordinate reference and assumes the origin is 0,0 (Extent 0.0, -8192.0 : 4096.0, 0.0).

Now, my question: where do I store the "_CRS" dict correctly? Do I also need to add a GeoTransform infos? If yes, where?

2/2 #xarray #gdal #zarr

Sorry, that I misuse this platform for my silly question:

I have a  dataset
Dimensions: (time: 1, band: 4, y: 8192, x: 4096)
Coordinates:
* time datetime64[ns] 8B 2023-06-15
* band <U5 80B 'Red' 'Green' 'Blue' 'Alpha'
* y float32 33kB 7.064e+06 7.064e+06
* x float32 16kB 1.194e+06 1.194e+06
Data variables:
band_data (time, band, y, x) uint8 134MB dask.array<chunksize=(1, 4, 1024, 1024), meta=np.ndarray>
spatial_ref int64 8B ...

1/2 #xarray #gdal #zarr

Does anybody have experience with #xarray for #numpy labeled arrays?

My use case is rather simple with a 2d ndarray and I'm mostly after easier development for myself and contributors if it's possible to switch from ndarray[:, 0] and ndarray[:, 1] to ndarray[fieldname]

#python

@jeremy beautiful, thanks. 🎉

#zarr
#xarray

@jeremy useful to add #zarr #xarray emojis? 🙏 😀

🚨 New version of xarray-grass 🚨

I'm glad to announce that I've release version 0.4.0 of xarray-grass! It comes with many improvements: 🚀 Lazy loading of GRASS space-time datasets, 📅 Better management of time dimensions, including support of units when writing relative-time series to GRASS
🗘 Automatic transposition of arrays when writing to GRASS.

Try it today !

https://pypi.org/project/xarray-grass/

@grassgis #xarray