TomTom Software Development Kit
Version 5.0
(for the TomTom GO)

Points of Interest


1. Introduction

It is possible to add new Points of Interest (POI) to the TomTom GO. This section explains how.

Warning:
(1) No information stored in OV2 format, or extracted from files in OV2

format (using whatever means, tools or techniques, based upon either

published or self-discovered knowledge about the OV2 format), nor

any knowledge about the OV2 format itself, may be

- sold in any form, unless with written permission from the owner

of the original (raw) information,

- used from within any application other than a TomTom product,

commercial or otherwise, without explicit written permission

from a director of either TomTom BV or TomTom Inc, unless

(a) that application has the sole purpose of providing

additional functionality to TomTom navigation applications, and

(b) that application only functions on devices on which a TomTom

navigation application is installed or on devices that

are connected to a device on which a TomTom

navigation application is installed, and

(c) that application is accompanied by a warning similar to

this warning.

(2) Furthermore,

- we will not provide support about the format, or any related

tools or documentation,

- we do not guarantee correctness or completeness of the either

the format, the tools or the documentation,

- we hold the right to change or extend the format without notice,

- we do not guarantee that details of future, changed or extended

formats will be made available,

- we do not guarantee that future, changed or extended formats will

be compatible with the current format,

- we do not promise that we will allow the same things for future,

changed or extended formats.

(3) Finally, please note that

- the POI data that is distributed as part of TomTom products is

(a) not in OV2 format, (b) expressly not allowed to be accessed

in any way whatsoever, and (c) protected by international

copyright laws.

2. Example POI database

Copy the following code into a file called Campings_Amsterdam.asc or use the corresponding file from the /TomTomGO-SDK/examples/poi/ folder.

;Camping Grounds in Amsterdam, The Netherlands

4.82340 , 52.29490 , "+/- Camping"

4.92660 , 52.39160 , "Camping Vliegenbos"

4.96000 , 52.37010 , "Camping Zeebrug"

4.99270 , 52.31340 , "Camping Gaaspercamping"

Here several camping grounds in Amsterdam are defined by their latitudes, longitudes and names. Please note that an empty line should be added to the database, in order for the last entry to be read in.

Now use the tool makeov2.exe from the directory /TomTomGO-SDK/tools/. From a command line type the following command:

makeov2 «mypoi_path»/Campings_Amsterdam.asc «mypoi_path»/Campings_Amsterdam.ov2

where

  • «mypoi_path» is the path to the directory where 'Campings_Amsterdam.asc' is located.

This converts the text file Campings_Amsterdam.asc into a file called 'Campings_Amsterdam.ov2', which contains the same POI database in TomTom GO format.

Now copy the converted Campings_Amsterdam.ov2 to the directory where your map data is located on the SD card. For example, if you use the Benelux map this directory is called /mnt/sdcard/Benelux-Map/.

Restart the TomTom GO and the POI category "Campings Amsterdam" is added to the default POI categories.

Please note that this example database contains records of camp grounds in Amsterdam. These camp grounds can of course only be viewed on an map containing Amsterdam, but as an example this OV2 file can be used with other maps as well (you can select the category and add POI to it, the category shows up when selecting a Point Of Interest as a destination, etc.).

3. Installing POI databases

A POI database for the TomTom GO consists of a file with extension OV2 and, optionally, a companion file with extension BMP. To make such databases visible as a POI category on the TomTom GO, these files must be stored on the SD card in the same directory where the map data is located:

/mnt/sdcard/«mapdata»

where

  • «mapdata» is the directory where your map data is stored. For example, if you want to add a poi-category to the map for the Benelux, this directory is called Benelux-Map.

After you have put the OV2 file on the SD card, restart the TomTom GO and if the file is correct, the new POI category will be added to the existing categories, with the BMP file being the icon for the category. If the BMP file is omitted, some default icon will show.

In the Manage POI page of the Preferences Menu, make sure the "Display POI" option is check marked. Also, make sure the new POI category is check marked from the Enable/Disable POI menu option (it is by default).

Even if you choose not to display your POI on the map, you can now select them in the same manner as the default POI categories, i.e. "Navigate To", "Itinerary Planning", etc.

4. Creating POI databases

POI databases can already be created manually on the TomTom GO by using the "Add POI Category" from the "Manage POI" menu in the Preferences Menu. Once the category is defined, an OV2 file with the same name as the category is created in the directory where your map data is located. When adding a POI to this category, information on the POI is stored in this file.

These OV2 files can also be created by converting whole databases into the TomTom navigation application format on your PC.

