[Geotiff] GeoTIFF spec - ModelTransformTag is not invertible

Grissom, Ed ed.grissom at intergraph.com
Fri Feb 2 11:02:29 EST 2007



GeoTIFF'ers

I have an issue with one small part of the spec, that I would like to
get resolved.   This deals with the ModelTransformationTag and is in
section 2.6 of the spec. 

The example for 'baseline GeoTIFF' is:

==============================================

For Baseline GeoTIFF, the model space is always 2-D, and so the matrix
will have the more limited form: 
        |-   -|     |-                 -|  |-   -|
        |  X  |     |   a   b   0   d   |  |  I  |
        |     |     |                   |  |     |
        |  Y  |     |   e   f   0   h   |  |  J  |
        |     |  =  |                   |  |     |
        |  Z  |     |   0   0   0   0   |  |  K  |
        |     |     |                   |  |     |
        |  1  |     |   0   0   0   1   |  |  1  |
        |-   -|     |-                 -|  |-   -|
Values "d" and "h" will often be used to represent translations in X and
Y, and so will not necessarily be zero. All 16 values should be
specified, in all cases. Only the raster-to-model transformation is
defined; if the inverse transformation is required it must be computed
by the client, to the desired accuracy.
==============================================


Note that the main diagonal contains a zero at the intersection of the
third row and the third column.   If I am not mistaken, a zero on the
main diagonal means that the matrix is NOT invertible.   I've tested
this with our matrix inversion code, and substituting a one for the zero
gives a matrix that can be inverted.


Since the paragraph immediately below this example mentions matrix
inversion, why does the example show a matrix that CANNOT be inverted ? 

In my estimation, this is a typo and a '1' should be at the intersection
of the third row and third column.  

However, the next section of the spec deals with how to translate a
"point-n-scale" description to a matrix, and shows the Z-scale of the
point-n-scale (which is typically zero for 2-D) as being inserted at
this point in the matrix.   However, any value can be inserted here
without changing any outcomes since the input "K" values for 2-D are all
zero.  In other words, any value here gives the same results except when
inverting, and then any non-zero value allows inversion where a zero
will not. 


Intergraph has been writing matrices with a 1 at this position for the
ModelTransformTag for many years.  Recently, however, we came across a
file from a customer which had a 0 there and it blew up our matrix
inversion code. 


Any arguments why this should not be changed ?

What is the process for getting the spec changed or at least amended ?

Thanks for any info or discussion. 


-- 
ed grissom
ed.grissom at intergraph.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/geotiff/attachments/20070202/e435a581/attachment.html


More information about the Geotiff mailing list