EarthSLOT

Earth Science, Logistics, and Outreach Terrainbases

 

Home

Fly Now!

3D Engines

Earth Models


Our Mission

Get Involved

Contract Work

 

Forum

Gallery

Help

Contact us

 

Getting Involved

If you have already created your own Applications and want to have them hosted or linked from EarthSLOT, please contact us.

Want to learn more about the technology and figure out how to create your own applications? Read on.

Note: It would be best to visit the 3D Engines pages and try out a few Applications in the Fly Now! page before reading this, so you will have a good idea of what's possible..

Understanding the technologies involved

In getting started, the most important thing to realize is the differences between an earth model, the applications created using them as a background, and the 3D software engine that makes them work together. Note that to view any of our applications listed below or in the Fly Now! page, you must install the appropriate software; see the Fly Now! page for more details on software installation.

Earth Models. The earth model consists of terrain data that defines the shape of the land and imagery that defines the color of it. Often, many different imagery layers are draped over the same terrain data (creating different earth models), and typically many different imagery sources (air photos, satellite imagery, etc) are stitched together within the same earth model. For example, many global earth models will use Landsat 7 satellite imagery at 15 m resolution for the entire globe, but stitch in higher resolution air photos over cities where more detail is desireable. Combining imagery in this way is responsible for the differences in 'fuzziness' of the imagery and the sharp changes in color seen across the boundaries of different imagery. Earth models do not need to be global, they can also be simply a rectangular area covering an area of interest; these are much smaller and can often fit on a regular hard drive. Each 3D software engine has a different level and method of pre-processing and real-time-processing. Smaller datasets (say several GBs) are typically extensively pre-processed, such that the imagery and elevation data are fused together into a single file, which can then be put onto a CD, DVD, or FTP. For larger earth models (many GBs or TBs), the imagery and elevation files are left separate, and the 3D engine then processes it on demand based on user needs. That is, if a user is looking at Paris, data from Amsterdam are not being processed (unless another user is looking at it). This method saves considerably pre-processing time and better yet allows for very easy updates without need to reprocess the entire dataset again. Though some 3D engines allow users to add imagery directly from Applications, practically the only way to stream very large imagery files is by embedding directly into the Earth Model. Follow the Earth Models link at left to learn more about the ones found on EarthSLOT.

Applications. Applications use Earth Models as a backdrop over which they overlay of things like street names, weather station locations, GIS layers like shapefiles, 3D moving objects like airplanes or cars, and basically anything else that is not terrain or imagery data. The same vector data can be overlaid onto many different globe models. These data overlays essentially define a different application. For example, an application on glaciers likely would not contain data on volcanoes, as a means to both save file size and reduce clutter. But as a user, you can merge different applications together, modify existing ones, or create brand new ones. Unlike earth models, Applications are not streamed from a central server but rather download whole and run locally, since they are typically only a few megabytes in size. Because they are not streamed, any image overlays created within the Application must also be download whole, and this can serious degrade flight performance, as this file sits in RAM; such Application image overlays are often the only quick and easy way for a typical user to ingest their own imagery. The Fly Now! page contains our current holdings of Applications..

