Well, it depends on the algorithm. If you use Regrid or Autogrid, the
points will not be the same as the original points by definition. The
interpolation algorithm is weighted spatial averages from the original data
and positions to whatever grid is used with new data and positions. If the
grid resolution doesn't match well the spacing between the original points,
then you are probably seeing an interpolation error. As you increase the
grid resolution, your cost goes up and the error goes down. This is
adjustable with various parameters in terms of the number of points using
for weighting, radius of influence, order of the weighting factor, etc.
Connect uses Delauney triangulation, preserving the original data and
positions.
I don't recall what xyz2grd uses to know what the exact source of the
inconsistency is. But there is a lot of literature published on the
subject of surface and volume reconstruction from point data over the last
few decades. Various techniques have advantages and disadvantages.
Also, there was a discussion in this mailgroup about these issues and some
additions being proposed a while ago. I don't recall the status, however.
DX is doing what it is supposed to do. As to which version of the
processed data is right, that's hard to say without knowing more about how
the original data are acquired and what you are trying to do with the
visualization. Keep in mind that your original data are a set of arbitrary
samples of say a 2d manifold imbedded in 3-space with associated errors and
limits in precision. Now, you want to visualize that manifold as a shaded
surface by reconstructing it from those sample points. Do you want a nice
smooth surface or do you want to preserve the noise and other data
characteristics. This can dictate your choices. So this means that
probably none of the techniques are "right". The question is which set of
methods is good enough or appropriate.
(FYI, that old paper I cited outlines some of these issues...)
"Jens Fernandez-Vega" <[EMAIL PROTECTED]>@opendx.watson.ibm.com on
11/21/2002 06:14:00 AM
Please respond to [email protected]
Sent by: [EMAIL PROTECTED]
To: <[email protected]>
cc:
Subject: RE: [opendx-users] Interpolating points
Thanks,
I used GMT to interpolate the elevations of the extra points and it worked
well.
Just a quick question:
When I use > xyz2grd <file.xyz> <assorted parameters> from the GMT package,
it grids the surface using its own method, then using the new (from GMT)
grid I find the elevations of the points that I am interested in (using
GMT's grdtrack) and I end up with a file containing x, y and z coordinates
which is what I wanted. If I import this file into OpenDX and plot the
points together with the original data (gridded by OpenDX) using
rubersheet,
I will find that some of the points do not lay on top of the rubbersheet
surface. Isn't it? So does this mean that If I want to be consistent I
should export the data gridded by GMT?
Thanks a lot for your help.
Jens
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of Lloyd A
> Treinish
> Sent: 20 November 2002 04:08
> To: [email protected]
> Cc: Jens Fernandez-Vega
> Subject: Re: [opendx-users] Interpolating points
>
> If you are talking about constructing a surface, have you looked at
Regrid
> or Connect? Input is data on 2d coordinates (positions). Output has
> connections. Regrid has new positions. Connect preserves the original
> positions. Rubbersheet can operate on either output doing a
> linear mapping
> of the data to a 3d coordinate. Here's a very old paper that describes
an
> application of these ideas:
> http://www.research.ibm.com/dx/proceedings/peru/index.htm or a couple of
> MPEGs of the results:
> http://www.research.ibm.com/people/l/lloydt/rainfall.mpg and
> http://www.research.ibm.com/people/l/lloydt/peru_video.mpg
> If memory serves, GMT had additional tools along these lines. You would
> have to evaluate which methods would be more suitable.
>
> If you talking about determining the value at a point on the surface,
> interactively, have you looked at Probe or Pick?
>
>
>
> Brent Wood <[EMAIL PROTECTED]>@opendx.watson.ibm.com on
> 11/19/2002 04:16:24
> PM
>
> Please respond to [email protected]
>
> Sent by: [EMAIL PROTECTED]
>
>
> To: Jens Fernandez-Vega <[EMAIL PROTECTED]>
> cc: Opendx-Users <[email protected]>
> Subject: Re: [opendx-users] Interpolating points
>
>
>
>
>
> On Tue, 19 Nov 2002, Jens Fernandez-Vega wrote:
>
> I suggest you install GMT (Generic Mapping Tools). I use this in
> conjunction with OpenDX quite usefully.
>
> GMT uses netCDF grids as binary surface models.
>
> the command
>
> xyz2grd <file.xyz> <assorted parameters>
>
> will build a surface model representing your data, there are other
> commands to do this as well (including surface, etc) to give control over
> various aspects of the model.
>
> the command
> echo "$X $Y" | grdtrack <parameters>
> or
> cat <file of x y values> | grdtrack <parameters>
>
> will return the interpolated value(s) at each X y location from the grid.
>
>
> I'm using GMT to derive grids which are then used in OpenDX. GMT is also
> Open Source.
>
>
>
> > I managed to create a Rubbersheet with the dx data, autocolor and find
> the
> > gradient of the surface. But now I would like to input the X and Y
> > coordinates of some points and find out the corresponding Z value. Is
> this
> > possible?
> >
> > If somebody could point me to the past emails that could help or give
> some
> > hints or suggestions, it would be great.
>
>
> Not a OpenDX based solution, but it will easily do what you want.
>
>
> Cheers
>
> Brent Wood
>
>
>