WorldView-2 Orthorectification - Input and Output are the same

Context

I’m trying to orthorectify a WorldView-2 image using an SRTM DEM in the QGIS GUI.

Configuration setup

My system: Windows10
Version of the OTB: 8.0.1-Win64
QGIS version: 3.22.6-Białowieża
QGIS code revision: b6f33b1a
Qt version: 5.15.2
Python version: 3.9.5
GDAL version: 3.4.2
GEOS version: 3.10.2-CAPI-1.16.0
PROJ version: Rel. 9.0.0, March 1st, 2022
PDAL version: 2.3.0 (git-version: 1c17a7)

Description of my issue

I am using the QGIS GUI to orthorectify the WV2 image with the SRTM DEM. So far, any results that I get look exactly like the input (still clearly offset). I have tried various settings for the map projection and the parameters.

My data: The input image is a WorldView2 .TIF file. In the same directory I also have a .IMD, .RPB, . TIF.aux.xml, .TIF.ovr, .TIL, .wld, .XML for the WV2 image. For the DEM I have a single .tif file in a separate folder. The DEM is a SRTM obtained from USGS Earth Explorer.

According to the documentation, one possibility may be that I am not “hiding the map projection”, but I don’t know how I would achieve that since I cannot extend the input path when using the GUI to include “?&skipcarto=true”. Does anyone know how I could do that? Or is my issue perhaps something else?

Sorry for all these questions. I am still trying to make sense of all of it - I hope someone might know what I am missing here!

Many many thanks in advance.

Below: My console log when running the Orthorectification tool, and the ReadImageInfo results.


Console log

QGIS version: 3.22.6-Białowieża
QGIS code revision: b6f33b1a
Qt version: 5.15.2
Python version: 3.9.5
GDAL version: 3.4.2
GEOS version: 3.10.2-CAPI-1.16.0
PROJ version: Rel. 9.0.0, March 1st, 2022
PDAL version: 2.3.0 (git-version: 1c17a7)
Algorithm started at: 2022-04-30T15:46:56
Algorithm ‘OrthoRectification’ starting…

Input parameters:

{ ‘io.in’ : ‘D:/WV2/new_WV2.tif’, ‘io.out’ : ‘TEMPORARY_OUTPUT’, ‘map’ : ‘utm’, ‘map.utm.zone’ : 33, ‘map.utm.northhem’ : True, ‘outputs.mode’ : ‘auto’, ‘outputs.ulx’ : 0, ‘outputs.uly’ : 0, ‘outputs.sizex’ : 0, ‘outputs.sizey’ : 0, ‘outputs.spacingx’ : 0, ‘outputs.spacingy’ : 0, ‘outputs.lrx’ : 0, ‘outputs.lry’ : 0, ‘outputs.ortho’ : None, ‘outputs.isotropic’ : True, ‘outputs.default’ : 0, ‘elev.dem’ : ‘D:\DEM’, ‘elev.geoid’ : ‘’, ‘elev.default’ : 0, ‘interpolator’ : ‘bco’, ‘interpolator.bco.radius’ : 2, ‘opt.rpc’ : 10, ‘opt.gridspacing’ : 4, ‘outputpixeltype’ : 5 }

2022-04-30 15:46:57 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO): Loading metadata from official product
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: using DEM directory (D:\DEM)
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: using DEM directory (D:\DEM)
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: using DEM directory (D:\DEM)
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: using DEM directory (D:\DEM)
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: using DEM directory (D:\DEM)
2022-04-30 15:46:58 (INFO) OrthoRectification: Default RAM limit for OTB is 256 MB
2022-04-30 15:46:58 (INFO) OrthoRectification: GDAL maximum cache size is 815 MB
2022-04-30 15:46:58 (INFO) OrthoRectification: OTB will use at most 16 threads
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: setting default height above ellipsoid to 0 meters
2022-04-30 15:46:58 (INFO) OrthoRectification: Elevation management: using DEM directory (D:\DEM)
2022-04-30 15:46:58 (INFO) OrthoRectification: Generating RPC modeling with 10 points per axis
2022-04-30 15:46:58 (INFO) OrthoRectification: Generating output with size = [7514, 5646]
2022-04-30 15:46:58 (INFO) OrthoRectification: Generating output with pixel spacing = [1.99965, -1.99965]
2022-04-30 15:46:58 (INFO) OrthoRectification: Generating output with origin = [448161, 5.29443e+06]
2022-04-30 15:46:58 (INFO) OrthoRectification: Area outside input image bounds will have a pixel value of [0, 0, 0, 0, 0, 0, 0, 0]
2022-04-30 15:46:58 (INFO) OrthoRectification: Using a deformation grid with a physical spacing of 4
2022-04-30 15:46:58 (INFO) OrthoRectification: Using a deformation grid of size [3756.33, 2822.5]
2022-04-30 15:46:58 (INFO): Estimated memory for full processing: 4127.26MB (avail.: 256 MB), optimal image partitioning: 17 blocks
2022-04-30 15:46:58 (INFO): File C:/Users/Christina/AppData/Local/Temp/processing_nEevHv/5aa4ce276aa34defafb420ccf9d033b2/io_out.tif will be written in 20 blocks of 1664x1536 pixels

