<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Enrico Zini wrote:<br>
<blockquote type="cite" cite="mid20071119122908.GA14674@enricozini.org">
  <pre wrap="">On Mon, Nov 19, 2007 at 12:21:40PM +0100, Bas Retsios wrote:</pre>
  <blockquote type="cite">
    <pre wrap="">Note that due to the large area covered by this projection (an entire 
earth's hemisphere), the "meters" are only correct near the nadir-point.
As an example, a box with bounds (xMin=-3500000, xMax=3500000, 
yMin=-3500000, yMax=3500000) would roughly include the Arfican continent 
and a great part of the atlantic ocean.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
So we're talking about a virtual kind of metre that is 1 metre long at
the nadir point but gets smaller as we move further from it.

The implementation I had (which followed directly from Eumetsat
documentation) used to work with the scaling function defined at section
"4.4.4 Scaling Function"[1],

Switching to proj I need to use ColumnDirGridStep and
LineDirGridStep[2], which I didn't see mentioned in Eumetsat's
documentation about georeferencing.  I hope that it's just the same
quantity scaled differently, and that the precision of georeferentiation
that I get in the end is the same.

Now, I need to handle some NetCDF based formats that store this
georeferentiation information in terms of CFAC and LFAC, and moving to
GDAL I'd need to rebuild ColumnDirGridStep and LineDirGridStep out of
those.

Is there a formula (it should be nothing more than a simple scaling
constant, if I get it right) that allows me to convert back and forth
from ColumnDirGridStep to CFAC (likewise for line)?


Ciao,

Enrico


[1]
4.4.4 Scaling Function

  The scaling function provides a linear relation between the
  intermediate coordinates (x,y) and the image coordinates (c,l).

  The definition is as follows:

    c = COFF + nint(x * 2^-16 * CFAC)
    l = LOFF + nint(y * 2^-16 * LFAC)

  Herein, "nint" denotes a nearest integer rounding of the real
  argument. COFF, CFAC, LOFF, LFAC are the (integer) scaling
  coefficients provided with the image navigation record. Each of the
  coefficients may have an integer value between -231 and +231-1.
[2]
  LineDirGridStep gives the grid step size in km SSP in the line
  direction. Default value is 3km for VIS and IR, and 1km for HRV. The
  on-ground grid step size of 3 km at the SSP represents an instrument
  scan step of 251.53 microrad divided by 3.
  
  ColumnDirGridStep gives the grid step size in km SSP in the column
  direction. Default value as for `LineDirGridStep'.
  </pre>
</blockquote>
The x and y as mentioned in formula [1] (4.4.4), the so-called
"intermediate coordinates" are the scan-angle of the satellite. There
is a linear relationship between the c and l (column and line of a
pixel in an MSG-image), and the angle at which this was "seen" from the
satellite.<br>
<br>
Since c and l also have a linear relationship with X and Y (meters, in
GEOS projection), you must be right when you say that there is also a
linear relationship (scaling + offset) between (x,y) and (X,Y).<br>
<br>
Calculate the relationship, given the following:<br>
<br>
The ColumnDirGridStep and LineDirGridStep values found in the header
files of the MSG images are 3004.03165817 m for bands 1-11, and
1000.134348869 m for HRV band 12. Thus not exactly 3km / 1km, but
slightly more. These values have never changed, since our institute
installed a receiver for MSG images in 2004.<br>
<br>
For bands 1-11, COFF=1856 and CFAC=-13642337, and for band 12, COFF =
5566 and CFAC=-40927014. These values have also remained the same for
all images up to now.<br>
<br>
c = COFF + x * CFAC / 65536<br>
c = X / ColumnDirGridStep<br>
<br>
Best regards,<br>
<pre class="moz-signature" cols="72">-- 
Ir. V. (Bas) Retsios
Software Developer
Geo-information Processing Department
International Institute for Geo-information Science and Earth Observation (ITC)
P.O. Box 6,  7500 AA Enschede, The Netherlands
Phone +31 (0)53 4874 573, telefax +31 (0)53 4874 335
E-mail <a class="moz-txt-link-abbreviated" href="mailto:retsios@itc.nl">retsios@itc.nl</a>, Internet <a class="moz-txt-link-freetext" href="http://www.itc.nl">http://www.itc.nl</a>


</pre>
</body>
</html>