GPSS

Home . GPS . Download . Business . Partners . Contact . Family . AVL . Links . History . AsOnTV .

Adding Your Own Maps and Places to the GPS Software

Updated Sunday 1st January 2012

Check out the new making maps page.

Robin Sham in Staines' picture This ADDMAPS page was originally set up years ago, to provide a simple description of how to add or modify some of the simpler mapping within GPSS. It is still intended for use by the more technically inclined "GPS enthusiast". However, it now also serves to provide a basic level of public GPSS technical documentation for my "business" contacts and GPSS Partners, some of whom may be professional GIS or software businesses.

Most of this page is much as it always was, but I've started to bring it more up-to-date and introduce more detailed linked pages on particular topics. The mapping made for the full Windows GPSS will also work on GPSSppc for the Pocket PC. Details of configuring GPSS and GPSSppc are given on the CONFIG page.

The map images can be scanned from paper maps, or taken from other web sites such as Google Earth. See MapImage page. Other sources include Microsoft CD. Whatever the source of the map image put into GPSS as a BMP file, it will have a little DES text file, to define things like the lat/lon corners, and a WAW file with supporting WAV sound files, for things like spoken position on the map. This page explains these files.

Before you "dive into" this technical detail, make sure you have already taken advantage of the free "tips" I give, based on your GPS lat/lon, of what "ready made" mapping to add from this web site and other sources. i.e. start with a visit to the download page.

Robin Lovelock, Sunninghill, UK. March 2009.

Contents

1. GENERAL - Introduction, Locations, NME Files.
2. ADDING MAPS - BMP,DES,CPR or VEC files.
3. "WHERE ARE WE ?" FACILITY - WAW Files.
4. SEARCHING - GTX Files, GPSS.CAT, GPSS.FND
5. MORE INFORMATION - MOR Files.
6. MAP MATCHING - GEO files
Click here for Page 2 sections 7,8,9,10,11,12.
7. Route and Turn-By-Turn Guidance .ROO and .RGI files
8. Sounds linked to categories and names $*.WAV #*.WAV
9. More Information linked to AVI Multimedia Video files
10. Multiple Languages GPSS.HLP and CONTROLS.CFG
11. Modification of CONTROLS Icons & CONTROLI.CFG
12. Map Rotation
13. Some GPSS Configuration files.

1. GENERAL - Introduction, Locations, NME Files.

1.1 Introduction

These pages are for the technical reader.
Having said that, GPSS has been designed to be 'Open' to the addition of new map data.
It is a relatively simple process to add your own maps and/or map data to GPSS.
This information is for use with those in direct contact and collaboration with Robin.

Please observe the conditions in the GPSS Online Help file.
i.e. do not distribute modified versions of the GPSS software or data.

You can add two types of map data to GPSS :

  • Displayed Maps that provide the map behind the car and other symbols.
  • Data, mostly as text files, and sounds as WAV files, to support spoken facilities

The types of file found within GPSS are :

  • Displayed Maps supported by MAPS.DIR, .BMP, .DES and .CPR files.
  • 'Where are We' speech facility supported by .WAW and .WAV files
  • Search for nearest place, or place by name, with .GTX files and GPSS.CAT, .FND
  • Commentary on nearby places and roads supported by .GEO files
  • Route and Turn-By-Turn Guidance supported by .RGI and .ROO files

1.2 Filenames are kept Short

GPSS does not use file names greater than 8 characters - so it can run on a variety of operating systems other than Windows 95 and NT. We understand that, in addition to 95, 98, 2000 and NT, GPSS is running on Windows 3.1, 3.11, Windows under OS/2, and SoftWindows on MACs.

1.3 Formats for Geographic Position

