Skip to content

Commit 02ec541

Browse files
committed
ENH: Switch from Maxar to Vantor #280
ENH: Add Worldview-Legion calibration parameters for satellite 03 to 06 included
1 parent 59ba2cb commit 02ec541

File tree

15 files changed

+114
-1730
lines changed

15 files changed

+114
-1730
lines changed

CHANGES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
- **ENH: Allow exogenous data in load and stack** [#273](https://github.com/sertit/eoreader/issues/273) - by @gsalgues
1111
- **ENH: Export local incidence angles for SAR data** - by @simone-tilia
1212
- **ENH: Enhance plotting feature (remove PIL usage, manage nodata and pass kwargs to plotting functions)**
13+
- **ENH: Switch from Maxar to Vantor [#280](https://github.com/sertit/eoreader/issues/280)**
14+
- **ENH: Add Worldview-Legion calibration parameters for satellite 03 to 06 included**
1315
- FIX: Write intermediate data for loaded bands also for Custom stacks
1416
- FIX: Fix regression when stacking with a custom nodata value with VHR data to be reprojected
1517
- FIX: Fix an unprecedented case with a PNEO having different name than usual (`DIM_PNEO3_STD_2025...` instead of `DIM_PNEO3_2025...`)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ clouds, DEM and spectral indices in a sensor-agnostic way.
1818
## 🛰️ Managed constellations
1919

2020
### Optical
21-
[![Sentinel-2 SAFE and Theia Sentinel-3 OLCI and SLSTR Venus Landsat 1 to 9 Harmonized Landsat-Sentinel PlanetScope, SkySat and RapidEye Pleiades and Pleiades-Neo SPOT-6/7 and 4/5 Vision-1 Maxar (WorldViews, GeoEye) SuperView-1 GEOSAT-2](https://zupimages.net/up/25/44/vh66.png)](https://eoreader.readthedocs.io/latest/optical.html)
21+
[![Sentinel-2 SAFE and Theia Sentinel-3 OLCI and SLSTR Venus Landsat 1 to 9 Harmonized Landsat-Sentinel PlanetScope, SkySat and RapidEye Pleiades and Pleiades-Neo SPOT-6/7 and 4/5 Vision-1 Vantor/Maxar (WorldViews, GeoEye) SuperView-1 GEOSAT-2](https://zupimages.net/up/25/52/syuk.png)](https://eoreader.readthedocs.io/latest/optical.html)
2222

2323
### SAR
2424
[![Sentinel-1 COSMO-Skymed 1st and 2nd Generation TerraSAR-X, TanDEM-X and PAZ SAR RADARSAT-2 and RADARSAT-Constellation ICEYE SAOCOM Capella](https://i.postimg.cc/GhPpwwL7/sar-sensors.png)](https://eoreader.readthedocs.io/latest/sar.html)

ci/on_push/test_others.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,7 @@ def test_deprecation():
573573
def test_constellations():
574574
real_const = Constellation.get_real_constellations()
575575
assert Constellation.SPOT45 not in real_const
576+
assert Constellation.VANTOR not in real_const
576577
assert Constellation.MAXAR not in real_const
577578
assert Constellation.CUSTOM not in real_const
578579
assert Constellation.S2_E84 not in real_const
@@ -582,5 +583,6 @@ def test_constellations():
582583
assert Constellation.S1_RTC_MPC not in real_const
583584

584585
assert Constellation.is_real_constellation(Constellation.S2)
586+
assert not Constellation.is_real_constellation(Constellation.VANTOR)
585587
assert not Constellation.is_real_constellation(Constellation.MAXAR)
586588
assert not Constellation.is_real_constellation(Constellation.S1_RTC_ASF)

docs/_static/optical_sensors.png

-43 Bytes
Loading

docs/main_features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Hereunder are the paths meant to be given to the reader.
6969
| `Harmonized Landsat-Sentinel` | Main directory containing the `.tif` images,<br>i.e. `HLS.S30.T42RUS.2022241T060629.v2.0` |
7070
| `PlanetScope`, `SkySat` and `RapidEye` | Directory containing the `manifest.json` file,<br>i.e. `20210406_015904_37_2407` |
7171
| `DIMAP`<br>(Pleiades, SPOTs,<br>Vision-1, ...) | Directory containing the `.JP2` files,<br>i.e. `IMG_PHR1B_PMS_001` |
72-
| `Maxar`<br>(WorldViews,<br>GeoEye...) | Directory containing the `.TIL` file,<br>i.e. `013187549010_01_P001_PSH` |
72+
| `Vantor`<br>(WorldViews,<br>GeoEye...) | Directory containing the `.TIL` file,<br>i.e. `013187549010_01_P001_PSH` |
7373
| `SuperView-1` | Directory containing the `.shp` file,<br>i.e. `0032100150001_01` |
7474
| `GEOSAT-2` | Directory containing the `.dim` file,<br>i.e. `DE2_PM4_L1C_000000_20161107T013821_20161107T013826_DE2_12927_DE02` |
7575

docs/notebooks/dem.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@
344344
"\n",
345345
"Some products are not orthorectified by default (according what product type you bought). \n",
346346
"It may be wanted, in order to control yourself the orthorectification. \n",
347-
"**EOReader** can orthorectify VHR products: `DIMAP` (`Pleiades` and `SPOT`) and `Maxar` (`GeoEye` and `WorldView`) products.\n",
347+
"**EOReader** can orthorectify VHR products: `DIMAP` (`Pleiades` and `SPOT`) and `Vantor` (`GeoEye` and `WorldView`) products.\n",
348348
"\n",
349349
"<div class=\"alert alert-warning\">\n",
350350
" \n",

docs/optical.md

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ However, especially for SAR data, the default pixel size of GRD bands is differe
3131
| Vision-1 | {meth}`~eoreader.products.optical.vis1_product.Vis1Product` ||
3232
| SPOT 4/5 | {meth}`~eoreader.products.optical.spot45_product.Spot45Product` ||
3333
| SPOT 6/7 | {meth}`~eoreader.products.optical.spot67_product.Spot67Product` ||
34-
| Maxar** | {meth}`~eoreader.products.optical.maxar_product.MaxarProduct` ||
34+
| Vantor** | {meth}`~eoreader.products.optical.vantor_product.VantorProduct` ||
3535
| SuperView-1 | {meth}`~eoreader.products.optical.sv1_product.Sv1Product` ||
3636
| GEOSAT-2 | {meth}`~eoreader.products.optical.gs2_product.Gs2Product` ||
3737

3838
\* *Archived Landsat Collection-1 are not managed because of the tar.gz format, which is too slow to process. It is better to work on the extracted product. Landsat-9 Collection-1 products don't exist.*
3939

40-
\*\* *Maxar satellites: Worldview Legion, 2, 3, 4 and GeoEye-1 (but WorldView-1, QuickBird should work, but they don't have been tested).
40+
\*\* *Vantor satellites: Worldview Legion, 2, 3, 4 and GeoEye-1 (but WorldView-1, QuickBird should work, but they don't have been tested).
4141

4242
```{warning}
4343
Satellites products that cannot be used as archived have to be extracted before use.
@@ -64,11 +64,11 @@ Satellites products that cannot be used as archived have to be extracted before
6464
| Vision-1 | PRJ & ORTP | 0.9 m (PAN), 3.5 m (MS) |
6565
| SPOT 4/5 | L1A, L1B, L2A | 10 m (PAN), 20 m (MS) |
6666
| SPOT 6/7 | SEN**, PRJ, ORT & MOS | 1.5 m (PAN), 6 m (MS) |
67-
| Maxar* | Standard & Ortho | 0.3 to 0.5 m (PAN), 1.2 to 2.0 m (MS) |
67+
| Vantor* | Standard & Ortho | 0.3 to 0.5 m (PAN), 1.2 to 2.0 m (MS) |
6868
| SuperView-1 | L1B & L2A | 0.5 m (PAN), 2 m (MS) |
6969
| GEOSAT-2 | L1B & L1C & L1D & L1S | 0.4 m (PAN), 2 m (MS) for L1D data |
7070

71-
\* *Maxar satellites: Worldview Legion 2, 3, 4 and GeoEye-1 (but WorldView-1, QuickBird should work, but they don't have been tested).
71+
\* *Vantor satellites: Worldview Legion 2, 3, 4 and GeoEye-1 (but WorldView-1, QuickBird should work, but they don't have been tested).
7272

7373
\*\**DIMAP SEN products are orthorectified using RPCs and not the rigorous sensor model. Shift can occur. Please refer to [this issue](https://github.com/sertit/eoreader/issues/53).*
7474

@@ -184,29 +184,29 @@ The only difference with the other bands is that the cloud bands are provided in
184184
- {meth}`~eoreader.bands.band_names.CloudsBandNames.ALL_CLOUDS`: Cloud **OR** Cirrus **OR** Shadows presence (1) or absence (0).
185185
Do not take into account missing bands (i.e. for Landsat MSS constellation, `ALL_CLOUDS` == `CLOUDS`)
186186

187-
| Sensors | Cloud files | Clouds Bands |
188-
|------------------------------|-------------|-----------------------------------------------------------|
189-
| Sentinel-2 || `RAW_CLOUDS`, `CLOUDS`, `CIRRUS`, `ALL_CLOUDS` |
190-
| Sentinel-2 Theia || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
191-
| Vénµs || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
192-
| Sentinel-3 OLCI || |
193-
| Sentinel-3 SLSTR || `RAW_CLOUDS`, `CLOUDS`, `CIRRUS`, `ALL_CLOUDS` |
194-
| Landsat 8/9 || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
195-
| Landsat 7 || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `ALL_CLOUDS` |
196-
| Landsat 4/5 TM || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `ALL_CLOUDS` |
197-
| Landsat 1-5 MSS || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
198-
| Harmonized Landsat-Sentinel || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
199-
| PlanetScope || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
200-
| SkySat || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
201-
| RapidEye || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
202-
| Pleiades || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
203-
| Pleiades-Neo || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
204-
| SPOT-4/5 || |
205-
| SPOT-6/7 || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
206-
| Vision-1 || |
207-
| Maxar (GeoEye-1, WorldViews) || |
208-
| SuperView-1 || |
209-
| GEOSAT-2 || |
187+
| Sensors | Cloud files | Clouds Bands |
188+
|-------------------------------|-------------|-----------------------------------------------------------|
189+
| Sentinel-2 || `RAW_CLOUDS`, `CLOUDS`, `CIRRUS`, `ALL_CLOUDS` |
190+
| Sentinel-2 Theia || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
191+
| Vénµs || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
192+
| Sentinel-3 OLCI || |
193+
| Sentinel-3 SLSTR || `RAW_CLOUDS`, `CLOUDS`, `CIRRUS`, `ALL_CLOUDS` |
194+
| Landsat 8/9 || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
195+
| Landsat 7 || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `ALL_CLOUDS` |
196+
| Landsat 4/5 TM || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `ALL_CLOUDS` |
197+
| Landsat 1-5 MSS || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
198+
| Harmonized Landsat-Sentinel || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
199+
| PlanetScope || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
200+
| SkySat || `RAW_CLOUDS`, `CLOUDS`, `SHADOWS`, `CIRRUS`, `ALL_CLOUDS` |
201+
| RapidEye || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
202+
| Pleiades || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
203+
| Pleiades-Neo || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
204+
| SPOT-4/5 || |
205+
| SPOT-6/7 || `RAW_CLOUDS`, `CLOUDS`, `ALL_CLOUDS` |
206+
| Vision-1 || |
207+
| Vantor (GeoEye-1, WorldViews) || |
208+
| SuperView-1 || |
209+
| GEOSAT-2 || |
210210

211211
### DEM bands
212212

@@ -304,12 +304,12 @@ See the different MaskBandNames enums to discover all the available masks and ho
304304

305305
## Implemented workarounds
306306

307-
### Corrupted shapes in Maxar products
307+
### Corrupted shapes in Vantor products
308308

309-
Some Maxar products have incoherent shapes between .IMD and .TIL files (see [this issue](https://github.com/sertit/eoreader/issues/242) for more information).
309+
Some Vantor products have incoherent shapes between .IMD and .TIL files (see [this issue](https://github.com/sertit/eoreader/issues/242) for more information).
310310
EOreader applies a workaround by updating on the spot the .IMD file to allow GDAL to correctly read the product.
311311

312-
This can be blocked by setting `EOREADER_FIX_MAXAR` to `0` (as the raw product is altered and this behavior may not be desirable).
312+
This can be blocked by setting `EOREADER_FIX_VANTOR` to `0` (as the raw product is altered and this behavior may not be desirable).
313313

314314
For now it doesn't work automatically on archived or cloud-stored products.
315315

@@ -385,13 +385,14 @@ For now it doesn't work automatically on archived or cloud-stored products.
385385
- [SPOT-6/7 User Guide (2019)](https://earth.esa.int/eogateway/documents/20142/37627/SPOT-6-7-imagery-user-guide.pdf)
386386
- [Pleiades Neo](https://docs.up42.com/getting-started/data-products/pleiades-neo/)
387387

388-
### Maxar (ex Digital Globe)
389-
- [Worldview Legion](https://resources.maxar.com/data-sheets/worldview-legion-2)
390-
- [Radiometric Use of WorldView Legion 1 and WorldView Legion 2 imagery](https://resources.maxar.com/white-papers/radiometric-use-of-worldview-legion-1-and-worldview-legion-2-imagery)
388+
### Vantor (ex Maxar, Digital Globe)
389+
- [Vantor ressources](https://vantor.com/resources)
390+
- [Worldview Legion](https://vantor.com/resources/worldview-legion-datasheet/)
391+
- [Radiometric Use of WorldView Legion](https://vantor.com/resources/radiometric-use-of-worldview-legion-imagery)
391392
- [Worldviews](https://earth.esa.int/eogateway/catalog/worldview-esa-archive)
392-
- [System-Ready Imagery](https://resources.maxar.com/optical-imagery/system-ready-imagery-data-sheet)
393-
- [View-Ready Imagery](https://resources.maxar.com/optical-imagery/view-ready-imagery-data-sheet)
394-
- [Map-Ready Imagery](https://resources.maxar.com/optical-imagery/map-ready-imagery-data-sheet)
393+
- [System-Ready Imagery](https://vantor.com/resources/imagery-system-ready-1b-datasheet/)
394+
- [View-Ready Imagery](https://vantor.com/resources/view-ready-2a-datasheet/)
395+
- [Map-Ready Imagery](https://vantor.com/resources/imagery-map-ready-datasheet/)
395396
- [ISD](https://dg-cms-uploads-production.s3.amazonaws.com/uploads/document/file/106/ISD_External.pdf)
396397
- [Digital Globe Standard Imagery (old)](https://earth.esa.int/eogateway/documents/20142/37627/DigitalGlobe-Standard-Imagery.pdf)
397398
- [Digital Globe Products Guide (old)](https://www.geosoluciones.cl/documentos/worldview/DigitalGlobe-Core-Imagery-Products-Guide.pdf)
@@ -415,7 +416,7 @@ You can find a magnificent band comparison chart on the [Imagico](http://blog.im
415416

416417
- [Awesome Spectral Indices](https://awesome-ee-spectral-indices.readthedocs.io/en/latest/)
417418
- [Index consistency](https://www.indexdatabase.de/)
418-
- [WorldView Index](https://resources.maxar.com/optical-imagery/multispectral-reference-guide)
419+
- [WorldView Index](https://resources.maxar.com/optical-imagery/multispectral-reference-guide) (old)
419420
- Specific sources inside the index function documentation in {meth}`~eoreader.bands.indices`
420421

421422
*Documentation last accessed on 12/03/2025*

eoreader/bands/band_names.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ class MaskBandNames(BandNames):
579579
# -- DIMAP v1 --
580580
# None
581581

582-
# -- Maxar --
582+
# -- Vantor --
583583
# None
584584

585585
# -- Sentinel-3 --

eoreader/bands/indices.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
"CI32": ["CIRE", {"N": VRE_3, "RE1": VRE_2}],
6565
# https://github.com/awesome-spectral-indices/awesome-spectral-indices/issues/22
6666
"SBI": ["BIXS", {"G": RED, "R": NIR}],
67-
# https://resources.maxar.com/optical-imagery/multispectral-reference-guide
67+
# https://resources.maxar.com/optical-imagery/multispectral-reference-guide (disconnected...)
6868
"WV_WI": ["NHFD", {"RE1": WV, "A": CA}],
6969
"WV_VI": ["NHFD", {"RE1": WV, "A": RED}],
7070
# https://www.indexdatabase.de/db/i-single.php?id=204

eoreader/env_vars.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,14 @@
129129
Keep legacy resolution in band name (:code:`1000-00m` instead of :code:`1000m`, or :code:`0-50m` instead of :code:`0-5m`)
130130
"""
131131

132-
FIX_MAXAR = "EOREADER_FIX_MAXAR"
132+
FIX_VANTOR = "EOREADER_FIX_VANTOR"
133133
"""
134-
Fix faulty Maxar product (corrupted shapes in metadata).
134+
Fix faulty Vantor product (corrupted shapes in metadata).
135135
This requires an alteration of the raw data, hence the possibility to block it by setting this environment variable to :code:`'0'`.
136136
"""
137+
138+
# legacy, to be deprecated
139+
FIX_MAXAR = "EOREADER_FIX_MAXAR"
140+
"""
141+
Legacy for :py:const:`FIX_VANTOR`.
142+
"""

0 commit comments

Comments
 (0)