[SEDONA-286] Support optimized distance join on ST_DistanceSphere and ST_DistanceSpheroid #845
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Did you read the Contributor Guide?
Is this PR related to a JIRA ticket?
[SEDONA-286] my subject
.What changes were proposed in this PR?
where$\textrm{lat}$ , $\textrm{lon}$ is the center of the envelope; $R$ is the mean radius of the earth. The center point is expanded by $\Delta \textrm{lat}$ , $\Delta \textrm{lon}$ to obtain the envelope for coarse-grained filtering. The envelope is expanded by a constant factor
1.1
to get rid of false negatives.For spheroid and sphere distance, we use the same formula with the same$R$ value. We take the polar radius of the spheroid as $R$ (approximately 6357 km) and the resulting envelope should be inclusive.
Now the users can trigger our advanced spatial join algorithm (distance join and broadcast index join) by a ST_DistanceSpheroid and ST_DistanceSphere predicate.
100
indicates 100 meters.How was this patch tested?
Passed new unit tests
Did this PR include necessary documentation updates?