Many of the GPSS files include the location of places expressed in lat/lon - or in some cases a grid system. GPSS will recognise the format by the presence of the first field (or just a comma), the presence of a decimal character, and the length of the string. All latitude & longitudes should be in WGS84. The 15 character format is reccomended, since it has been in use with GPSS for many years, and will therefore be supported by old versions of GPSS and other support software. It is also closer to the format of lat/lon in the NMEA standard, and can therefore be checked against raw NMEA sentences recorded from the GPS.

  • ,523075N0073075W - 15 characters WGS84, where 3075 = 30.75 minutes.
  • ,+52.123456 -123.123456 - space character between WGS84 degrees
  • ,SU 12345 67890 - 14 characters. UK grid to 1m precision
  • ,SU123678 - 8 characters. UK grid to 100m precision
  • 412.3,167.8 - First field used. UK grid expressed as two x,y numbers
  • ,A123456 - 7 characters. Irish grid to 100m precision.
  • ,A 12345 67890 - 13 characters. Irish grid to 1m precision.
  • ,123456 - Singapore Grid (or other 6 figure properly configured)
  • ,32U 012345 0067890 - 18 characters. UTM grid.
  • ,32U0123450067890 - 16 chars UTM (not reccomended)
  • ,32U012300678 - 12 chars UTM to 100m precision.
  • ,5230750N00730750W - 17 characters, where 30750 = 30.750 minutes.
    GPSS v4.94 and later only.

Where possible, it is reccomended that one of the first two lat/lon formats are used, since it may mean other software is available to process the data.

1.4 Sources of data

The reader may have his own sources of digital map data. If not, there are two sources to obtain suitable data for use in GPSS:

  • By clicking on GPSS maps, using GPSS facilities such as /WAW or GEOMAN.
  • By downloading data from a web site. Click here for details.

1.5 NME Files

GPSS includes a "simulation" capability, used to provide the demonstration which appears if GPSS is run without a GPS connected. This is done by GPSS reading GPS data from a file called GPSS.NME, which holds data recorded from a GPS, and other commands used to emulate the Operator. NME files can be recorded from incoming GPS data, by using the % recording facility in GPSS. They can also be replayed, plotted or analysed by using the Control-A Analysis facilities. More information on NME files is available on the NME FILES Page

2. ADDING MAPS - BMP,DES,CPR or VEC files.

Some of you may choose to make the DES file with Notepad, after you have made the map image BMP file. Some may prefer to use the old method of using the map calibration tool in GPSS described below.

If making maps for GPSSppc in a Pocket PC, it is often easier to make and test the maps with GPSS on a full Windows desktop or laptop PC.

Here is a quick summary of how you can add a new map to GPSS using the "Map Calibration" tool:

  • Don't break copyright. Get permission from the copyright owner. The map image should be aligned with Latitude and Longitude.
  • Create a map image in .BMP format. e.g. you might hit the 'Print Screen' with the required image on the screen , then use something like Paintbrush or Paintshop Pro to Paste then Save as MYMAP.BMP. See "2.1 making the BMP file" below.
  • Add MYMAP into the list of maps held in MAPS.DIR using Edit. (Suggested that you insert MYMAP on 2nd line, after THEWORLD).
  • Run GPSS - it will detect this is a new map, and display the map image with instructions for you to enter information such as the name and coordinates of two reference points in low left (south west) and top right (north east) corners. You will need to know the location of two suitable points on the map image.
  • Click on the two points.
  • Enter their location into the two boxes provided. e.g. 523075N0023075E
    Note the lat/lon format should be exactly 15 characters, in 1/100ths of mins.
  • Change GPSS.WAW to the name of the country WAW file.
    Note that the map can be used to select different WAW files.
  • Click on the OK button.
  • GPSS will create a file, MYMAP.DES, that describes the map. Next time you run GPSS, the new map will be included with the other maps. GPSS automatically selects the appropriate map under the car position.

Note that if you change GPSS.WAW you must have a suitable WAW file with the specified name. You could start by creating one just by copying an existing file. e.g. Copy THEWORLD.WAW to BRAZIL.WAW.

You may wish a copyright statement, or other credit, appears when the map is displayed. Create a CPR copyright file. This can be done by copying an existing CPR file then editing it. e.g. Copy ASCOT.CPR to MYMAP.CPR.

VEC files were introduced into GPSS in January 2001, to support the free vector street level mapping for all USA, described on the TIGER Page VEC files are discussed below.

2.1 making the BMP file

GPSS for full Windows, or GPSSppc for the Pocket PC, require the map image as a BMP file. Depending on how you obtained the image, you may have it as a JPG file (e.g. from a digital camera or scanner). The simplest way to create the BMP file is probably to use the full Windows PAINT program and do a SAVE-AS then choose BMP from the available types of image file.

