![Page 1: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/1.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator
nodes
Mike [email protected]
Monterey Bay Aquarium Research Institute
Andreas [email protected]
Harvard University
![Page 2: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/2.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
2
Background
• Reddy et al. (2000) GeoVRML• X3D and geospatial component• Behr et al. (2009) X3DOM – Some geospatial support– Openness– Extensibility– User friendly nature
![Page 3: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/3.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
3
Motivation
• X3D Geospatial– Unique niche between GIS and 3D graphics– Inherently 3D – spatial reference systems– Part of X3D scene graph – interactive – Many application areas• Geological or Geophysical• Oceanographic• Atmospheric
![Page 4: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/4.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
4
The X3D geospatial component and digital globes
• Google Earth, Cesium and others– Seem to offer similar functionality
• X3D Geospatial– Offers more generalized functionality– E.g. subsurface data visualization– Digital globe is possible application– Includes all features of X3D
![Page 5: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/5.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
5
The geocentric coordinate system
![Page 6: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/6.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
6
The X3D coordinate system
X
Y
Z
up • X3D coordinates– Cartesian– Abstract– Canonical units of
meters– XZ is horizontal– +Y is up
![Page 7: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/7.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
7
Geospatial Component
Handles all the transformations and precision calculations needed to convert between between these
coordinate systems
![Page 8: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/8.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
8
GeoOrigin• Coordinates far from
origin are large numbers
• Optional GeoOrigin– Numbers subtracted– Smaller numbers for
graphics pipeline• Needed for each Geo
node
![Page 9: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/9.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
9
GeoOrigin• Implementation of
rotateYUp in X3DOM– GeoOrigin is the point of
rotation– Axis of rotation such that
the direction pointing north becomes aligned with the scene -Z direction
– Up direction is at the position of the GeoOrigin point which is constant throughout a scene
![Page 10: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/10.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
10
GeoLocation• Place geospatially
unregistered nodes– Locate child node’s
origin to the provided geospatial coordinates
– Rotate the child’s +Y direction to the local Up direction
– Child’s -Z direction towards the local north direction
![Page 11: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/11.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
11
GeoLocation• GeoLocation and GeoOrigin
rotateYUp complication– GeoLocation position is likely
different from the position of the provided GeoOrigin
– Cannot skip both rotations• GeoLocation rotation
(about child origin)• GeoLocation translation• GeoOrigin (back) translation• RotateYUp rotation
![Page 12: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/12.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
12
GeoViewpoint• Like X3DOM Viewpoint, but– Position in Geo coordinates– Orientation wrt local up– Attribute elevationScaling
• Factor to auto adjust navigation speed based on elevation
• Not used in EXAMINE-like modes• Lower limit of 1• Uses ellipsoid, not ground
surface elevation
– Supports rotateYUp for FLY-like modes
![Page 13: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/13.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
13
GeoPositionInterpolator• Interpolates between
geospatial coordinates– Outputs
• geoSystem coordinates• Scene coordinates
(geocentric coordinates adjusted for a GeoOrigin)
– Attribute onGreatCircle • Default is false• For large distances• SLERP algortihm
![Page 14: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/14.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
14
Experimental Nodes
• X3DOM does not offer an X3D PROTO facility• Custom nodes can be implemented in X3DOM– Follow existing coding patterns– Import additional JavaScript source in HTML– Open source project
![Page 15: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/15.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
15
GeoOriginTransform• Use non-geospatial
coordinate geometry and reference to a GeoOrigin– Build terrain mesh in
geocentric coordinates– Apply offset and rotation
for high precision uses– May be possible to replace
with GeoTransform and new directive
![Page 16: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/16.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
16
GeoWebMap• Exploration of
connecting “slippy” web maps in X3DOM
• OpenLayers 3 or other 2D web map library that renders in container div
• Dynamically constructs a GeoElevationGrid for image texture
• Needs WebMercator geoSystem
![Page 17: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/17.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
17
Applications
• Possible to build rich web applications with X3DOM Geospatial building blocks
• Targeted applications for specific communities– MBARI’s Spatial Temporal Oceanographic Query
System (STOQS)– Community Fault Model for Southern California
![Page 18: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/18.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
18
STOQS• Search YouTube for
“STOQS robot data”• Geospatial (PostGIS)
backend database• Faceted web search • 2D and 3D geospatial
data visualization• Used for understanding
multivariate robot data
![Page 19: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/19.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
19
Community Fault Model• See pages linked from
http://structure.harvard.edu• Can visualize deep fault
structures• Cannot do this in other globe
viewers
![Page 20: Heraklion, Crete, Greece 18 - 21 June 2015 The X3D Geospatial Component: X3DOM implementation of GeoOrigin, GeoLocation, GeoViewpoint, and GeoPositionInterpolator](https://reader035.vdocuments.site/reader035/viewer/2022062308/56649d8b5503460f94a722a4/html5/thumbnails/20.jpg)
Heraklion, Crete, Greece 18 - 21 June 2015
Web3D 201520th International Conference
on 3D Web Technology
20
Summary
• Important X3DOM nodes implemented • Enables large class of targeted applications• Conforms to ISO specification• GeoOrigin node is still desirable• Available in the current release of X3DOM