3D software engines. There are many different 3D engines out there. Technically speaking the ones we use at EarthSLOT are all 2.5D, since you cannot create or fly through tunnels or places with more than one elevation at a given coordinate (though this can be faked out by importing a true 3D object and overlaying it onto an Earth Model. Other than World Wind, all of the engines used here are proprietary and cannot be altered by an end-user. However, most have some form of an Advanced Programming Interface which users can use to access the engine at a low level and create new tools or functionality. Each engine has a different approach to its server technology, but there are some common features. Specifically, the high resolution imagery is resampled to lower resolutions, and this low resolution data is served first because it takes less bandwidth. As you fly closer to the surface or to a new location, successively higher resolution layers are sent from the server to the user and displayed in the user's client software; this client software can be a commercially purchased package or something custom made, depending on whether the engine allows this or not. These "pyramid layers" as they are called are the key to server efficiency and user happiness. If you look closely as you fly around, you will see blurry areas get sharper -- this is the next successive layer in the pyramid being delivered to your client viewer. At this time, there are no pure-HTML client viewers that allow full motion flight in 3D, though we offer one that offers still frame navigation, thus every 3D engine must have a client application running locally to work. This client software uses the user's local CPU to navigate and make requests of the server for new imagery, distributing the workload considerably. The 3D Engines page describes those the we work with in EarthSLOT, with more information about each.

 

What does Open Source mean in this context?

Here we are mostly talking about the Applications themselves, not the 3D engines. If everyone's implementation of the same engine worked differently it would be chaos, so in our opinion it's best to leave them somewhat proprietary in the hands of a few benevolent dictators that can ensure backwards compatibility and quick bug fixing. However, the key open-source and academic point here is that use of the engines is free and that the source codes for applications created using those engines be shared in some form. So to us, the Applications you find on the Fly Now! page are open source and freely shared. The rest of this page provides some examples of how to get started creating your own applications.

Creating Applications with Skyline Software

The easiest way to start creating your own applications with Earth Models created using Skyline Sofware's 3D engine is to purchase TerraExplorer Pro (TEP) from them. The academic price for this when we bought it was $500, plus $750 for first year tech support and maintenance. It is a hugely powerful software package, easily allowing users to import GIS data, 2D and 3D still or moving objects, link to SDE servers, create routes and animate actions along the way, and much much more. You can get a sense of the full capabilities by viewing the Help file for TerraExplorer Pro. The application files are binary, so they are not easy to modify without TEP. They have a .FLY extension.

TEP can be used as a great, easy-to-use 3D GIS, even if you do not share the Applications on-line. Click here and fly to McCall Glacier to see the locations of weather stations, survey stakes, and other science equipment used in project to study glacier/climate interactions in the Arctic.

A powerful feature of TEP is the ability to create Applications that acts as a front-end for prexisting web databases. Here is an example of accessing a glacier photo database that already existed at the National Snow and Ice Data Center. All we did was ingest a spreadsheet with columns containing photo name, latitude, longitude, and the url where the photo could be found. The only tricky part was adjusting the elevation of the labels that appeared at the same spatial coordinate so that they do not overwrite each other. We have several other examples of this use in the Fly Now! page.

You can also use it as a query tool for ArcSDE servers or your own databases. Here is an example of how to query an existing database, in this case the World Glacier Inventory hosted at our own site (originally held at NSIDC). When you click on glacier label, you launch ASP scipts that build a new web page. It's not very sophisticated, but could be made more so.

If you do not want to pay for TerraExplorer Pro, you can still do almost everything at the code level using their API, which is available to users through EarthSLOT when using the Earth Models that we serve (that is, if you have a Skyline Earth Model on your hard disk, access to the API magically disappears). The last several chapters of the TEP Help file describe the API commands and how to use them. For example, here are examples of custom viewers that you can embed into your own web page. Use your browser to check out the code it took to create these windows -- it's not very complicated. All sorts of new tools can be created using this API; for example, we are working on a tool that allows users to plan helicopter flights into remote areas, graphically allowing the user to pick a flight route and calculating fuel burn and need for resupply, outputting a complete flight plan at end. This API is a hugely powerful resource.

Using TEP (or the API), you can create routes in your Application that automatically lead the user through the terrain and activate scripts along the way that launch voice overs, turn layers on/off, play movies, or just about anything you can dream up. If you click on the Overview route in this file, you will be flown to McCall Glacier and get a quick overview of the research there.

You can add your own imagery or elevation data to a Skyline Earth Model, but it is tricky. Using TEP, you can add an imagery layer, but only a small one, as larger ones chew up too much RAM. The best way is to create your own Earth Model, or have us do it for you, using TerraBuilder. Our initial vision for EarthSLOT was to create custom Earth Models for the community ourselves as this is the difficult and expensive part, leaving the easy and fun part of creating applications with them to end users; this is more or less Google Earth's approach, only using Keyhole's software rather than Skyline's as we do. Here is an example of overlaying model output (in this case soil moisture) over terrain. The result is a streamed product that delivers great flight performance over the internet, and it can also be run locally if it is downloaded in its entirety. As an example, here is a link to the Blue Marble Next Generation Earth Models that we created which you can download and run locally. These stand-alone applications have a .MPT extension; the Earth Models served only over the internet have a .TBP extension.

 

Creating Applications with Google Earth

Creating simple Applications with Google Earth is fairly easy. Their free viewer also lets you add your own labels, merge Applications together, and save them. If you want to import GIS layers, you can either purchase their GIS Import Tool, or use one of several open-source tools that others have created. The Applications are written in KML (Keyhole Markup Language), which is an ascii text based language similar to HTML. Because it is ascii text, users can create their own KML files without needing Google's tools, similar to the API available for Skyline Software. The text-based language greatly facilitates creating custom scripts to update data sets. For example, here the USGS has taken their earthquake catalog and automatically posted an updated KML file to their web page every day containing the last week's earthquakes.

Custom images can be overlaid onto Google Earth in two ways. First is that you can contact Google and ask them to use your images; likely this will only work if they are true color and of higher resolution than whatever they have at that location. Note that because Google is selling a service (their Earth) rather than software, you cannot create your own custom Earth Models using it. The other method is to use Google Earth Pro to ingest the images within the Application. This turns out to be a tricky process. Here is an example of this process using Hurricane Katrina imagery; note that the imagery contained within the Application does not load as quickly or render as smoothly as the streamed imagery underneath it..

Creating sophisticated applications with Google Earth is not straightforward. This is likely to change in the future as Google throws more of its weight behind it, but simple things like creating routes that vary in elevation are simple not possible. Neither is it possible to script various GIS layers to turn on and off while playing a route.

Creating Applications with World Wind
Creating applications with World Wind is more challenging than other 3D Engines because there is no "Pro" tool that facilitates this. The flip side is that being totally open source, the customizations that are possible are greater. Their web page has details on the code and an extensive help and FAQ file. We haven't used it that much to date, so we have no expertise to share here.

 

Creating Applications with GeoFusion
We've only just started learning about GeoFusion, but it seems to be a quite powerful software package. It does not seem as fully featured out of the box as Skyline's TerraExplorer Pro, but in some ways it seems much more extensible. In particular, it gives users the power to blend between different streamed imagery layers, something that none of the other engines currently do. There are several excellent examples of this that can be found here.

Copyright notices:

TerraExplorer, TerraExplorer Pro, TerraGate, TerraPhoto, and TerraBuilder are registered trademarks of Skyline Software Inc.

GoogleEarth, GoogleEarth Plus, and GoogleEarth Pro are registered trademarks of Google.

Note: This material is based upon work supported, in part, by the National Science Foundation. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation.

No warranty: Data is provided "as is," without any warranty whatsoever, including but not limited to any warranty as to performance, merchantability, or fitness for any particular purpose.


Liability: The entire risk as to the results of the use of this data is assumed by the user. EarthSLOT is not responsible for any interpretation or conclusions made by those who acquire or use it. EarthSLOT shall not be liable for any direct, indirect, special, incidental, compensatory or consequential damages or third-party claims resulting from the use of this data, even if EarthSLOT has been advised of the possibility of such potential loss or damage. In states that do not allow the exclusion or limitation of incidental or consequential damages, this data may not be used.

(c) 2004 Matt Nolan. Please contact us with questions, comments, or compliments.

 

 

Server Status more
 

EarthSLOT OFFLINE
UAF ONLINE
Status current as of
10/03/10 20:26 PST

Highlights (01 Sept 05)
  Blue Marbles
  Iditarod 2006
  Custom HTML viewers
Related Links
  Skyline Software
  Intermap
  Google Earth
  NASA WorldWind
  GeoFusion
  Arctic Regions Supercomputng Ctr.
  Dr. Matt Nolan