RE: Resampling from lat/lon to projection

Don -


>
> Kjell-
>
> Kjell Røang wrote:
> > Hi
> > I want to resample a grid in lat/lon to a grid in a projection
> and do the
> > transformations myself. Both grids has a rectangular topology and the
> > projection grid has also has a rectangular geometry. Then, what
> will be most
> > efficient:
>
> Instead of doing the transformations yourself, why not just let
> the CoordinateSystem do this?  If you want to display the lat/lon
> grid on a different projection, you could use a Display side
> CoordinateSystem. See visad/examples/MapProjectionDisplay.java as
> an example.
>

As mentioned elsewhere, we want to use another projections package (
http://www.geotools.org/ ). We plan to use completly other kind out data
that we need to transform. I can't find this MapProjectionDisplay in my
display.

> > 1
> > Transform all lat/long coordinates to the projection (forward
> transform) and
> > resample the data to the projection grid (in "projection space")
> >
> > 2
> > Transform the projection grid to lat/lon (inverse transform)
> and resample
> > the data to this transformed projection grid (in "lat/lon space")
> >
> > If someone has some input to this and/or to how to resample
> most effective I
> > will be happy.
>
> If this is for display purposes, I would suggest creating a
> Display side CoordinateSystem like in MapProjectionDisplay.
> The example uses the GRIBCoordinateSystem that Tom W mentioned in
> his note.
>
> > As I am using GRIB data and have a Java GRIB reader (JGrib of
> course, look
> > at sourceforge), I would like to know how to make a "GRIB adapter". Does
> > anyone have input to this?
>
> I know Richard Gonzales has been in touch with you about
> mods to JGrib.  He was using this to get data into the
> Integrated Data Viewer (IDV) which takes the GRIB data
> and transforms it into VisAD fields.  He took a roundabout
> way (on my poor advice), but we will be looking into
> doing this more efficiently and would love to work with you
> on this.  For each GRIB message, you would need to create
> a domain set of (row, col) or (lat, lon) from the GDS section
> of the GRIB message.  This would be the domain of the
> FlatField.  If the domain was (row, col), you could use
> a GRIBCoordinateSystem with it to transform to lat/lon.
> GRIBCoordinateSystem could be enhanced to support more
> GRIB projections if needed.  The range values for your
> FlatField would be the decoded values from the field in
> the GRIB message.  Since you would also want to have
> the level information, you could create Tuple with
> (level, FlatField).  Alternatively, you could build up
> a 3D FieldImpl of (row, col, z) or (lat, lon, alt) and
> for each GRIB message that is part of this 3D field,
> you could set the samples in the 3D space according to
> the values in the GRIB message.

It sounds pretty much how I will like to do it, but I might use Ricks mods
to do the transformations. (JGrib should also support new projections as
many will use JGrib without using Visad). In VisAd notation, the data would
look something like:

time -> ((lat, lon, z?) -> (pressure, v-wind, u-wind, ...))

Kjell

>
> The best structure will depend on your needs.
>
> Don
> *************************************************************
> Don Murray                               UCAR Unidata Program
> dmurray@xxxxxxxxxxxxxxxx                        P.O. Box 3000
> (303) 497-8628                              Boulder, CO 80307
> http://www.unidata.ucar.edu/staff/donm
> *************************************************************
>
>