The input file on your PC should be a text file, preferably with extension ASC.

Every line should represent a point of interest, defined by the following:

«longitude» , «latitude» , «name»

where

  • «longitude» is the longitude of the POI as explained below
  • «latitude» is the latitude of the POI as explained below
  • «name» is the name of the POI between double quotes.

The fields should be separated by commas.

Longitudes and latitudes may be specified either as degrees and fractions of degrees, or in degrees, minutes and seconds. Both colons and single-quote/double-quote notation may be used for minutes and seconds. So, the following lines are all equivalent:

53.5 , 4 , "Truckers Restaurant La Bamba"

53.5000000 , 4.00000000 , "Truckers Restaurant La Bamba"

53'30"00 , 4'00"00 , "Truckers Restaurant La Bamba"

53'30 , 4'0 , "Truckers Restaurant La Bamba"

53:30:0 , 4 , "Truckers Restaurant La Bamba"

Any line starting with a semi-colon will be ignored, as well as empty lines.

5. Converting POI databases

The ASC file representing a POI-database can be converted into an OV2 file, which is in the TomTom GO format, by using the following tool provided with the SDK:

/TomTomGO-SDK/tools/makeov2.exe

The following command converts a text file representing your POI Database into an OV2 file:

MAKEOV2 «inputfilename» [«outputfilename»]

where

  • «inputfilename» is the name of the text file representing your POI database(extension ASC is recommended).
  • «outputfilename»is the name of the OV2 file for use on the TomTom GO. If omitted, this file will have the same name as the input OV2 file, but with extension OV2.

It is also possible to convert OV2 files into text files, which can be useful if you have created an OV2 file on the TomTom GO to which you want to add POI on your PC, or if you have downloaded one.

The tool to use then is:

/TomTomGO-SDK/tools/dumpov2.exe

The following command converts an OV2 file into a text file:

DUMPOV2 «inputfilename» [«outputfilename»]

where

  • «inputfilename» is a valid TomTom GO navigation application POI file (extension OV2)
  • «outputfilename» is the name of the text file to represent your POI database. It is recommended to use the extension ASC for the output file.

If the name is omitted, the output file will have the same name as the input file, but with extension ASC.

Note that there are several OV2 files available on the Internet and on the TomTom website.

6. OV2 file structure

This section explains the OV2 file format, for developers who want to create OV2 files without converting them with makeov2.exe.

An OV2 file consists of a sequence of variable-length records. Every record starts with a one-byte "type". This type tells you how to process the rest of the record.

You should not encounter types other than 0, 1, 2 and 3 - if you do, the file is either corrupt or in a different (e.g. a higher-version) format.

Coordinates are stored as 4-byte integers representing a WGS84 longitude or latitude, multiplied by 100,000 and rounded to the nearest integer. As such, an X-coordinate should always be a value between -18,000,000 and +18,000,000, and a Y-coordinate should be a value between -9,000,000 and +9,000,000.

DELETED RECORD:
1 byte     T: type (always 0)

4 bytes L: length of this record in bytes (including the T and L fields)

L-5 bytes bytes to ignore (content undefined)

SKIPPER RECORD:
1 byte     T: type (always 1)

4 bytes Number of bytes in the file, including and starting at this

record, that contain data for POI enclosed in the given

rectangle

4 bytes X1: longitude coordinate of the west edge of the rectangle

4 bytes Y1: latitude coordinate of the south edge of the rectangle

4 bytes X2: longitude coordinate of the east edge of the rectangle

4 bytes Y2: latitude coordinate of the north edge of the rectangle

SIMPLE POI RECORD:
1 byte     T: type (always 2)

4 bytes L: length of this record in bytes (including the T and L fields)

4 bytes X: longitude coordinate of the POI

4 bytes Y: latitude coordinate of the POI

L-13 bytes Name: zero-terminated ASCII string specifying the name

of the POI

EXTENDED POI RECORD:
1 byte     T: type (always 3)

4 bytes L: length of this record in bytes (including the T and L fields)

4 bytes X: longitude coordinate of the POI

4 bytes Y: latitude coordinate of the POI

P bytes Name: zero-terminated ASCII string specifying the name

of the POI

Q bytes Unique ID: zero-terminated string specifying the unique ID

of the POI

L-P-Q-13 bytes Extra data: zero-terminated string, not used yet

If you encounter any other type, either the file is corrupt, or the file contains extra (proprietary) records. In either case, you should stop processing immediately. Since there is always the danger that the file is corrupt, you should in fact wonder whether the preceding records read so far were in fact valid.