Opened 13 years ago

Closed 13 years ago

#111 closed defect (fixed)

Grid interpolation and multiple regression inverses produce fatal errors.

Reported by: Norm Olsen Owned by: Norm Olsen
Priority: major Milestone: 3.0
Component: Library Version: svn-trunk
Keywords: Fatal Inverse Cc:

Description

The iterative inverse of all grid interpolation techniques and the multiple regression technique produce fatal errors at the boundaries of the coverage for any given definition. It is the design philosophy of CS-MAP that once a transformation and/or conversion is properly constructed, that fatal errors are precluded (assuming things like physical I/O errors are not occurring).

Change History (2)

comment:1 by Norm Olsen, 13 years ago

This is similar to tickets 107 and 109. What happens is that on the edge of the coverage, the iterative technique oscillates across the coverage boundary. Thus, the current estimate is inside, and the next is outside, the coverage boundary of the datum transformation object. As a result, the iterative inverse fails to converge, and thus we get a fatal error return.

Also, the occurence of the iterative inverse straying over the +/- 180 degree crack has been observed. This, of course, also produces a failure to converge, and also some very strange coordinate results. This situation needs to be fixed as well.

These issues appear to affect all grid interpolation modules and the multiple regression module. Need to examine any other datum shift technique which uses an iterative method and has definitive boundaries.

comment:2 by Norm Olsen, 13 years ago

Resolution: fixed
Status: newclosed

Submission produced revision 2101.

The grid interpolation (six different file formats, so six different function) and multiple regression iterative inverse functions were modified to discontinue the iterative loop upon detection of a coverage issue. Status cocerning the coverage issue is now passed up to the overall, format independent, grid interpolation function where the inverse of the fallback is properly applied as is appropriate.

Thus, the condition caused by points on the edge of the overage wandering back and forth across the coverage boundary inside the iterative inverse is now correctly reported as a coverage issue which is of the warning severity level.

Testing has shown that the results of converting points on the edge of the coverage is now different from what was obtained before, but the differences are at or below the 10 centimeter level. As these points are on the edge of coverage, they should not be encountered in normally data processing. This isssue was only discovered when an application was maipulating the CRS extents in a data selection mode. That is, the extents of several coordinate systems were being converted from one CRS to several others, and these extent points often ended up on the boundary of the datum shift coverage.

Note: See TracTickets for help on using tickets.