Add Registry.getRegion(DataId) -> sphgeom.Region that returns the intersection of all regions associated with the DataUnit in the DataId.
Refactor LoadReferenceObjectsTask for SuperTask compatibility
Rename sha1 to general hash in Butler schema and API
Fix segfault in sphgeom::HtmPixelization::pixel
Registry fails to fill PatchSkyPixJoin table
Unify DataUnitRegion and DataUnitJoin
Add a region attribute to dataSetRef
Initial version implemented. Also needed a reverse-lookup (DataUnitRegistry.getByLinkName) from link-column-name to DataUnit instance (that now also knows if a region is associated with it).
Still needs cleanup and checks for corner cases in the lookup, but should unblock nlust.
pschella, I am messing with DataUnits and regionColumn too in my DM-15049 ticket. I think there should not be a conflict (I have added DataUnit.regionColumn() method too) but could you also check my my commit is not doing something that may break yours: https://github.com/lsst/daf_butler/compare/tickets/DM-15049
Note that this does not (currently) return the intersection. Multiple spatial DataUnits associated with the same DataId are not (yet) implemented due to missing support for sphgeom::ConvexPolygon::intersection.
Minor comments regarding docstring and test coverage but otherwise looks ok.
Is there a ticket for fixing sphgeom that you can link here? And in fact is there a new ticket for extending region support in butler once sphgeom is fixed?
Found some major corner cases that required completely reworking the design since the last review. So putting back in review.