Add explicit semi-minor axes for spherical projections#735
Add explicit semi-minor axes for spherical projections#735floze-the-genius wants to merge 2 commits into
Conversation
5917d51 to
d70af9f
Compare
|
Thanks for creating this PR. It brings up an odd issue and I'm not sure how I feel about fixing it. The description you made talks about "stricter CRS consumers", but do you have any examples of what/who those are? I hesitate to include this in pyresample as it feels like we are defining/forcing defaults that the PROJ C library may be filling in on its own. I do realize PROJ is probably always defining it as you have here. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #735 +/- ##
==========================================
+ Coverage 93.68% 93.69% +0.01%
==========================================
Files 89 89
Lines 13715 13743 +28
==========================================
+ Hits 12849 12877 +28
Misses 866 866
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
You are right to question this. The concrete consumer I had in mind came from the original 2019 report in #200: Satpy GeoTIFF export through rasterio/GDAL failed even though PROJ accepted the projection. I re-ran that path against the current environment here (pyproj 3.7.2 and rasterio 1.5.0): both the |
|
Thanks for the clarification. In the future, while I can understand if the English language is a barrier, it would be nice to have a conversation with a person rather than an AI. |
Summary
aby copying them and adding an explicit matchingbb,R,ellps,datum,rf,f,es, orecreate_area_defintegration path, and existing ellipsoid parametersnumpy<2.3This keeps the historical spherical interpretation while ensuring stricter CRS consumers receive a complete ellipsoid definition. The mypy compatibility constraint is limited to pre-commit's isolated environment and does not change pyresample's runtime dependencies or Python 3.11 analysis target.
Verification
JOBS=8 .venv/bin/pytest -q pyresample/test/test_area_config.py(22 passed)JOBS=8 .venv/bin/pytest -q pyresample/test(1166 passed, 24 skipped, 2 subtests passed).venv/bin/ruff check pyresample/area_config.py pyresample/test/test_area_config.pyisolated
pre-commit run --all-files(Ruff, whitespace, EOF, YAML, Bandit, mypy, isort)git diff --checkCloses Fix incomplete areas in sample area configurations #200
Tests added
Tests passed
Fully documented
AI disclosure: OpenAI Codex assisted with investigation, implementation, and test execution; the resulting diff and test outputs were reviewed before submission.