GeoFusion, Inc. Digital Earth Visualization Paul Hansen [email protected] Chuck Stein...

28
GeoFusion, Inc. GeoFusion, Inc. Digital Earth Digital Earth Visualization Visualization Paul Hansen Paul Hansen [email protected] [email protected] Chuck Stein Chuck Stein [email protected] [email protected] www.geofusion.com www.geofusion.com

Transcript of GeoFusion, Inc. Digital Earth Visualization Paul Hansen [email protected] Chuck Stein...

GeoFusion, Inc.GeoFusion, Inc.

Digital Earth VisualizationDigital Earth Visualization

Paul HansenPaul [email protected]@geofusion.com

Chuck SteinChuck [email protected]@geofusion.com

www.geofusion.comwww.geofusion.com

GeoFusion, Inc.GeoFusion, Inc.

• Santa Cruz based software technology companySanta Cruz based software technology company• Based on Paul Hansen’s work with digital earth Based on Paul Hansen’s work with digital earth

renderingrendering• Goals:Goals:

– Create core technology for the GeoWebCreate core technology for the GeoWeb– Put an interactive digital earth on everyone’s desktopPut an interactive digital earth on everyone’s desktop

• License software License software –– GeoMatrix GeoMatrix® Toolkit (SDK)® Toolkit (SDK)• Custom application developmentCustom application development• Rendering servicesRendering services

Accelerating Digital Earth DevelopmentAccelerating Digital Earth Development

• Early choice: application vs. toolkitEarly choice: application vs. toolkit

• Digital EarthDigital Earth Application Programmer’s Interface (API)Application Programmer’s Interface (API) allows for a multitude of applications and usesallows for a multitude of applications and uses

• Promote Promote data sharingdata sharing with non-proprietary projection and with non-proprietary projection and data formatdata format

• Provide customers the ability to use the Provide customers the ability to use the Earth as an interfaceEarth as an interface to desired functionality to desired functionality

• Platform independencePlatform independence

GeoMatrixGeoMatrix®® Digital Earth SystemDigital Earth System

• The GeoMatrix ToolkitThe GeoMatrix Toolkit– An Application Programmer’s Interface (API) for building digital An Application Programmer’s Interface (API) for building digital

Earth applicationsEarth applications

• Uses a unique projection and global tessellation system that Uses a unique projection and global tessellation system that facilitates tile generation, texture mapping, & renderingfacilitates tile generation, texture mapping, & rendering

• Tile generation and data “format” that supports:Tile generation and data “format” that supports:– Multi-resolution representation of source dataMulti-resolution representation of source data

– Fast look-up database speeds demand paging of data tilesFast look-up database speeds demand paging of data tiles

– Valid/invalid (transparent) pixel determinationValid/invalid (transparent) pixel determination

– Compression and format optionsCompression and format options

GeoMatrixGeoMatrix®® Digital Earth SystemDigital Earth System

• Renders vast amounts of dataRenders vast amounts of data• Fast inclusion of data at run-timeFast inclusion of data at run-time• Real-time scene generationReal-time scene generation• Continuous level-of-detail while zoomingContinuous level-of-detail while zooming• Platform independent, OpenGL based graphicsPlatform independent, OpenGL based graphics• Low cost hardware, highly optimized softwareLow cost hardware, highly optimized software• Small libraries (DLLs: 50-200k) Small libraries (DLLs: 50-200k) • API allows for rapid development of applicationsAPI allows for rapid development of applications

RequirementsRequirements

• 128 Mb RAM128 Mb RAM• 3D accelerated graphics3D accelerated graphics• OpenGLOpenGL

Native Data TypesNative Data Types

Multi-resolution, tiled representation of: Multi-resolution, tiled representation of: – ImageryImagery– TerrainTerrain– VectorVector– Annotation Annotation

GeoMatrixGeoMatrix®® Toolkit Features Toolkit Features

• Fully interactive, high performance 3D digital Fully interactive, high performance 3D digital Earth platformEarth platform

• Visualization of image, terrain, vector, & Visualization of image, terrain, vector, & annotation dataannotation data

• Continuous level-of-detail while zoomingContinuous level-of-detail while zooming• Manages a vast number of datasets Manages a vast number of datasets

simultaneously; attach and detach at willsimultaneously; attach and detach at will• Platform independent C++, object oriented APIPlatform independent C++, object oriented API

GeoMatrixGeoMatrix®® Toolkit Features (cont.) Toolkit Features (cont.)

• Draw your own contentDraw your own content into the GeoFusion into the GeoFusion rendered world:rendered world:– Text, lines, 3D models, etc.Text, lines, 3D models, etc.

• Demand paging of Demand paging of local or remote data tileslocal or remote data tiles• Blend between image data layersBlend between image data layers• Animate events over timeAnimate events over time• Output arbitrary resolution images or frames for Output arbitrary resolution images or frames for

moviesmovies

Rendering(visualization)

3D Navigation

Tile Generation

Tile I/O(data servers)

GeoMatrix Toolkit ModulesGeoMatrix Toolkit Modules

GeoMatrix ApplicationsGeoMatrix ApplicationsMultiple scenes/viewports

Coincident,concentric or offset

Image, Terrain,Vector, Annotation

