astronomy-commons / astronomy-commons/lsdb
Implement fast spatial filter unions and intersections
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 55
- Forks
- 26
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 8
Description
Feature request
We need an interface to enable multiple spatial filter unions and intersections. This feature provides a lot of flexibility when it comes to sky region selection and it allows for the decomposition of complex polygons to handle, for example, non-convex polygon regions. The following interface suggestion is merely illustrative:
catalog.search((BoxSearch() + ConeSearch()) * PolygonSearch()...)
This also tackles the issue documented in #180.
Before submitting
Please check the following:
- I have described the purpose of the suggested change, specifying what I need the enhancement to accomplish, i.e. what problem it solves.
- I have included any relevant links, screenshots, environment information, and data relevant to implementing the requested feature, as well as pseudocode for how I want to access the new functionality.
- If I have ideas for how the new feature could be implemented, I have provided explanations and/or pseudocode and/or task lists for the steps.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing spatial filter and catalog.search interfaces, then read the related issue #180. Determine the intended semantics for composing BoxSearch, ConeSearch, and PolygonSearch with unions and intersections. Done should include a defined interface that supports the requested complex-region selections.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100