The file will be smaller, and Pocket PC users may have less problems with restrictions in the Microsoft Compact Framework, if the number of colours are reduced to 256 - or even lower, such as 16, with other programs such as PAINTSHOP PRO. Pocket PC users may find the image needs to be saved in RGB format BMP, instead of the more compact RLE (Run Length Encoded) - again, due to limitations in the Microsoft Compact Framework.

A possible work-around, which is NOT reccomended, but may be worth knowing, is simply to rename the JPG file to BMP. e.g. from MYMAP.JPG to MYMAP.BMP. The Pocket PC Compact Framework seems to handle such files OK - but remember, this is an "undocumented feature" so could give problems. A serious disadvantage of simply renaming the JPG into a BMP file is that the standard full Windows GPSS will NOT display the file. This could be a problem for those who want to checkout the mapping on their desktop PC with GPSS, before activesyncing files to the Pocket PC for use with GPSSppc. There is a work-around for this: use the old 32-bit version of GPSS.EXE from the oldnew page. This uses a more recent Microsoft DLL and so seems to handle the renamed JPG files OK. But this approach of using renamed JPG files is NOT reccomended, and there may be better ways of making your image files smaller, or of overcoming restrictions in the Pocket PC Microsoft Compact Framework, than this. e.g. use of image software to scale the image as small as possible yet still see the smallest text clearly, then reduce the number of colours in an optimised mode, before saving as a BMP file.

Description of GPSS Maps - DES files

DES files are used to describe GPSS maps, which can be of many different formats. The DES file describes the map, and provides GPSS.EXE with information such as the file(s) holding the map image, and relationship of this image (or data) with WGS84 lat/lon.

DES files have an ancient history, stretching back to software designed by Robin in the early 1970s, and that partly explains the format, which has been modified and extended over the years.

Easiest for the reader if we start by looking at an example DES file of the most common format - the "LL" or "Lat/Lon aligned" format. Here is SUNNIVAL.DES, which describes the map in SUNNIVAL.BMP :

Sunnyvale Area
SUNNYVAL
LL, 640, 480
371908N1221771W, 53, 378
373470N1215221W, 522, 0
SUNNYVAL.WAW

Here is an explanation of each line:

Sunnyvale Area - the name of the map. e.g. displayed in a menu.
.... Important ! No commas! e.g. "1:50000 Ascot" is OK, but "1:50,000 Ascot" is not.
SUNNYVAL - the file name. i.e. SUNNYVAL.DES, SUNNYVAL.BMP, etc.
... Important ! No more than 8 characters. e.g. "50KASCOT" is OK, but "1IN50KASCOT" is not.
LL, 640, 480 - Map Type = "LL", size of BMP file in pixels.
(for old mapping files this may appear as "LL, 0, 0" - taken by GPSS as 640x480)
(GPSS should handle BMP files of any resolution including 800x600 and 1024x768)
(however, it is reccomended that a lower res. such as 640x480 or 800x600 is used) 371908N1221771W, 53, 378 - first (south west) calibration point.
373470N1215221W, 522, 0 - second (north east) calibration point.
Each of the two calibration points has three parameters: location, X, Y.
Location is lat/lon or grid in any of the allowed GPSS formats. See "Formats for Geographic Position" above.
X and Y are pixel coordinates of these points in the BMP image. X=0 on left (west) and Y=0 at top (north).

SUNNYVAL.WAW - the WAW file selected when this map is selected.

Here is an example of a UK map, aligned with UK Grid instead of WGS84 lat/lon:

Armitage Crt from getmapping.com
GETMAP
GG, 2000, 2000
SU 93050 67050, 0, 1999
SU 93550 67550, 1999, 0
GPSS.WAW

Visit the GetMapping page to read how to import maps from www.getmapping.com

old format UK DES files ...

Here is an example of an old format UK map, aligned with UK Grid, ASCOT.DES:

Ascot
ascot
SU9066, 28 , 399
SU9069, 28 , 100
SU9666, 628 , 400

Here you begin to see the "ancient ancestory" of DES files:

