You have several examples to work from. First, there is the
visad/examples/Rivers.java program, that shows how to create
a toy river network (similar to a set of map outlines) as a
UnionSet. A set of lines, whether they are rivers or map
outlines, are a set of points in two-dimensions (Latitude
and Longitude) with manifold dimension 1 (this just means
that they are lines rather than areas). Sets are represented
in VisAD using the Set classes. Sequences of points describing
a single connected line are Gridded2DSets with manifold
dimension 1, and these can be combined as multiple disconnected
lines in UnionSets.
More important, there is the visad/data/mcidas/BaseMapAdapter.java
class that Tom Whittaker created. It reads a McIDAS map file
(usually named OUTL*) and returns a UnionSet (just like Rivers.java
Back to Rivers.java. It shows how to display a map or river Set.
The Set has a SetType: in Rivers.java it is 'Set(Latitude, Longitude)'
(in Set.prettyString notation). Rivers displays this Set by defining
ScalarMaps of RealType.Longitude to Display.XAxis and
RealType.Latitude to Display.YAxis. If you want to overlay your
map outlines or rivers on top of a satellite image, this'll work fine
if the domain Set of the FlatField containing the image has type
Set(Latitude, Longitude). Actually, you can overlay them even if
the types differ, but then the system won't enforce geographical
alignment for you.
Tom Whittaker's and Tommy Jasmin's data/mcidas/TestArea.java program
demonstrates this: it displays a McIDAS area file overlaid with a
McIDAS map outline file. (Given this fine work, can a Java-based
meteorology system be far behind?)
Please let us know if you have any further questions.
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
whibbard@xxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738