Re: Gridded2DSet



Kevin Manross wrote:


I am continuing to work on an application to visualize the interaction between a radar beam and the terrain surrounding the radar. Please see:

for an example.

The user rotates the red radius in the left panel ("PPI Panel") which represents the beam path in a Lat/Lon Coordinate System. This causes the terrain to change in the right panel ("VCP RayPath").

As you can see, in the "VCP RayPath", the beam (smooth curve) intersects the jaged terrain. Everywhere this intersection occurs, as the beam sweeps a complete circle about the radar center, I record the Lat/Lon of the intersection.

So now I have a mostly discontinuous collection of Lat/Lons. I now want to create an "overlay" to show on the "PPI Panel" where these areas are.

I have tried producing a Gridded2DSet with the collected Lat/Lons and using Float.NaN to fill in the rest of the grid, but have not yet been successful in this approach.

I have also tried using an Irregular2DGrid, but I have not yet been able to create a proper shape withthe points I have.

I would greatly appreciate any input on how to create a gridded set with the same dimensions as the "PPI Panel", but only the collected Lat/Lons would be displayed.

Do you want to just plot points where the intersections occur?
If so, then just create a FieldImpl of your points as:

(index -> (lat,lon)

The Gridded2DSet would indicate that there is some relation betwee
all the points.  On a 1D manifold, this would be a line (like your
selector line) and on a 2D manifold, this would be a grid.  As just
points in a FieldImpl, they should just show up as points.  Since
they will be discontinous, this seems like a good approach.  You could
use a ConstantMap to PointSize to set the size of the points.

Another approach would be to use the same Gridded2DSet that is your
domain of the PPI panel and create a FieldImpl of

(lat,lon) -> (value)

where value would be some number (not NaN) at the set indexes where
the intersection occurs and NaN everywhere else.  Map value to
RGB and it would give you a color map of the intersection points.
you could use valueToIndex with your array of lat/lons to figure
out which points should be NaN and which should have a value.

I hope that is clear, but am certainly willing to explain further if needed.

If that doesn't help, let me know.

Don Murray                               UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx                        P.O. Box 3000
(303) 497-8628                              Boulder, CO 80307