scene 1 scene 2

globe 1 globe 2

dataset 1 dataset 2 dataset 3

1km NASA Modus 1km pseudo-color bathymetry & terrain

6 inch aerial imagery draped over6 inch aerial imagery draped overLIDAR elevation data.LIDAR elevation data.

70 cm aerial imagery70 cm aerial imagery

CIA map blended with satellite imagery over terrain.CIA map blended with satellite imagery over terrain.

Yosemite, California:Yosemite, California:8m black & white DOQ imagery on 10m DEM8m black & white DOQ imagery on 10m DEM

1km global bathymetry and terrain1km global bathymetry and terrain

Example application of satellite models drawn on Example application of satellite models drawn on top of GeoFusion rendered Earth.top of GeoFusion rendered Earth.

ESRI’s ArcGlobeESRI’s ArcGlobe

• Available in ArcGIS 3D Analyst extensionAvailable in ArcGIS 3D Analyst extension• Tremendous increase in performanceTremendous increase in performance• Interactive, supports layers, 3D models, etc.Interactive, supports layers, 3D models, etc.• GIS is moving from flatland to the “globe”GIS is moving from flatland to the “globe”• Allows viewing most data in ESRI geodatabaseAllows viewing most data in ESRI geodatabase• Prepares data on-the-fly, then caches tilesPrepares data on-the-fly, then caches tiles

GeoMatrix core conceptsGeoMatrix core concepts

1. Tiled, multi-resolution data packaging. Tiles have a consistent 1. Tiled, multi-resolution data packaging. Tiles have a consistent size with a definite upper-bound, allowing them to be easily size with a definite upper-bound, allowing them to be easily moved around and assembled into a view.moved around and assembled into a view.

2. Unique tiling system (GeoMatrix) for the Earth globe. Hybrid 2. Unique tiling system (GeoMatrix) for the Earth globe. Hybrid system--combination of geographic projection and square polar system--combination of geographic projection and square polar projection. Smooth transitions across domain boundaries. projection. Smooth transitions across domain boundaries. Efficient treatment of polar singularities.Efficient treatment of polar singularities.

GeoMatrix core concepts (cont.)GeoMatrix core concepts (cont.)

3. Fast recursive subdivision and fast, aggressive culling of 3. Fast recursive subdivision and fast, aggressive culling of "geometry“ (surface parts) outside the viewing window."geometry“ (surface parts) outside the viewing window.

4. Fast and fine-grained level-of-detail (LOD) calculation allows 4. Fast and fine-grained level-of-detail (LOD) calculation allows the minimal collection of needed tiles to be accessed.the minimal collection of needed tiles to be accessed.

5. Introduction of higher-resolution data before it is easily 5. Introduction of higher-resolution data before it is easily visible. "New“ data appears "between" previously seen data visible. "New“ data appears "between" previously seen data rather than replacing it, and, for terrain data, gradually morphs to rather than replacing it, and, for terrain data, gradually morphs to its full extent.its full extent.

GeoMatrix core concepts (cont.)GeoMatrix core concepts (cont.)

•6. Fast data coordination and rendering allow a realistic Earth to 6. Fast data coordination and rendering allow a realistic Earth to be a 3D canvas for other kinds of data visualization. The be a 3D canvas for other kinds of data visualization. The GeoMatrix provides a spherical coordinate space infrastructure.GeoMatrix provides a spherical coordinate space infrastructure.

•7. Creation of a set of software modules that make this 7. Creation of a set of software modules that make this technology available to a wide variety of applications developers technology available to a wide variety of applications developers through a set of innovative programming interfaces (APIs). The through a set of innovative programming interfaces (APIs). The GeoMatrix Toolkit.GeoMatrix Toolkit.

0

5

4

3 2 1

Globe FacesGlobe Faces

Polar ProjectionPolar Projection

90ºW

45ºW

75ºW

30ºW

15ºW

60ºW

0ºE

70ºN

60ºN

50ºN

80ºN

QUADRANT 0

QUADRANT 1

QUADRANT 2

QUADRANT 3

Globe MappingGlobe Mapping

top view full globe

Polar/Equatorial CongruencyPolar/Equatorial Congruency

Mapping FunctionMapping Function

90o

N

180o

W

1.045o

N 90o

W135o

W

0.0

-1.0 0.0

PX = PX * PY

PY = PY

1.0

PP

Coordinate SpacesCoordinate Spaces

•““Face” coordinates—normalized Cartesian coordinates Face” coordinates—normalized Cartesian coordinates per-face.per-face.•““Tile” coordinates—quad-tree indexing: F,L,R,CTile” coordinates—quad-tree indexing: F,L,R,C

• globe face indexglobe face index

• recursion level numberrecursion level number

• row indexrow index

• column indexcolumn index

Coded VertexesCoded Vertexes

• Peano coding for vertex locations. Except:Peano coding for vertex locations. Except:• no interleaved bitsno interleaved bits

• LSB is dedicated “1.0” bitLSB is dedicated “1.0” bit

• location is within a particular tilelocation is within a particular tile

• Fast conversion between face coordinates.Fast conversion between face coordinates.

• Combine vertex coding with tile coordinates.Combine vertex coding with tile coordinates.