Handle non-deterministic pyproj failure #2259
Merged
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.
Overview
This PR fixes a problem reported in #2257 and #2243 where
RasterioSource.get_chip()
would result in the error below:This was tracked down to be the result of
pyproj.Transformer.transform()
non-deterministically returninginf
s in some cases ... apparently due to network connectivity issues! More discussion:This PR also adds some validation code in the
Box
constructor to disallow non-finite values. This will allow similar errors to be caught earlier in the future.Checklist
needs-backport
label if the change should be back-ported to the previous releaseNotes
N/A
Testing Instructions
RasterioSource.get_chip()
raisesTypeError: slice indices must be integers or None or have an __index__ method
#2257.Closes #2257