Improved benchmarks + NDIndex expanded sel options + better slicing with sorting#13
Improved benchmarks + NDIndex expanded sel options + better slicing with sorting#13
Conversation
✅ Deploy Preview for xarray-linked-indexes ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #13 +/- ##
==========================================
+ Coverage 95.90% 99.23% +3.33%
==========================================
Files 7 10 +3
Lines 1685 2486 +801
Branches 113 142 +29
==========================================
+ Hits 1616 2467 +851
+ Misses 36 4 -32
+ Partials 33 15 -18 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
decent bit of claudeese that im still cleaning up here, but @keewis you might be interested in this https://deploy-preview-13--xarray-linked-indexes.netlify.app/alt-ndpoint/ which starts with a blob of moderately directionless human writing, followed by a fairly tight human explanation (whcih i think is right) of the difference to NDPointIndex the other difference I realized is that if I have trying to figure out where to work in your great description of selecting a plane out of a surface |
I would replace "by a distance metric" with "using a spatial data structure", as the point of the Looking at your comparison table: I'd cross out the "2D", the point is that you have n coords for n dimensions (even though xarray's implementation currently has a restriction on 2D coords). For the other case you also have n coords for n dimensions, but implicitly: you have rows, columns, and the associated values (so three coords). This is very similar to how the COO sparse matrix encoding works, and my preferred real-world example is a digital elevation model that approximates the earth's surface using x/y/height coordinates. The search then neatly becomes a "isohypse" or, more generally, "contour lines" that you would see in maps and that mark cross sections of equal height (another example is "isobar"s, i.e. lines of equal pressure in weather maps). |
|
Notes from discussion with @dcherian: DimensionInterval
lots of ways to construct intervals. see the various can't just NDIndex
see also pydata/xarray#3646 Ideas about how to represent the data in memory: Make the user come to your packages internal datastructure, everything else can be thought of as encode/decode to disk. e.g. onset/duration is a way to store intervals, but do users think about things in terms of onset and duration or do they mentally convert to intervals to think things through. question for @prlabu: do you need to keep the the onset/duration in memory, or would being able ot select based on intervals be fine? various class methods for creation examples: https://rasterix.readthedocs.io/en/latest/autoapi/rasterix/lib/index.html#rasterix.lib.affine_from_tiepoint_and_scale for time-locking don't pollute the coords with lots of derived coordinates (more memory for a very cheap thing) |
No description provided.