Given by Remek Trzaska, Pawel Roman, Chris Walczak, Marek Podgorny at CEWES Tango Training on November 17-18 98. Foils prepared November 29 98
Outside Index
Summary of Material
Key Features: |
High-End Data Visualization |
Fly-Through Capability |
Database Access |
Discrete Event Simulation |
Dynamic Layer Switching |
Synchronized or Independent Views |
Interactive Objects |
Outside Index Summary of Material
Remek Trzaska, Pawel Roman, Chris Walczak, Marek Podgorny |
NPAC, Syracuse University |
Key Features: |
High-End Data Visualization |
Fly-Through Capability |
Database Access |
Discrete Event Simulation |
Dynamic Layer Switching |
Synchronized or Independent Views |
Interactive Objects |
Goal: visualization of terrain with multiple kinds of data, including satellite images, maps and weather info
|
Focus: high-end terrain visualization with GIS overlays, integrated with Web
|
Terrain and other GIS data stored on HTTP server and fetched over the network via HTTP protocol |
Handles multiple types of GIS data
|
Wavelet compression for both DEM and satellite images, reduces size of data by a factor of 32 for DEMs and 30-60 for textures. |
Adaptive mesh simplification technique results in rendering time reduction by a factor of 40. |
Internal caching system with pre-processing |
Level-of-detail rendering |
Extended scene model
|
Database support: all locations are geo-referenced. Supports "pickable" mode. A "pick" spawns a spatial database query. |
Database backend implemented using Informix/Illustra object-relational database |
Query refinement via web browser interface
|
Database contents:
|
Viewer objects can have associated HTML links |
Master/Slave model:
|
HTTP |
server |
Master |
Application |
Slave |
App. #1 |
Slave |
App. #2 |
CIV |
Control Application |
Control connection |
Binary data connection |
Wavelet Compression (Embedded Zerotree Algorithm) |
Adaptive Mesh Simplification |
Triangulation |
Discrete Level Of Detail |
World Represented as Triangulated Irregular Network (TIN) |
Server |
Viewer |
Satellite imagery is 29 meters resolution multi-spectral coverage
|
Maps: commercial raster maps acquired and processed |
A DEM consists of a sampled array of elevations for a number of ground positions that are normally at regularly spaced intervals. These intervals determine the spatial resolution of the DEM.
|
Wavelet decomposition extracts the most important information (low frequencies) and less meaningful details (higher frequencies) |
to compress the wavelet coefficients we use Embedded Zerotree Algorithm:
|
Embedded stream lets any application use only a fraction of a stream to obtain some approximation of a image: |
Whole stream (14times) 62% of the stream (22t.) 14% (100t.) |
Compression ratios used in the system: ~48 times for DEM, ~25 for textures |
A full mesh of triangles build on n2 points (nodes) consists of 2(n-1)2 triangles |
Most of nodes can be removed without a visual loss of quality |
Which of the above terrain models was built with only 10% of nodes??? (Answer: the right one) |
After mesh simplification, the remaining nodes have to be connected into a set of triangles |
We use a fast divide-and-conquer 2D Delaunay triangulator. |
Every triangle's circumcircle contains only the vertices of this triangle |
Open Inventor |
Adaptive Communication Environment (ACE) |
TANGO Interactive |
TANGOsim |
XtIntrinsics and Motif |
Standard Template Library |
OI is a set of C++ classes designed for developing high-performance graphics applications |
Its extensibility allows to overcome some of its drawbacks:
|
Picking
|
Navigating
|
Hot Spot
|
Pickable Objects
|
URLs are sent to a Web Browser |
Draggable Objects
|
Two-level Access
|
Illustra DBMS by Informix |
Spatial Data Blade - Geo-referenced queries |
Web Data Blade - HTTP interface |
Census Data |
Roadfinder based on TIGER/Line |
Topographically Integrated Geographic Encoding and Referencing (TIGER) is the system developed by the U.S. Census bureau for mapping purposes |
TIGER/Line files are extracts of selected geographic and cartographic information from the TIGER database. |
TIGER/Line coverage is available for the entire United States of America. |
Line features
|
Landmark features
|
Polygon features
|
Public domain data loaded into Illustra database along with census data |
Illustra supports 2D and 3D spatial queries |
2D and 3D viewers support dynamically built overlays constructed on demand from the TIGER/Line and census data |
Graphical interface for spatial queries spawned from the 3D viewer |
World Description File Format
|
Dynamic World Building
|
World Extensions
|
Movement Constraints
|
The main part of all the URLs used for downloading terrain data: textures and elevation |
Textures will be looked for in /Textures subdirectory, elevation in /DEM subdirectory |
DEF GIS_Root Info { |
string "http://sandman.npac.syr.edu:8888/GIS" |
} |
The geographical coordinates (latitude, longitude, and altitude) corresponding to Open Inventor's (0,0,0) point. |
Two triplets of integers for latitude and longitude, one integer for altitude. |
DEF GIS_Origin Info { |
string "76:15:00,43:15:00,0" |
} |
Coordinates of the 3D box the viewer's camera position is restricted to. |
Two pairs of triplets (NW corner, SE corner) |
If omitted, camera position is not restricted. |
DEF GIS_Bounds Info { |
string "76:15:00,43:15:00 75:45:00,42:45:00" |
} |
scaling factor used to transform geographical coordinates to Open Inventor's coordinate system |
a triplet:
|
DEF GIS_Scale Info { |
string "12000 12000 3" |
} |
Information about one of possibly many texture layers |
Two strings, separated by a comma:
|
DEF GIS_Texture Info { |
string "MAP,Map (Scale 1:250 000)" |
} |
Definitions of "hot spots" |
Those areas have an URL associated with them so that when the user points such a location and clicks the left mouse button, the request to display the URL is sent to the web browser. |
For RectArea, coordinates for the rectangle corners, for CircleArea coordinates of the center of the circle and one of the points on the circle's boundary. |
DEF GIS_RectArea Info { |
string "76:15:00 43:10:00 76:00:00 43:00:00, http://www.sybercuse.com" |
} |
External VRML/Open Inventor model geometry inserted into the GIS virtual world. |
A grouping node with two or three children:
|
DEF GIS_Object Separator { |
Info { string "43:15:00 37:00:00 0" } |
Group { ... } |
Info { string "http://..." } |
}
|
A component of the world that can be translated in one direction (one degree of freedom). |
Movements of this object are shared by all the participants. |
Three children:
|
DEF GIS_Slider Separator { |
Info { string "1 1 0" } |
Translation { ... } |
Separator { ... } |
} |
Building block of the terrain model.
|
DEF GIS_Terrain Info { |
string "76:15:00,43:15:00 15 0.5 512" |
} |
#Inventor V2.0 ascii |
Selection { |
Environment { |
fogType SMOKE |
fogVisibility 5000.0 |
fogColor 0.6 0.6 1.0 |
} |
ShapeHints { |
creaseAngle 3.14 |
} |
DEF GIS_Root Info { |
string "http://sandman.npac.syr.edu:8888/GIS" |
} |
DEF GIS_Origin Info { |
string "76:15:00,43:15:00 0" |
} |
DEF GIS_Bounds Info { |
string "76:15:00,43:15:00 75:45:00,42:45:00" |
} |
DEF GIS_Scale Info { |
string "12000 12000 3" |
} |
DEF GIS_Texture Info { |
string "MAP,Map (Scale 1:250 000)" |
} |
DEF GIS_Texture Info { |
string "SAT,Satellite Image (Resolution 30m)" |
} |
DEF GIS_Terrain Info { |
string "76:15:00,43:15:00 15 0.5 512" |
} |
DEF GIS_Terrain Info { |
string "76:0:00,43:15:00 15 0.5 512" |
} |
DEF GIS_Terrain Info { |
string "76:0:00,43:0:00 15 0.5 512" |
} |
DEF GIS_Terrain Info { |
string "76:15:00,43:0:00 15 0.5 512" |
} |
DEF GIS_RectArea Info { |
string "76:15:00 43:10:00 76:00:00 43:00:00,http://www.sybercuse.com" |
} |
} |
Usage of the SoLevelOfDetail class to improve displaying speed |
Dynamic downloading of the necessary data while the system is being viewed |
Animation of objects according to control information received from the simulation engine |
Two levels of communication
|
Viewer Management |
Communication with TANGO Interactive |
Local Message Dispatching |
Graphical User Interface |
Overall World Map |
GIS Control Panel is connected with a collaboratory daemon by means of a socket |
Two message channels
|
Messages sent from the master to all the |
slaves via the control application: |
Camera Position Change–the master has made a movement in his GIS window |
New URL–the new virtual world has been chosen to be displayed |
Windows Contents–the master has turned on/off one of the windows or changed its content (map/weather, walk/fly view) |
Metadata about Visualized World |
Camera Parameters |
Hot Spots |
Draggable Objects |
Pickable Objects |
Static and Moving Objects |
Initial State Issue |
Consistency |
Efficiency |
Events are translated into compact messages and broadcast to other participants |
Communication classes |
Dynamic Viewer Protocol |
Control Center Protocol |
Reliable Transport Protocol - TCP |
Control Center |
Other 3D GIS instances or TANGOsim |
Cooperation with TANGOsim
|
Static and Moving Objects (VRML or OI models) |
Follow-Up Mode |
TANGOsim vs DIS |
TANGOsim |
Stored in Vis5d format: set of 3D grids of some (weather related) variables |
Variables include: temperature, humidity, rainfall, snowfall, wind, etc. |
Time introduces 4th dimension |
Vis5d file contains 3 wind components:
|
Sum of the three gives a direction and speed of wind in a particular point |
Dragging handles changes the position of the set of vectors |
Humidity variable can be used to visualize clouds |
Marching Cubes algorithm deployed to create isosurfaces |
Shows a cut through a 3d grid of any variable |
Handles used to change the position of a cut |
All the weather visualization objects are shared with other 3D GIS participants |
Open Inventor animation engines deployed to visualize changes of clouds, rainfall, and other variables as time passes. |