Ascot - map name as mentioned earlier.
ascot - file names as earlier.
SU9066, 28 , 399 - first calibration point (south-west)
SU9069, 28 , 100 - second calibration point (north-west)
SU9666, 628 , 400 - third calibration point (south-east)
(no WAW file line, so assumed to be default GPSS.WAW)

When DES files were first "invented" by Robin, it was intended that map rotation would be supported: hence presence of three calibration points. However, over the years this was never implemented (in this way) and so the first of these lines was used to extend the range of GPSS map types. e.g. "LL" maps discussed earlier.

DES files used to exploit USA vector mapping ...

If you are in the USA, you may have downloaded VEC files after reading the TIGER Page, providing free street level mapping for all USA.

GPSS vector mapping is documented here

Here is an example of a VEC DES file, USA2KY.DES :

USA 2000 yards
USA2KY
VEC,1.83,0
100000N1750000W, 0, 479
800000N0450000W, 639, 0
C0703_V1200_W0101_S0214_T0108-R0508_R0312_H1008_H0711_H0108_S1000$R1000$H1000$

USA 2000 yards - the name of the map.
USA2KY - the file name, linking to files such as USA2KYS.VEC, USA2KYH.VEC, etc
VEC,1.83,0 - VEC type map, of scale east-west across display of 1.83 km (2000 yards).
100000N1750000W, 0, 479 - south west limit of this scale.
800000N0450000W, 639, 0 - north east limit. (other values not used)
C0703_V1200_W0101_S0214_.....etc - plotting instructions.

Note that this file describes a particular scale of map, covering all the USA (Latitudes 10 to 80 North, Longitudes 175 to 45 West) with appearance being determined by the formatting instructions on the last line (where a WAW file would normally appear). GPSS selects the "best" WAW file automatically, when this map (scale) is selected.

The "plotting instructions" are used by GPSS.EXE to determine how to create the vector map image on the screen. The line of text breaks down into groups of 6 character (e.g. "S0214_") each of which define a particular plotting action.
e.g. for the text "S0214_":
S = file name is S added to USA2KY. i.e. USA2KYS.VEC
02 = thickness of line drawn in display pixels.
14 = colour (Yellow here) as a Microsoft (QBasic colour).
_ = line type (continuous here).

There are other types of DES file, but they are not documented here (yet).

3. "WHERE ARE WE ?" FACILITY - WAW Files.

GPSS speaks to tell you where you are relative to towns or landmarks.
e.g. "we are 25 miles west of London and in Sunninghill".
e.g. "we are in London and 250 yards south of Big Ben".

This facility is controlled by simple text files with the extention .WAW for Where Are We. GPSS.WAW is the default file, but other files can be selected when a new map is selected from the information in the .DES file. It is very simple to extend the detail of this spoken description to smaller towns or landmarks, by simply editing the WAW file and creating new sound files (in as similar voice to the existing one as possible). You will find the information in the .WAW files self-explatory, but you may need to know the following : the last field is the nominal radius of a place in Kilometres.

Here is a typical extract from BRAZIL.WAW :

225465S0431268W,Rio de Janeiro,RIODEJAN.WAV,6
230065S0431840W,Bara da Tijuca,BARADATI.WAV,.8
154976S0475367W,Brazilia,BRAZILIA.WAV,12.7
- so Rio is represented by a 6 kilometre radius circle around the location 225465S0431268W - or 22 degs 54.65 mins South 43 degs 12.68 minutes West.
The sound "Rio de Janeiro" has been recorded into file RIODEJAN.WAV.

The order of the places in the WAW file is not important : GPSS scans the file every minute - or when you ask 'Where are We ?' - and selects the nearest big place, and the nearest other place, for the description.

