-
Notifications
You must be signed in to change notification settings - Fork 0
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
Name overlaps #1
Comments
But do either packages also export those names? Your proposal is similar to JuliaGeo/GeoInterface.jl#141 no? |
Both of them do 😅 |
It would work for Rasters but GO doesn't own any of the arguments. Putting it in GOCore would help with that |
I guess it kind of is, if we're doing this metapackage thing? But I don't think this is a very widespread problem, it's really just these two and a few others that intersect, not the entire API or something. The main thing there was ArchGDAL, LibGEOS and GeometryOps. But if we're standardizing on GeometryOps then we don't necessarily need to create a blessed implementation. Rasters only overlaps with GeometryOps on three names of consequence: julia> intersect(names(Rasters), names(GeometryOps))
5-element Vector{Symbol}:
:Planar
:Spherical
:coverage
:rebuild
:reproject Planar and Spherical are shared types via GeometryOpsCore so that's fine. It's just Rasters should use GeometryOps Reproject can also be moved to GeometryOpsCore and Rasters can define a single dispatch on that. Rebuild is more internal to GeometryOps, we don't necessarily need to export it I think. |
Yeah rebuild is just my go to name for an extensible object reconstuctor. Only the Rasters one is exported.
|
I'm thinking we just try to flesh out the functions we import (maybe always explicitly with Also just realised there are a bunch more clashes between Extents.jl predicates and GeometryOps.jl predicates. Maybe we need special |
e.g
Rasters.reproject
v/sGeometryOps.reproject
, or similar overlaps.Similarly for ArchGDAL and LibGEOS, etc.
What should we do about these? One option is to define a
JuliaGeo.reproject
that dispatches based on the type of the first argument (at least with Rasters it's fairly obvious). Depending on the number of intersections, it might make sense to add some methods stubs to GeometryOpsCore.The text was updated successfully, but these errors were encountered: