SourceForge.net Logo

Virtual Hiker



Description

Revisions
SourceForge Project
Downloads
Forums
Joe's Java
Library

E-mail me


Virtual Hiker is a Java program that allows a user to easily and interactively use map data to plan hikes or explore new areas (currently only in the United States).  This program includes features helpful to the hiker such as interactive 3D maps of the terrain rendered in real-time; the ability to trace trails across the terrain and get height verses distance profiles; and the ability to tile together adjacent maps to create large seamless map areas.

Virtual Hiker comes in two parts:  Virtual Hiker itself and VH Editor.  Virtual Hiker is an end-user program that is designed to easily read maps that have been processed and organized into a coherent database.  Virtual Hiker is easy to use, has a simple user interface, and could be shipped with a CD-ROM containing an associated map database.  VH Editor, on the other hand, is a bit more complex, but is also more flexible.  VH Editor is primarily used to read raw USGS map data and convert it to a form that is easier to work with in Virtual Hiker.  VH Editor also includes a small amount of map editing and analysis features (very small, but growing).  VH Editor can do everything Virtual Hiker can, but adds additional features that may not be of use to some users.

See Screen-Shots!


Warning:  Virtual Hiker and VH Editor are pre-Beta and many features are incomplete or unreliable.  So proceed with caution.

The primary features of Virtual Hiker and VH Editor:

  • VH Editor can read most types of U.S. Geological Survey (USGS) map data that is on a 24k Universal Transverse Mercator (UTM) grid.  This includes Digital Raster Graphic (DRG) images including Digital Orthographic Quads (DOQ), Digital Elevation Maps (DEM) in either ASCII or SDTS format, and Digital Line Graphs (DLG) in either ASCII or SDTS format.
  • You can load as many map layers as you want (until you run out of memory) and they can be tiled together to form large seamless maps.
  • When multiple map layers are either overlaid or tiled together, they can be saved to a single Virtual Hiker specific file that groups all the map layers together.
  • The user can select any location on the map and get latitude, longitude, altitude (if a DEM map layer is loaded), and magnetic offset from true north for that point.
  • A line can be traced across a map (that includes a DEM layer) and a plot of height verses distance will be generated as well as some other statistics calculated.
  • DRG images (which are often very large) can be processed to create a tiled image that can be loaded and displayed and zoomed in and out of efficiently while using very little memory.
  • An interactive, 3D map, rendered in real-time can be generated for any number of tiled DEM map layers (they do NOT have to be joined together into a single large DEM first!).  The terrain rendering algorithm renders in real-time even for large data sets (I've tested it with up to nine 30m resolution DEMs loaded at a time  -- about 1.3 million grid points -- on a 350 MHz Macintosh G3).  Any image can be texture mapped onto the 3D terrain and a feature is provided that will convert any DRG into an appropriate texture map.  This allows you to use standard topographic maps as textures as well as properly map aligned satellite photos and map aligned orthographic aerial photographs (such as DOQs).
  • DLG map elements can be picked by the user and queried against a database.  Currently this feature is a "proof-of-concept" implementation only, but could be extended to be a powerful feature.  Imagine the user clicking on a trail map element and getting information on the trail; it's name, length, difficulty, description, etc.

Virtual Hiker, and VH Editor, currently use GL4Java to access OpenGL for 3D graphics rendering from Java.  GL4Java is currently available for Java 1.4 on Windows and Linux and Java 1.3 on MacOS X.  If you are running on any other platform, the 3D graphics portion of this program are not going to work.  I would very much like to port the 3D graphics over to use JOGL instead of GL4Java to access OpenGL, but have not had time myself.  If you are interested in trying to do this, please contact me!

VH Editor also uses a native library to read SDTS format binary files from the USGS.  This library is accessed via the Java Native Interface (JNI).  Currently, I have this native library compiled for MacOS X and Linux-i386 only.  If someone could compile this JNI library for me on other platforms that would be greatly appreciated!



Installation


Installation Instructions:

MacOS X:
You should have received this application as a compressed disk image file (VHEditor_#.#.#_MacOSX.dmg).  This disk image file, when mounted (by double-clicking on it), should contain the application icon (VH Editor.app), this readme file (README_VHEditor.txt) and some legal documents explaining the GPL.

To install this program, simply drag the VH Editor.app icon to a convenient location on your hard drive.  In MacOS X this is usually the "Applications" directory, but you are free to put it anywhere you want (aren't Macs great!).

The application file should work properly on MacOS X 10.2 or later right out of the box.  No additional software required.


Windows:
You will first have to make sure that you have the J2SE 1.3 or later installed on your computer.  If you do not, you can get it from:  http://java.sun.com

You should have received this application as a executable installer  file (VHEditor_#.#.#_Windows_installer.exe).  Run this installer.  It will make sure that everything gets put where it belongs.  If you have a previous version of this program installed, you need to "uninstall" the old version first.  You can find the uninstaller program in the same directory that you originally installed the program into or you can use "Start-Settings-Control Panels-Add/Remove Programs.


Linux (and many flavors of UNIX):
You will first have to make sure that you have the J2SE 1.3 or later installed on your computer and on your search path.  If you do not, you can get it from:  http://java.sun.com

You should have received this application as a executable shell script installer file (VHEditor_#.#.#_Linux_installer.bin).  After you have downloaded the installer, you will need to make it executable by changing it's permissions:

chmod a+x VHEditor_*_Linux_installer.bin

If you have a previous version of this program installed, you need to "uninstall" the old version first.  You can find the uninstaller program in the same directory that you originally installed the program into.

If you want to install Virtual Hiker into your account only, simply run the installer script.  It will make sure that everything gets put where it belongs.  If you want to install this program outside of your account, you can use the su utility to get super-user access:

su ./VHEditor_*_Linux_installer.bin

If running under Linux on an x86 platform, you should be able to use the 3D terrain rendering feature.  This feature uses the GL4Java library.  I do not have the GL4Java library compiled for other platforms, and so the 3D graphics feature will not be available on those. However, if you can get GL4Java to compile on your platform, then it can be made to work with Virtual Hiker.



Usage Notes


VH Editor User's Guide:
This serves as a brief user's guide for VH Editor.  VH Editor was originally written to convert map data between various raw formats and a format that can be used by Virtual Hiker.  It has since grown into more of a software technology demonstrator for Virtual Hiker and to a lesser extent is a map editor.

This user's guide is broken down into the following sections:


Sample Data Sets


You can find a small number of sample data sets for Virtual Hiker by following this link.





Made on a Mac!


Created: July 27, 2004
Modified: September 18, 2004