-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Materialize DimArray
or DimStack
From a Table
#739
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Rafael Schouten <[email protected]>
…a.jl into materialize
There's still a few questions that need resolving:
|
I think it's best to test that the geometry column's elements have Going forward to get the geometry column it's probably best to have |
DimensionalData.jl does not depend on GeoInterface |
Being able to interact with geometries in a generic fashion would help us interop with other packages. I also see that |
It's not about deps or timing, it's about clean feature scope. The promise here is that Rasters (and YAX) have all the geo deps and features, so non-geo people don't have to worry about them. Some of the biggest contributors here use DD for unrelated fields. I would ignore point columns here entirely and instead write the code so it's easy for Rasters to handle them. Taking the underscores off a few functions and documenting them as an real interface will help that. |
I've updated the docstrings for both the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is good, but a few minor changes are needed for it to be correct. Constructed selectors should be allowed so At can have atol
. We can just construct selector types at the outer level (they're just filled with nothing
.
Then there is a bit more dispatch needed to make the fast paths correct for At/Near/Contains with their standard behaviour.
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
…a.jl into materialize
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, a bunch of minor fixes.
Probably the main question is how Number
and DateTime
is handled
Any news on this PR @JoshuaBillson ? would be good to have this available |
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
Sorry, I've been busy with some other projects. I'll try to resolve your suggested fixes this week. Once that's done, I think we just need to update the docs for |
No worries at all, whenever you have time. There are just some nice consequences of having this, like loading GeoJSON to a vector data cube, so I'm keen to have it. |
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
Co-authored-by: Rafael Schouten <[email protected]>
…a.jl into materialize
How close is this PR to the finish line? I'm doing some dataframes-heavy things right now and found myself in a situation a few times where this would been super helpful. Haven't looked into the nitty-gritty of the code, but this looks almost ready. I can do some final polishing if that's all it takes to make this available. |
Maybe try it out? I guess it needs a rebase too. I haven't had time or a use case yet to test it so not sure if it's finished |
I believe it was 90% finished. We mostly need test cases and documentation. We'll also need to rebase, as you mentioned. One thing I noted when reading the new documentation is the inclusion of |
Okay the rebase wasn't too hard. There are a few method ambiguities - I'll sort those out. Definitely a good idea to use the automatic detection of lookup types using |
Description:
resolves #335
This PR aims to let users construct either a
DimStack
orDimArray
from a table with one or more coordinate columns.Unlike the existing contructor, rows may be out of order or even missing altogether.
Performance:
The algorithm is O(n), requiring two forward passes for each dimension to determine the correct order of rows.
1000x1000: 0.005 Seconds
2000x2000: 0.025 Seconds
4000x4000: 0.108 Seconds
8000x8000: 0.376 Seconds
Example:
Next Steps:
missing
by default).:geometry
column.