Version 4.1 and older versions of GPSS assume that a 'big' place is 6km radius or larger. There must be at least one big place in the file. This controls GPSS saying you are inside the place (so don't make a landmark too big, or it will say you are inside it. 0.01 is OK). It also controls the logic which describes your position relative to a big place before the nearest smaller place - if there is one. Later versions of GPSS included a modification to automatically take the largest place in the file as 'big' if all of them were small. It is also possible to set the 'big' threshold to something smaller than 6 km by use of the following statement at the top of the WAW file :

BIGPLACE,,,1.5
- this will set it to 1.5 km.

These facilities mean that the 'Where are We' description can match the scale of the displayed map : if you have zoomed out to a small scale (large area) map, the description might be in terms of major cities and towns; if you have zoomed into a more detailed street plan map, the description might be in terms of districts and landmarks.

3.1. making WAW files using GPSS.

GPSS includes a tool which means you can make a WAW file by clicking on maps you have added to GPSS. Here are the steps:

  • run GPSS and switch of the demo with | key or Ctrl-C STOP DEMO.
  • Use Ctrl-C experimental page to switch of automatic map selection and select a map.
  • left click to put destination (square) icon on centre of place. e.g. a town.
  • right click to put car (white circle) on edge of the place to indicate it's size.
  • suppose the name of the place is "Colaba". Hit ` key to get text input control:
    `/Colaba
    - followed by the Enter key.
  • repeat for other places such as towns or landmarks.

The result will be lines of text appended into NEW.WAW

You can open NEW.WAW with Notepad and edit the data, such as changing the size of place at the end of each line, or adding a BIGPLACE command at the start.

You can then record the WAV files needed for each of the places. e.g. COLABA.WAV

You then copy NEW.WAW to whatever is the correct file. e.g. MUMBAI.WAW

You can see the places in the WAW file be entering:
`/waw
they are plotted as circles: red if no WAV file found: white if found. You can use this to see if you have enough places in the WAW file, if you have recorded all the sounds, etc.

4. SEARCHING - GTX Files, GPSS.CAT, GPSS.FND

Before discussing more complex data such as GTX and GEO files, you need to understand the file called GPSS.CAT.

GPSS.CAT simply lists codes, with their fuller text meaning, used by GPSS.

e.g.

E,Eating Place
ER,Restaurant
ERC,Chinese Restaurant
GPSS.CAT is in an open format, so it is possible to change. However, this is not reccomended without close coordination with Robin Lovelock, since GPSS logic is matched into some of the category codes. You will see from the above example that the codes attempt to follow a rational structure.

The category codes relate, by name, to corresponding sound files.
e.g. $ERC.WAV holds the sound "Chinese Restaurant".

Adding Places to Find in GTX files

You will find a number of files with .GTX extensions. These are files that contain lists of places such as 'Eating Places' ($E.GTX), 'Interesting Places' ($LNTEH.GTX), 'Sleeping Places' ($S.GTX), or 'Population Centres' ($LPOP.GTX). You may add new places into these files with Edit.

The format is relatvely simple, with the file content :

$LPOP.GTX contains a few towns
category code,x,y,name    or category code,,grid,name
LPOP,,SU 92200 68800,Ascot in Berkshire,
LPOP,,493712N0060820E,Luxembourg,
LPOP,,503792N0030427E,Lille,

Where the first two lines are comments, LPOP is a category code (e.g. Population Centre) held in GPSS.CAT, 493712N0060820E or SU 92200 68800 is the location in Lat/Lon or UK Grid, and the last string is the name of the place.
(493712N0060820E means 49 degs 37.12 mins north, 6 degs 8.20 mins east)

You can add new places into these files, or introduce new lists by adding the name of the list into GPSS.FND.

The following is a typical GPSS.FND file :

GPSS.FND list of files holding data for searching
gpss.gtx,
$lnteh.gtx,Interesting Place
$e.gtx,Eating Place
$s.gtx,Sleeping Place
$fs.ged,Filling Station
$lpop.gtx,Population Centre
$lr.gtx,Railway Station
$lcs.gtx,Camping Site
end,end
The first line is a comment. Each line until end,end is the file name followed by the information in the file. GPSS.GTX would typically hold all types of place found by name, and is the default place for name search.

$FS.GED is a binary encrypted format for data that is not permitted to be open. (e.g. data provided by oil companies on this condition)

These places will be found if you ask for the nearest or next nearest place of that category. You can also search for places by name. GPSS will search for the nearest place with that text in the name. These places are plotted on the map, and can be selected as destinations for voice guidance.

You may create lists of places with the Editor - and reference to GPS or to a good map. If you have access to a database of places, you may be able to extract data then convert it to this format with a bit of QBASIC program.

4.1 REFMORE in GTX files and WAV file names

During 2007, many full Windows GPSS facilities were added to GPSS for the Pocket PC.

Simplifications were made to provision of "more information" explained in the next section. Some extentions were then put into v6.7 of GPSS, such as what selects the destination WAV sound.

An additional parameter can be included at the end of a GTX file line, as a reference to "more information". For example:
LPOP,,SU 92200 68800,Ascot in Berkshire,
might have this REFMORE added as:
LPOP,,SU 92200 68800,Ascot in Berkshire,ASCOTX

In GPSSppc for the Pocket PC, REFMORE is used to look for "more information" directly. i.e. if the REFMORE is ASCOTX then GPSSppc looks for a sound ASCOTX.WAV that would be a recording giving details about Ascot. Similarly, GPSSppc will look for pictures in ASCOTX.BMP or ASCOTX.GIF or ASCOTX.JPG to be displayed while the sound is played. e.g. a picture of the horse racing grandstand, and a few recorded words about Royal Ascot.

The REFMORE item is also a useful means of specifying a unique sound for the name of the place, typically used as the destination sound. e.g. "Ascot, 1.5 miles ahead...", etc. For a short name like Ascot, this is already done by the name "Ascot" itself, but for some longer placenames, there could be the problem of them starting with the same 7 or 8 character.

GPSSppc and GPSS therefore look for a WAV file as the place name sound, by looking for a WAV file in the following order:

  1. based on REFMORE, preceeded by #. e.g. #ASCOTX.WAV - "Ascot"
  2. based on the name, preceeded by #. e.g. #ASCOT.WAV - "Ascot"
  3. based on just the name. e.g. ASCOT.WAV - "Ascot"
  4. based on the category. e.g. $LPOP.WAV - "population centre".
Note that GPSS and GPSSppc always limit the file name to no more than 8 characters, plus the file name type (.WAV). Spaces are ignored.

GPSSppc v10g and later support "extended" more information. i.e. multiple pictures and sounds.

Multiple pictures and/or sounds are indicated by the character # at the end of the REFMORE.
e.g. ASCOTX# will make GPSSppc look for ASCOTX1.BMP, ASCOTX1.WAV ... ASCOTX0.WAV.

A sequence of up to 10 pictures and/or sounds are supported.

5. MORE INFORMATION - MOR Files.

See section 4.1 above for "more information" on the Pocket PC

In the Ascot demonstration, finding the Berystede hotel caused GPSS to say, "more information is available", and the drivers request, "tell me more", resulted in a picture of the hotel being shown with spoken information.

Sounds and pictures can be attached to places, by including them within GPSS.MOR:

SHR,SU 93200 67100,The Berystede Forte,SU932671.MOR,NULL
SHR,011838N1035000E,Hyatt,011838N1.MOR,NULL
END,END,END,END,END
Note that there is only one comma before the location. GPSS scans GPSS.MOR and if it finds a matching place, with same category and location exactly, it say that "more information is available". The file after the name (note that it is followed by a comma) tells GPSS where to look for sounds, pictures (or multimedia video). So in this example, SU932671.MOR contains :
SU932671.MOR provides more information on The Berystede Hotel in Sunninghill
SU932671.BMP            is a screen image (start with spaces if none)
SU932671.$AV            is a sound (start with spaces if none)
SU932671.TXT            is text (start with spaces if none)
The top line, this and following lines are comments.
Ensure comments on data lines do not start before column 25.
Pad the file names out with spaces.
Fill with spaces if there is no detail of that type.
This information is output in response to "Tell me more".
The format of this file is unchanged since GPSS Version 1 was released in 1995. The first line is a comment, then the following lines include image, sound and text files. These examples are included in the basic copy of GPSS. For multimedia, .BMP will be replaced (optionally) by .AVI.

NOTE : Note the introduction of NULL text and the last line as file terminator.
NOTE : the grid location must match EXACTLY with that in the GTX file.

6. MAP MATCHING - GEO files

GEO files support some of the more sophisticated facilities within GPSS - such as recognising that the car is on a particular street :
"we are on B3020 Sunninghill High Street"

- or near a particular landmark :
"we are near School, on our right"

More information about GEO files is on the GEOFILES Page

GPSS does not use file names greater than 8 characters - so it can run on a variety of operating systems other than Windows 95.

Click here for Page 2