GeoVRML 1.1 Specification
GeoVRML 1.1 provides a suite of solutions for representing and visualizing geographic data using a standard VRML97 (Virtual Reality Modeling Language) browser. VRML is an ISO standard file format for representing 3-D data over the web [VRML97]. This document contains descriptions of various issues related to the representation of geographic data in VRML97 and then defines a number of new nodes to provide solutions to these issues using VRML's extensibility features. It will be assumed that the reader is familiar with the VRML97 specification.
In addition to this document, an accompanying open source sample
implementation of the GeoVRML 1.1 nodes is provided so that users may
easily incorporate these capabilities into their own VRML scenes.
The following list provides a high-level list of capabilities that are specifically addressed by GeoVRML 1.1.
Spatial Reference Frames - GeoVRML provides the ability to embed latitude/longitude or Univeral Transverse Mercator (UTM) coordinates directly into a VRML file, and have the browser transparently fuse these into a global context for visualization. GeoVRML 1.1 supports 3 spatial reference frames, 21 ellipsoids, and 1 geoid.
Precision - VRML97 provides only single-precision floating point values. This is insufficient to represent data on a planetary scale down to around 10 m resolution or beyond. GeoVRML provides solutions to extend this precision and enable sub-millimeter positional accuracies.
Scalability - GeoVRML provides various scalability features to manage the streaming of large, multi-resolution models over the web.
Metadata - GeoVRML provides the ability to specify a generic subset of metadata describing geographic objects, including the ability to link to a full metadata description.
Animation - The ability to interpolate within the supported spatial reference frames is provided so that animations can be defined with respect to key points on the surface of the planet.
Introspection - Functionality is provided to be able to query a GeoVRML scene and discover the geographic coordinate of any georeferenced point.
Navigation - GeoVRML 1.1 provides some basic support for navigation schemes that are specific to geographic applications. Specifically, the issue of elevation scaled velocity is addressed.
There is a large number of issues that GeoVRML could address with respect to representing geographic data in VRML. We have already listed those areas that we do address; however, it may also be useful to specify explicitly a number of important areas that GeoVRML 1.1 does not address. This is done so that the reader may better ascertain the relevance of this work to their own application area.
GeoVRML 1.1 does not address issues of time, other than the ability
to specify date metadata. Certain issues of navigating planetary
models are similarly not addressed, e.g. terrain following. GeoVRML
1.1 supports the use of only a single, static local coordinate system
for dealing with floating point limitations. With respect to spatial
reference frames, we currently only support latitude/longitude (GD),
Universal Transverse Mercator (UTM), and geocentric (GC), and we only
support the WGS84 geoid. Finally, GeoVRML does not directly address
the issue of ortho-rectification. It is assumed that existing tools
will be employed in order to correctly warp unrectified imagery to an
elevation grid before translation to GeoVRML. These issues are prime
candidates for addressing in a future version of GeoVRML.
1.4 Changes from GeoVRML 1.0
The primary impetus for creating the 1.1 release of GeoVRML was to synchronize it with the ISO standardization work performed by the Web3D Consortium. The GeoVRML 1.0 nodes were added to the VRML97 specification as part of Amendment 1. As a consequence of this process, a number of changes were made to the GeoVRML support based upon comments from the ISO reviewers. GeoVRML 1.1 incorporates all of these changes so that this version is equivalent to that described in VRML97 Amendment 1. This is also the version that is to be used for the Geospatial profile in X3D, the successor to VRML97 [X3D]. Specifically, the following changes have been applied since GeoVRML 1.0.
Convert field/eventIn/eventOut combinations to exposedFields in the PROTO interfaces, and reorder all fields in the EXTERNPROTO interface to conform to the VRML97 field ordering scheme.
Convert the recommended URN for the GeoVRML nodes to the one defined in VRML97 Amendment 1, e.g. change urn:web3d:geovrml:1.0/protos/nodename.wrl to urn:web3d.org:vrml97:node:nodename.
Rename the GeoInline node to InlineLoadControl to reflect the more general functionality of the node.
Support the use of optional strings in the geoSystem array to define the ordering of coordinates, e.g. "latitude_first" or "longitude_first".
Update the geographic terminology inline with the developing Spatial Reference Model ISO standard [SRM]. In particular, the use of "spatial reference frame" is preferred over "geospatial coordinate system", where appropriate, and the codes "GDC", "GCC", and "GD" are replaced by "GD", "GC", "WGS84" respectively.
Change the default value for geoSystem to be ["GD","WE"] instead of ["GDC"]. These are equivalent but the former is more complete.
Change the name of the "speed" field of GeoViewpoint to be called "speedFactor" to better represent the fact that this is a scaling factor not an absolute value.
Update and add new references to Appendix C, and update the list of known browser support in Appendix B.
Apply minor specification edits, rewording, and updates.
Questions or comments.
Copyright 2002, SRI International.