Opened 17 months ago

Closed 17 months ago

Last modified 12 months ago

#6162 closed defect (fixed)

RPC transformer: RPCInverseTransformPoint() doesn't check convergence

Reported by: Even Rouault Owned by: Even Rouault
Priority: normal Milestone: 2.1.0
Component: Algorithms Version: unspecified
Severity: normal Keywords: rpc dem
Cc: warmerdam


RPCInverseTransformPoint() doesn't check that the guessed (long, lat) has converged within the tolerance and thus the transformer can return a completely wrong result.

Furthermore during the iterations, it doesn't take into account the DEM elevation, only in a post processing stage. We might get better convergence by updating it at each iteration.

Change History (7)

comment:1 Changed 17 months ago by Even Rouault

trunk r31087 "RPC: make RPCInverseTransformPoint() check convergence has been reached (#6162)"

comment:2 Changed 17 months ago by Even Rouault

Milestone: 2.1.0
Resolution: fixed
Status: newclosed

comment:3 Changed 17 months ago by Even Rouault

trunk r31097 "RPC: make RPCInverseTransformPoint() finally work on some RPCs, whose convergence is very sensitive to using valid height values, by using DEM information (#6162)"

comment:4 Changed 17 months ago by Even Rouault

trunk r31117 "RPCInverseTransformPoint(): do not immediately check error decrease to early stop iterations if the DEM elevation has just been adjusted. Avoid false convergence errors. #6162"

comment:5 Changed 13 months ago by Even Rouault

trunk r33636 "RPC: add RPC_PIXEL_ERROR_THRESHOLD and RPC_MAX_ITERATIONS transformer option to control behaviour of inverse transformer; in presence of a DEM, when going below the error threshold, make inverse transformer do a DEM adjustment before returning if not done during the current iteration; do not return the computed long,lat of the current iteration since it might not respect the error threshold (#6162)"

comment:6 Changed 12 months ago by Even Rouault

trunk r33846 "RPC inverse transformer: another round of attempts to improve convergence in some cases (#6162), add RPC_INVERSE_VERBOSE and RPC_INVERSE_LOG configuration option"

comment:7 Changed 12 months ago by Even Rouault

trunk r33871 "Test GDAL inverse RPC transformer with oscillations situation (#6162)"

Note: See TracTickets for help on using tickets.