Menu

Tree [r12] /
 History

HTTPS access


File Date Author Commit
 Camera.cpp 2009-10-19 nickw1509 [r12] strafe and pitch controls added to camera
 Camera.h 2009-10-19 nickw1509 [r12] strafe and pitch controls added to camera
 LICENCE 2009-09-16 nickw1509 [r1] footnav initial commit
 LineMaker.cpp 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 LineMaker.h 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 LineProperties.h 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 MainWindow.cpp 2009-10-13 nickw1509 [r11] Lighting added
 MainWindow.h 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 Node.cpp 2009-09-29 nickw1509 [r6] OSM parser added
 Node.h 2009-09-29 nickw1509 [r6] OSM parser added
 OSMDataset.cpp 2009-09-29 nickw1509 [r6] OSM parser added
 OSMDataset.h 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 OSMObject.h 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 OSMParser.cpp 2009-09-29 nickw1509 [r6] OSM parser added
 OSMParser.h 2009-09-29 nickw1509 [r6] OSM parser added
 OSMRenderer.cpp 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 OSMRenderer.h 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 ProjNode.h 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 ProjOSMDataset.h 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 Projection.cpp 2009-09-16 nickw1509 [r1] footnav initial commit
 Projection.h 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 README 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 SRTM.cpp 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 SRTM.h 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 SRTMLoadDialog.cpp 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 SRTMLoadDialog.h 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 SRTMRenderer.cpp 2009-10-13 nickw1509 [r11] Lighting added
 SRTMRenderer.h 2009-10-13 nickw1509 [r11] Lighting added
 Way.cpp 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 Way.h 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 World.cpp 2009-10-19 nickw1509 [r12] strafe and pitch controls added to camera
 World.h 2009-10-13 nickw1509 [r11] Lighting added
 extract.osm 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 footnav.cpp 2009-09-16 nickw1509 [r1] footnav initial commit
 footnav.pro 2009-10-08 nickw1509 [r9] Overlaid OSM data now superimposed properly on ...
 map.osm 2009-10-05 nickw1509 [r7] Can read and visualise OSM data
 maths.cpp 2009-10-13 nickw1509 [r11] Lighting added
 maths.h 2009-10-13 nickw1509 [r11] Lighting added

Read Me

This is the code for the Footnav project, a 3D OSM visualisation tool aimed
at countryside users, and eventually aimed for in-the-field mobile use.
See http://footnav.sourceforge.net/

You need a Qt4 development environment set up as well as an OpenGL dev
environment. It's tested on Linux (Ubuntu 9.10) and Mac OS X (10.5), though
should also work on Windows.

To compile, do

qmake footnav.pro

to generate the makefile, and then

make

To test, download the file N51W001.hgt e.g. from

http://www.g7lwt.com/srtm/ 

and run:

./footnav

Open the SRTM file. You can specify the bounds within the file to load in
lat/lon, or click Cancel to load in the whole of the SRTM height file.

Performance is reasonably OK for the whole SRTM file on a Mac Book Pro
with Nvidia 9400 card, but you might want to restrict the area to 
load depending on your graphics card. You do need a dedicated graphics card
as it runs very, very slowly on a laptop with 512MB ram, no graphics card and
SuSE 10.3. 

Now load in an OSM file. Load in either map.osm (small) or extract.osm (bigger,
0.9 lon x 0.3 lat) from this directory. Change location to lat 51.05, 
lon -0.72. This is a hilly area of southern England with lots of OSM data and
several hills in the range 200 to 300m. The height shading is optimised for
this sort of area, with no hills above 300m, though you can change it using
the option in the Edit menu (e.g. enter 600m to optimise shading for an area
where the hills go up to 600m).

Use the left and right arrow keys to rotate the viewpoint (camera) and up
and down to move forwards and backwards. 'q' and 'a' move up and down
respectively.

There are some issues with overlaying the OSM ways on the relief. Bilinear
interpolation was used, but the method suffers from the problem that the way 
route might miss the edges of the SRTM quads and appear to tunnel through
them. This is definitely on the todo list, I can think of a way to do it
but am open to suggestions.

Nick Whitelegg
nick_whitelegg@yahoo.co.uk