Execution completed in 33.59 seconds

Results:

{‘io.out’: ‘C:/Users/Christina/AppData/Local/Temp/processing_nEevHv/5aa4ce276aa34defafb420ccf9d033b2/io_out.tif’}

Loading resulting layers
Algorithm ‘OrthoRectification’ finished


ReadImageInfo

Warning 1: D:/WV2/11SEP10103528-M2AS-NP-KALKALPEN.TIF.ovr: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
Warning 1: TIFFReadDirectory:Sum of Photometric type-related color channels and ExtraSamples doesn’t match SamplesPerPixel. Defining non-color channels as ExtraSamples.
2022-05-01 09:17:16 (INFO) ReadImageInfo: Default RAM limit for OTB is 256 MB
2022-05-01 09:17:17 (INFO) ReadImageInfo: GDAL maximum cache size is 815 MB
2022-05-01 09:17:17 (INFO) ReadImageInfo: OTB will use at most 16 threads
2022-05-01 09:17:42 (INFO): Loading metadata from official product

2022-05-01 09:17:45 (INFO) ReadImageInfo:

Image general information:
Number of bands : 8
Data type : unsigned_short
No data flags : Not found
Start index : [0,0]
Size : [7513,5645]
Origin : [448161,5.29443e+06]
Spacing : [2,-2]
Estimated ground spacing (in meters): [1.99486,2.00096]
Image acquisition information:
Sensor : WV02
Image projection : PROJCS[“WGS 84 / UTM zone 33N”,GEOGCS[“WGS 84”,DATUM[“WGS_1984”,SPHEROID[“WGS 84”,6378137,298.257223563,AUTHORITY[“EPSG”,“7030”]],AUTHORITY[“EPSG”,“6326”]],PRIMEM[“Greenwich”,0],UNIT[“degree”,0.0174532925199433,AUTHORITY[“EPSG”,“9122”]],AUTHORITY[“EPSG”,“4326”]],PROJECTION[“Transverse_Mercator”],PARAMETER[“latitude_of_origin”,0],PARAMETER[“central_meridian”,15],PARAMETER[“scale_factor”,0.9996],PARAMETER[“false_easting”,500000],PARAMETER[“false_northing”,0],UNIT[“metre”,1,AUTHORITY[“EPSG”,“9001”]],AXIS[“Easting”,EAST],AXIS[“Northing”,NORTH],AUTHORITY[“EPSG”,“32633”]]
Acquisition time : 2011-09-10T10:35:27.553127Z
Image default RGB composition:
[R, G, B] = [4,2,1]
Ground control points information:
Number of GCPs = 0
GCPs projection =
Image metadata (optional):
{{“ProjectionWKT”: “PROJCS[“WGS 84 / UTM zone 33N”,
GEOGCS[“WGS 84”,
DATUM[“WGS_1984”,
SPHEROID[“WGS 84”,6378137,298.257223563,
AUTHORITY[“EPSG”,“7030”]],
AUTHORITY[“EPSG”,“6326”]],
PRIMEM[“Greenwich”,0],
UNIT[“degree”,0.0174532925199433,
AUTHORITY[“EPSG”,“9122”]],
AUTHORITY[“EPSG”,“4326”]],
PROJECTION[“Transverse_Mercator”],
PARAMETER[“latitude_of_origin”,0],
PARAMETER[“central_meridian”,15],
PARAMETER[“scale_factor”,0.9996],
PARAMETER[“false_easting”,500000],
PARAMETER[“false_northing”,0],
UNIT[“metre”,1,
AUTHORITY[“EPSG”,“9001”]],
AXIS[“Easting”,EAST],
AXIS[“Northing”,NORTH],
AUTHORITY[“EPSG”,“32633”]]”,
“TileHintX”: “7513”,
“ProductType”: “Multi”,
“RPC”: “”,
“SensorID”: “WV02”,
“AREA_OR_POINT”: “Area”,
“Mission”: “WorldView-2”,
“Instrument”: “WV110”,
“TileHintY”: “69”,
“DataType”: “3”,
“RedDisplayChannel”: “4”,
“GreenDisplayChannel”: “2”,
“BlueDisplayChannel”: “1”,
“AcquisitionDate”: “2011-09-10T10:35:27.553127Z”,
“SunElevation”: “47.1”,
“SunAzimuth”: “171.2”,
“SatElevation”: “63.3”,
“SatAzimuth”: “351.7”,
“ProductionDate”: “2011-09-11T08:58:50Z”,
}Bands[{“PhysicalBias”: “0”,
“BandName”: “C”,
“PhysicalGain”: “5.0884”,
“EnhancedBandName”: “Coastal”,
“SolarIrradiance”: “1758.22”,
“SpectralSensitivity”: “LUT1D.DIM0.SIZE = 301
LUT1D.DIM0.ORIGIN = 0.35
LUT1D.DIM0.SPACING = 0.0025
LUT1D.ARRAY = 1.93924e-06 3.33156e-06 3.2732e-06 2.78199e-06 1.7488e-06 3.34801e-06 3.55785e-06 4.38919e-06 2.94112e-06 6.21317e-06 5.37163e-06 5.00497e-06 7.41645e-06 1.35004e-05 4.53797e-05 0.000173069 0.000634651 0.00341498 0.0274284 0.132903 0.355988 0.59258 0.700719 0.739625 0.765307 0.787842 0.817088 0.838687 0.86178 0.883513 0.905055 0.917072 0.927208 0.947658 0.965088 0.979304 0.985921 0.989094 0.997236 0.974613 0.85394 0.588032 0.281577 0.0805215 0.00894615 0.00133307 0.0003609 0.000145392 7.12168e-05 3.80253e-05 1.15412e-05 9.59192e-06 5.14417e-06 1.11808e-05 1.09998e-05 1.07851e-05 9.08862e-06 1.0105e-05 1.17289e-05 6.3851e-06 1.30646e-06 1.3751e-06 8.62503e-07 6.19172e-07 7.02247e-07 8.87865e-07 9.3924e-07 1.11657e-06 9.84522e-07 7.45006e-07 8.99363e-07 1.24448e-06 3.62747e-06 1.27768e-06 4.00518e-07 5.21386e-07 2.69075e-07 4.85233e-07 3.69503e-07 1.25632e-05 0.00014168 2.39565e-06 3.06503e-07 2.7473e-07 5.19969e-07 4.87974e-07 2.69412e-07 3.10803e-07 6.51482e-08 1.769e-10 2.06764e-07 1.56239e-06 1.71434e-06 3.76485e-07 9.78272e-08 1.07281e-07 5.25843e-07 2.86289e-06 4.49334e-06 2.7912e-06 9.77366e-07 1.65592e-06 1.25872e-06 1.35006e-06 2.26827e-06 3.08804e-06 6.08055e-06 1.15782e-05 1.00862e-05 5.55949e-06 3.85934e-06 3.17286e-06 2.67182e-06 3.11772e-06 2.48961e-06 2.56662e-06 2.69687e-06 2.66657e-06 2.49631e-06 2.07413e-06 2.21763e-06 1.82216e-06 1.73999e-06 1.79846e-06 1.78097e-06 2.08078e-06 2.41026e-06 2.95564e-06 4.37817e-06 9.26286e-06 1.71525e-05 1.63404e-05 7.76378e-06 4.20687e-06 4.36152e-06 4.1979e-06 3.60385e-06 4.21227e-06 6.61165e-06 1.85337e-05 2.63714e-05 1.23596e-05 8.08582e-06 7.62016e-06 8.54114e-06 9.63216e-06 1.21937e-05 2.92224e-05 9.75796e-05 9.35745e-05 3.33406e-05 2.37882e-05 2.9829e-05 4.42465e-05 6.68887e-05 0.000152608 0.000422651 0.000256325 6.52584e-05 4.13991e-05 5.7842e-05 0.000264601 0.000711195 0.000441052 8.93762e-05 3.04976e-05 1.31372e-05 8.13006e-06 5.95634e-06 5.94402e-06 6.95574e-06 1.12493e-05 1.93408e-05 3.30614e-05 5.526e-05 0.000106194 0.000246237 0.000245793 0.000116183 6.90781e-05 0.000121558 0.00012478 0.000160506 0.000195856 0.000163724 0.000116846 9.27976e-05 7.97493e-05 7.30327e-05 6.2535e-05 7.15964e-05 6.92402e-05 6.98667e-05 7.20625e-05 5.92742e-05 4.73751e-05 5.11686e-05 3.8765e-05 2.87346e-05 2.82287e-05 4.23112e-05 2.84265e-05 2.76262e-05 3.13753e-05 3.20692e-05 2.54603e-05 1.55049e-05 1.67992e-05 1.51677e-05 1.72863e-05 1.82755e-05 1.62912e-05 1.63329e-05 2.11384e-05 1.68083e-05 1.32225e-05 9.90909e-06 9.57385e-06 9.22475e-06 1.59785e-05 1.89273e-05 1.94756e-05 1.68079e-05 1.52813e-05 1.45048e-05 1.12089e-05 9.50048e-06 7.40732e-06 6.16214e-06 4.66982e-06 4.04122e-06 3.96966e-06 3.02326e-06 3.30965e-06 2.53001e-06 3.00426e-06 3.01337e-06 3.36385e-06 3.56402e-06 4.18688e-06 4.12602e-06 5.01737e-06 5.44329e-06 5.985e-06 5.40637e-06 6.44899e-06 5.42357e-06 4.91412e-06 4.3504e-06 3.89253e-06 3.67736e-06 4.08168e-06 3.85234e-06 3.99802e-06 4.60479e-06 5.29422e-06 4.87849e-06 4.55674e-06 4.24992e-06 3.52154e-06 3.22953e-06 2.58855e-06 2.42857e-06 2.34923e-06 2.36014e-06 2.33549e-06 2.55772e-06 3.03473e-06 3.14355e-06 3.65574e-06 3.70734e-06 3.68159e-06 3.81222e-06 3.35656e-06 3.062e-06 2.69374e-06 2.45185e-06 2.09096e-06 1.87615e-06 1.59947e-06 1.51572e-06 1.47543e-06 1.5459e-06 1.6819e-06 1.89924e-06 2.46062e-06 2.89706e-06 3.43049e-06 4.07493e-06 4.31785e-06 4.56185e-06 4.84605e-06 4.70059e-06 5.04519e-06 5.03717e-06 5.58133e-06 5.772e-06 6.2806e-06 6.83109e-06 7.80214e-06 8.13898e-06”,

} … (more for the other bands, but left out here to save characters)

Dear @Christina128,

Thank you for using OTB.

I am surprised by the values you set to the parameters.

‘outputs.mode’ : ‘auto’, ‘outputs.ulx’ : 0, ‘outputs.uly’ : 0, ‘outputs.sizex’ : 0, ‘outputs.sizey’ : 0, ‘outputs.spacingx’ : 0, ‘outputs.spacingy’ : 0, ‘outputs.lrx’ : 0, ‘outputs.lry’ : 0,

Everything is set to zero?

Also, I can see that ReadImageInfo doesn’t find a RPC model.

This is required by the orthorectification. Did you apply a first process to your product with OTB? If this is the case, we know that there is an issue to read RPC model from products written by OTB.

If your product is not the output of an other OTB processing, you may want to run gdalinfo on it, to see if your product contains a RPC model. Are you sure your product is not already orthorectified?

Sincerely.
Julien :slight_smile: