[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Satellite images and interpolation



Ben Marriage wrote:
> 
> Hey everybody,
> 
> Was wondering if somebody could point me in the right direction (i.e.
> which procedures/functions to use) for this subscript problem:
> 
> I have a 2D array of values and a correponding 2D array of Latitudes and
> a 2D array of longitudes (Geo-registered Sea Surface Temperatures if
> anybody is interested). I also have a 2D satellite image with 2D arrays
> of latitude and longitude. How do I take the latitude/longitude pairs
> from the satellite image and interpolate these positions into the Sea
> Surface Temperatures?
> 
> I would be extremely grateful for just a pointer to the correct
> functions if they already exist in IDL.
> 

here's a list roughly ordered in successive complexity and with no
guarantee of completeness:
  - rebin : only works when dimensions are integer multiples
         and the grids perfectly aligned

  - congrid : still needs the grids aligned
  (if you are most interested in displaying these images
   on the same scale, you can use tvimage.pro from
   David Fanning's website www.dfanning.com which
   internally uses congrid)

  - bilinear : "The BILINEAR function uses a bilinear interpolation
algorithm to compute the value of a data array at each of a set of
subscript values. The function returns a two-dimensional, floating-point
interpolated array."

  - interpolate : "The INTERPOLATE function returns an array of linear,
bilinear or trilinear interpolates, depending on the dimensions of the
input array P."

  - krig2d : "The KRIG2D function interpolates a regularly- or
irregularly-gridded set of points z = f (x, y) using kriging. It returns
a two dimensional floating-point array containing the interpolated
surface, sampled at the grid points."

  - min_curve_surf : "The MIN_CURVE_SURF function interpolates a
regularly- or irregularly-gridded set of points with either a minimum
curvature surface or a thin-plate-spline surface..."

  - tri_surf : "The TRI_SURF function interpolates a regularly- or
irregularly-gridded set of points with a smooth quintic surface. The
result is s a two-dimensional floating-point array containing the
interpolated surface, sampled at the grid points.
TRI_SURF is similar to MIN_CURVE_SURF but the surface fitted is a smooth
surface, not a minimum curvature surface. TRI_SURF has the advantage of
being much more efficient for larger numbers of points."


That's what IDL has to offer in terms of 2D interpolation. If you need a
regridding routine that includes area weighting, you can contact me by
email (but for SST that may not be necessary).

Regards,
Martin


-- 

|||||||||||||||\\\\\\\\\\\\\-------------------///////////////|||||||||||||||
Martin Schultz, DEAS, Harvard University, 29 Oxford St., Pierce 109,
Cambridge, MA 02138          phone (617) 496 8318   fax (617) 495 4551
e-mail mgs@io.harvard.edu    web http://www-as/people/staff/mgs/