Re: basic topology and the Data Model with geo-locations

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