[PROJ] intersects function
Even Rouault
even.rouault at spatialys.com
Sat Jun 8 14:48:30 PDT 2024
Javier,
> But the second and third I would expect
> if (W == -180.0 && E == 180.0) {
> return true;
> }
>
> if (oW == -180.0 && oE == 180.0) {
> return true;
> }
> if it covers the whole planet (from -180 to 180) it clearly
> intersects, right? Or am I missing something? (after is passes the
> first if statement on N-S)
This is mostly for symmetry with the intersection() method that needs to
deal specifically with that case where the other bounding box crosses
the antimeridian. For normal cases, for intersects(), we could remove
that extra check as you suggested, but when trying to do so, this causes
the test added in
https://github.com/OSGeo/PROJ/commit/c3c9068b54cc190ce81c1fd7ea8b62aaa4c2af97#diff-076233f62785619274b55e6b0d7e45a7d5a25c019b07046f77c2ad0504f7f92dR289
to fail. This is a edge / non-nominal case that was added when dealing
with an issue discovered by ossfuzz. Not sure what the expected result
false/true should be for a degenerate bbox with W=E=180. Not that I
think it really matters (and I'm not willing to initiate yet another
discussion about emptyness, which would be better brought to geos-dev
:-) ). The only thing that matters here is to make sure this doesn't go
into infinite recursion in those edge cases.
Comments added in https://github.com/OSGeo/PROJ/pull/4169
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20240608/1cb83a08/attachment.htm>
More information about the PROJ
mailing list