Next / Previous / Contents / TCC Help System / NM Tech homepage

Table of Contents

1. Introduction
1.1. How to get this publication
2. Definitions
2.1. Kinds of tiles
2.2. Magnification codes
2.3. Tiles
2.4. Flexible angle coordinates
2.5. Latitude and longitude coordinates
3. Preparation of GPS waypoint files
3.1. Fieldwork
3.2. Creating the raw waypoint file
3.3. Preparing the XML waypoint file
4. Building the map base
4.1. The routebox script
4.2. The buildmapbase script
5. The wayplot script: GUI display of waypoints on a base map
6. The wayimage script: Plotting waypoints on an image
7. Internals
7.1. The module
7.2. The module
7.3. Tile interpolation algorithm

1. Introduction

Thanks to a number of fine public domain sources, it is possible to display data on base maps with free software. The package described here is for displaying GPS waypoints on a base map, but the techniques can be generalized to other applications.

Open-source and public domain resources used in this project include:

  • The web site makes this entire project possible. A flagship public domain resource supported by Microsoft, this site provides both topographic maps and aerial photos of the entire continental United States.

  • Files using XML (eXtended Markup Language) structures take care of storing a number of types of data required by the system.

  • The Python programming language is the glue that holds everything together. In addition to the base language, a number of open-source Python library modules allow use of database systems, graphical user interfaces (GUIs), interaction with data stored in XML files, and manipulation of images.

Here is the general workflow for the system:

  • Take the GPS into the field and record the coordinates of points of interest.

  • Prepare a data file of those coordinates and their descriptions.

  • Prepare base maps by downloading map images from

  • Display the GPS waypoints on the base maps.

The above diagram shows the parts of the system.

The software base will make it easy to extend the package's functions. For example, in the future, we may add support for public-domain files describing elevations. This would allow derivation of the elevation gain for a given hiking route.

1.1. How to get this publication

This publication is available in Web form and also as a PDF document. Please forward any comments to