Home . GPS . Download . Business . Partners . Contact . Family . AVL . Links . History . AsOnTV .
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.
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.
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 :
The types of file found within GPSS are :
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.
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.
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.
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:
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
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:
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.
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.
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.
Here is an example of a UK map, aligned with UK Grid instead of WGS84 lat/lon:
Armitage Crt from getmapping.com
Visit the
GetMapping
page to read how to import maps from www.getmapping.com
Ascot
Here you begin to see the "ancient ancestory" of DES files:
Ascot - map name as mentioned earlier.
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.
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
USA 2000 yards - the name of the map.
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.
There are other types of DES file, but they are not documented here (yet).
GPSS speaks to tell you where you are relative to towns or landmarks.
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 :
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 :
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.
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:
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:
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.
The category codes relate, by name, to corresponding sound 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 :
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.
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 :
$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.
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:
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:
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.
A sequence of up to 10 pictures and/or sounds are supported.
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:
NOTE : Note the introduction of NULL text and the last line as file terminator.
GEO files support some of the more sophisticated facilities within GPSS
- such as
recognising that the car is on a particular street :
- or near a particular landmark :
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
.... 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.
GETMAP
GG, 2000, 2000
SU 93050 67050, 0, 1999
SU 93550 67550, 1999, 0
GPSS.WAW
old format UK DES files ...
Here is an example of an old format UK map, aligned with UK Grid, ASCOT.DES:
ascot
SU9066, 28 , 399
SU9069, 28 , 100
SU9666, 628 , 400
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)
DES files used to exploit USA vector mapping ...
USA2KY
VEC,1.83,0
100000N1750000W, 0, 479
800000N0450000W, 639, 0
C0703_V1200_W0101_S0214_T0108-R0508_R0312_H1008_H0711_H0108_S1000$R1000$H1000$
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.
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).
3. "WHERE ARE WE ?" FACILITY - WAW Files.
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".
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.
BIGPLACE,,,1.5
- this will set it to 1.5 km.
3.1. making WAW files using GPSS.
`/Colaba
- followed by the Enter key.
`/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
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.
e.g. $ERC.WAV holds the sound "Chinese Restaurant".
Adding Places to Find in GTX files
$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,
(493712N0060820E means 49 degs 37.12 mins north, 6 degs 8.20 mins east)
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.
4.1 REFMORE in GTX files and WAV file names
LPOP,,SU 92200 68800,Ascot in Berkshire,
might have this REFMORE added as:
LPOP,,SU 92200 68800,Ascot in Berkshire,ASCOTX
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.
e.g. ASCOTX# will make GPSSppc look for ASCOTX1.BMP, ASCOTX1.WAV ... ASCOTX0.WAV.
5. MORE INFORMATION - MOR Files.
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 : the grid location must match EXACTLY with that in the GTX file.
6. MAP MATCHING - GEO files
"we are on B3020 Sunninghill High Street"
"we are near School, on our right"