opendatacube / datacube-ows

Open Data Cube Open Web Services
Other
71 stars 37 forks source link

Webmercator anti-meridian handling #1083

Closed SpacemanPaul closed 1 week ago

SpacemanPaul commented 2 weeks ago

Appears to be working now (barring various bugs in TerriaJS).

  1. Various docker image fixes.
  2. Use datacube>=1.9-rc11 for antimeridian extent fixes.
  3. 3857 (web-merc) requests that are closer to the antimeridian than the prime meridian are reprojected to 3832 (Pacific web-merc) internally.
  4. Auto publish 3832 if 3857 is published and 3832 isn't (as 3857 now breaks for half the world if 3832 is not published).
  5. Time-zone detection is simplified - old code was too "smart" for it's own good and ended up being crazy-wrong around the antimeridian in many cases. NB. for products that are local to the Pacific/anti-meridian region, "solar" time_resolution will always behave erratically - in this case you may find "summary" time_resolution behaves more consistently.

πŸ“š Documentation preview πŸ“š: https://datacube-ows--1083.org.readthedocs.build/en/1083/

codecov[bot] commented 1 week ago

Codecov Report

Attention: Patch coverage is 84.90566% with 8 lines in your changes missing coverage. Please review.

Project coverage is 93.16%. Comparing base (f298a2e) to head (b587a7f). Report is 2 commits behind head on develop-1.9.

Files with missing lines Patch % Lines
datacube_ows/index/postgis/api.py 37.50% 5 Missing :warning:
datacube_ows/ows_configuration.py 77.77% 2 Missing :warning:
datacube_ows/update_ranges_impl.py 90.90% 1 Missing :warning:
Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083/graphs/tree.svg?width=650&height=150&src=pr&token=FWCMaSEoXd&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube)](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube) ```diff @@ Coverage Diff @@ ## develop-1.9 #1083 +/- ## =============================================== - Coverage 93.28% 93.16% -0.12% =============================================== Files 53 53 Lines 7040 7056 +16 =============================================== + Hits 6567 6574 +7 - Misses 473 482 +9 ``` | [Files with missing lines](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube) | Coverage Ξ” | | |---|---|---| | [datacube\_ows/feature\_info.py](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&filepath=datacube_ows%2Ffeature_info.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube#diff-ZGF0YWN1YmVfb3dzL2ZlYXR1cmVfaW5mby5weQ==) | `90.54% <100.00%> (ΓΈ)` | | | [datacube\_ows/index/postgis/product\_ranges.py](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&filepath=datacube_ows%2Findex%2Fpostgis%2Fproduct_ranges.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube#diff-ZGF0YWN1YmVfb3dzL2luZGV4L3Bvc3RnaXMvcHJvZHVjdF9yYW5nZXMucHk=) | `94.79% <100.00%> (+0.05%)` | :arrow_up: | | [datacube\_ows/startup\_utils.py](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&filepath=datacube_ows%2Fstartup_utils.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube#diff-ZGF0YWN1YmVfb3dzL3N0YXJ0dXBfdXRpbHMucHk=) | `90.38% <100.00%> (+0.06%)` | :arrow_up: | | [datacube\_ows/time\_utils.py](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&filepath=datacube_ows%2Ftime_utils.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube#diff-ZGF0YWN1YmVfb3dzL3RpbWVfdXRpbHMucHk=) | `90.12% <100.00%> (+5.23%)` | :arrow_up: | | [datacube\_ows/wms\_utils.py](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&filepath=datacube_ows%2Fwms_utils.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube#diff-ZGF0YWN1YmVfb3dzL3dtc191dGlscy5weQ==) | `92.55% <100.00%> (+0.10%)` | :arrow_up: | | [datacube\_ows/update\_ranges\_impl.py](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&filepath=datacube_ows%2Fupdate_ranges_impl.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube#diff-ZGF0YWN1YmVfb3dzL3VwZGF0ZV9yYW5nZXNfaW1wbC5weQ==) | `86.08% <90.90%> (ΓΈ)` | | | [datacube\_ows/ows\_configuration.py](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&filepath=datacube_ows%2Fows_configuration.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube#diff-ZGF0YWN1YmVfb3dzL293c19jb25maWd1cmF0aW9uLnB5) | `94.08% <77.77%> (-0.15%)` | :arrow_down: | | [datacube\_ows/index/postgis/api.py](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083?src=pr&el=tree&filepath=datacube_ows%2Findex%2Fpostgis%2Fapi.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube#diff-ZGF0YWN1YmVfb3dzL2luZGV4L3Bvc3RnaXMvYXBpLnB5) | `89.24% <37.50%> (-4.94%)` | :arrow_down: | ... and [2 files with indirect coverage changes](https://app.codecov.io/gh/opendatacube/datacube-ows/pull/1083/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=opendatacube)