1. Plain ElevationGrid banff_EG.x3d
2. GeoElevationGrid banff_GEG.x3d
3. GeoElevationGrid with rotateYUp=false banff_GEG_noYUp.x3d
4. Plain IndexedFaceSet banff_IFS.x3d
5. IndexedFaceSet with GeoCoordinates banff_IFS_GC.x3d
6. GeoLocation with plain IndexedFaceSet banff_GL_IFS.x3d
7. GeoLocation with plain IndexedFaceSet, rotateYUp=false banff_GL_IFS_noYUp.x3d
8. Geoid Correction (color is raised higher by 17m according to Geoid by specifying 'WGS84') banff_IFS_GC_geoid.x3d
9. GeoLOD with in-scene rootNode banff_GLOD_rootNode.x3d
10. GeoLOD with url rootNode banff_GLOD_rootUrl.x3d
11. GeoTransform with IndexedFaceSet with GeoCoordinates banff_GT_IFS_GC.x3d
12. GeoProximitySensor and GeoPositionInterpolator (a Welcome sign pops up near scene center) banff_GPS_GPI_GEG.x3d
13. GeoTouchSensor (a PushPin should follow the cursor as you click on the terrain) banff_GTS_GEG.x3d
Notes:
a) for most scene rotateYUp=true meaning the Y axis is pointing out of the ground, Z is to the south, and X is to the east. With #3 and #7 you can change to a regular viewpoint (2nd viewpoint) and you'll see the south pole straight ahead, south of bangladesh is up, and Grenwich meridian and the equator is to the right. This is the so called GeoCentric coordinate system.
b) It's wise to use a GeoOrigin with all your Geo nodes.
b.1) Make it the same geoOrigin if all your data is from the same source -like GPS- or else if some is from topographic maps, some from GPS, then make 2 geoOrigins -one for each data source- and apply to the appropriate nodes, but make their initial coordinates the same. Then if you need to tinker to align the two later, you can just modify the coordinates of one GeoOrigin. You can use this trick instead of a geoid correction for topographic data, if your data is all local.
b.2) for #11 no GeoOrigin is used, and the numbers in the rendering pipeline are 'big'. Artifacts such as z-fighting and vertex coalescing can be seen.