X

Help Articles are product support tips and information straight from the NV5 Geospatial Technical Support team developed to help you use our products to their fullest potential.



4875 Rate this article:
No rating

FAQ about the RPC orthorectification in ENVI

 

This Help Articlereplies to FAQ about the RPC orthorectification in ENVI.

Question 1: What is the algorithm used for the RPC orthorectification ?

The following reference describes the algorithm used for RPC orthorectifcation in ENVI:

Jacek Grodecki and Gene Dial, "Block Adjustment of High-Resolution Satellite Images Described by Rational Polynomials," Photogrammetric Engineering and Remote Sensing, 69(1):59-68


Question 2: How is the RPC adjustment computed?

The RPC adjustment is a 27-parameter transformation. The RPC adjustment transforms every pixel. It is not really a polynomial warp, which only involves a few ground control points, and models the entire image using that information.


Question 3: How many GCPs are necessary for RPC adjustment?

In the previous reference, it states that for satellite based data, it is only necessary to have around 1 to 5 GCPs. These GCP should be well distributed and accurate. The GCPs are only used to improve the RPC model. The GCP adjustment is a simple shift if you use 1-2 GCPs, or an RST (Rotation/Scale/Translation) when you use more GCPs, of the RPC model.
As with regular RST warping, adding additional GCPs does not improve or change the RST model, which is different than triangulation or polynomial warping. Adding more GCPs can even introduce more error, especially if the GCPs are not well chosen. The consequence is that the result should be the same or worse with 2 versus with 30 points. This is why it is unnecessary to have 'many' GCPs.


Question 4: In the Jacek Grodecki and Gene Dial reference (p. 62) the RPC adjustment is described as a math model which contains adjustable functions. What does that mean?

The RPC orthorectification should be considered as a two steps process:

a. The pixels are adjusted according to the 27 RPC parameters

b. Then the grid is adjusted using the GCPs. During the GCP adjustment, ENVI uses an RST. This is different than the RPC adjustment which is described at the first step.

Then the resampling is done only once.


Question 5: What can explain the difference in results between 2 software packages?

It is essential to compare the same process. Therefore, only software which uses RPC adjustment could be compared with ENVI. In that case, one difference between the results from the different software packages can be the order of the warping (polynomial or triangulation) when including GCPs in the RPC warp.


Question 6: What can explain the difference between GCP position on the DEM and real position

Two things could explain such differences:

a. a high RMS error for the considered point (due to an error, for example, when the point location had been measured)

b. a shift between the GCP elevation values and that of the DEM due to the geoid elevation. If the elevation of the GCP does not match the geoid adjusted elevation of the DEM, you can get an offset.

___________________________________________

Reviewed by BC on 09/17/2014
Please login or register to post comments.
Featured

End-of-Life Policy Enforcement for ENVI 5.3 / IDL 8.5 and Earlier Versions

5/6/2024

April 1, 2024 Dear ENVI/IDL Customer,  We are reaching out to notify you of our supported... more »

How to Upgrade licenses to ENVI 6.x / IDL 9.x

12/5/2023

What is the new Upgrade function? Starting with ENVI 6.0 and IDL 9.0, we have implemented an... more »

What to do if the 'License Administrator - License Server' for the Next-Generation License Server does not start?

6/13/2023

Background: With the release of ENVI 5.7 & IDL 8.9 and the corresponding Next-Generation licensing... more »

Next-Generation Licensing FAQ

4/28/2023

  NV5 Geospatial has adopted a new licensing technology for all future releases of our ENVI, IDL... more »

The IDL Virtual Machine

6/6/2013

What is the IDL Virtual Machine? An IDL Virtual Machine is a runtime version of IDL that can... more »