[GRASS5] GRASS and MODIS satellite data: ISIN projection support?

Markus Neteler neteler at itc.it
Mon Feb 11 08:46:59 EST 2002


Hi,

recently I have managed to import the MODIS (and also ASTER data)
into GRASS (both geocoded).

But... the MODIS data from TERRA mission are delivered in a sort
of unusual projection: Integerized Sinusoidal (ISIN) projection.

http://edc.usgs.gov/programs/sddm/modisdist/index.shtml
"The ISIN projection is unique to the MODIS land products, analogous to the
Sinusoidal projection except that the ISIN projection is centered about 0°
longitude and special coefficients are used to flatten the ellipsoid."

A software to reproject the data to something useful (UTM etc.) is
the MODIS Reprojection Tool Distribution. But... it does not support the
most interesting 250 meters products.

So I would like to know if there is a chance to add ISIN to PROJ4 to
finalize the GRASS-MODIS support.

Background:

 Today I managed to compile a tool to import MODIS data into GRASS. However,
 this is currently done in image coordinates. The ISIN boundary coordinates
 of the MODIS maps are delivered, so it would be great to be able to use
 r.proj of GRASS to reproject the MODIS/ISIN to another projection.

 Above mentioned MODIS Reprojection Tool is generally working and writing
 for example UTM in GeoTIFF, but not for the interesting 250m MODIS data
 products. For these data another (3rd) tool is available which needs IDL
 (I don't want to buy an IDL license, sorry).

 As workaround I got "select_vNsds" running on my linux box which generates
 binary file from HDF (convenient for r.in.bin). Only remaining problem is
 that I cannot set up an ISIN projection in GRASS due to ISIN missing
 in the PROJ4 to directly import MODIS into an ISIN GRASS location.


Above mentioned MODIS Reprojection Tool is coming in source code with a 
modified GTCP package where ISIN was added:

/******************************************************************************
NAME                           ISINFOR.C
 
PURPOSE:    Integerized Sinusoidal Library Functions - library routines to
            perform mapping to and from the Integerized Sinusoidal.  These
            functions perform the mapping from geographic coordinates
            (longitude/latitude) to the map projection coordinates (x/y).
[c code]

/******************************************************************************
NAME                           ISININV.C
 
PURPOSE:    Integerized Sinusoidal Library Functions - library routines to
            perform mapping to and from the Integerized Sinusoidal.  These
            functions perform the mapping from projection coordinates (x/y)
            to the geographic coordinates (longitude/latitude).
[c code]

As the tool is provided by USGS it should be public domain. So it should
be allowed to use the ISIN C code  without reimplementing everything (?).
Then GRASS would be one of the first GIS supporting ISIN :-)

Unfortunately I am not able to "hack" the PROJ4 to support ISIN... Probably
it is not difficult for a real programmer to add these 30 lines of code.

Of course I will publish the GRASS module for MODIS (and also ASTER) import,
when things are working. 

Comments are welcome,

 Markus Neteler



More information about the grass-dev mailing list