- The following Java interfaces and classes currently operate on 32-bit floats: GeoCoding, GeoPos, PixelPos. Derived classes such as TiePointGeoCoding also perform their computations using 32-bit floats, while others, e.g. PixelGeoCoding use 64-bit internally.
- Many hires applications require 64-bit precision both for internal computation and in the final delivery of results.
Background and strategic fit
With S1TBX, this is a problem for high res TerraSAR-X data. In particular when running the SAR Simulation it produces a number of artifacts in the image.
|1||Tie point interpolation|
Part of the problem is caused by the unit (lat lon in degrees, slant range time in seconds) but this should probably stay as is.
At high resolutions (< 1m), neighbouring pixels end up having the same value.
Tie Point Grids and DEMs need to be interpolated to the resolution of the data product.
Interpolators have already been made 64-bit. Now the resulting value needs to be saved as 64-bit.
|2||Tie point writing/reading|
When writing tie point grids a datatype field specifies if it is Float32 or Float64
When reading, the reader should use this field to first determine the type and then read the data accordingly
|3||Readers||All readers which create TPGs in particular for storing lat and lon data shall be changed to supprt Float64|| || |
|4||Interfaces||Access to tie point grids for the purpose of coordinate positions should be via getPixelDouble or getPixels(double)|| || |
User interaction and design
Below is a list of questions to be addressed as a result of this requirements document: