Hi Stuart,
> This is a basic level question about how best to represent
> some data. What is the most effective or the canonical way to
> represent this situation in VisAD? This a a thought problem,
> not something I am working on.
>
> An aircraft flight makes measurements ("obs") along its path,
> a complex 3D curve.
> The obs are ordered by an index or by time. For each obs the
> position is also known in latitude, longitude, and elevation.
>
> So we have something like time [or index] -> position(lat,lon,elev) -> obs.
>
> How does CoordinateSystem play a role here?
>
> What kind of a Field would you recommend?
This data would be a FlatField with one of several different
MathTypes:
1. (index -> (lat, lon, alt, time, obs))
2. (time -> (lat, lon, alt, obs))
3. ((lat, lon, alt) -> (time, obs))
In this case, the domain Set would be a Gridded3DSet with
manifold dimension = 1. This is probably the preferable
way, since it preserves the notion that the spatial points
are along a path rather than just a random scatter.
CoordinateSystem wouldn't play a role, unless you used a
MathType like ((row, column, level) -> (time, obs))
and then had a CoordianteSystem:
(row, column, level) <--> (lat, lon, alt)
> Does it make any difference if the obs at each point are
> a single Real, or perhaps a tuple of many measurements, some vectors say?
Just put whatever dependent values in the range type of
the Field, grouping vectors into their own sub-tuples.
For example:
((lat, lon, alt) -> (time, obs1, obs2, (uwind, vwind, wwind), obs3))
> How is this extended if the "index" becomes 2D or 3D? You have an
> (i,j) or (i,j,k) set which each have a (lat long elevation)? Here we
> are in the case of some meterological grids.
For the domain Set, you'd use a Gridded3DSet with manifold
dimension = 2 or 3. Alternately, you could use a FlatField
with MathType:
((lat, lon) -> (alt, time, obs))
and a Gridded2DSet with manifold dimension = 2, as long as
alt is uniquely determined by lat and lon.
> In another matter, is there a VisAD formality or class for
> elevation (height above sea level) and altitude (height above ground)?
There are system intrinsic RealTypes:
RealType.Latitude (Unit = degrees)
RealType.Longitude (Unit = degrees)
RealType.Altitude (Unit = meters)
RealType.Time (Unit = seconds)
plus a few others.
Good questions. Cheers, Bill
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html