<DOWNLOAD>

POI_DB_creator

CONTENT

Overview
Using the program (basic)
More detailed

Modify cat.def file with description of the names and icons for the categories.
Start the program
Point to folder, where database will be created.
Backup existing database.
Enter POIs information
Create Database

More features

Format of CSV files
Import category definitions.
Find, Find Next.

Working with Auxiliary records

Enter and show record information

How to create AUX record

Define Fields names for the selected category
Auxiliary record in the CSV file

Map look
Performance

 

Overview

Please see What is a POI if you are not familiar with POIs. If you like to know how POI DB is organized please see POI specification.

The program creates custom POI databases. The database is fully compatible with MapSend and MMO. POIs can be seen on the PC screen (with full support of search, if MapSend product has POIs search engine). Then POIs are exported to GPSR by usual way within the *.img file.

Program has definition file for all 87 POIs categories; any set of the categories can be used in the custom database. There is no limit for number of POIs in the program (there is a "natural" limit in the MapSend/MMO format of databases, 65535 POIs (2 bytes value) for one cell (~2.8x2.8 degree))).

The program creates the following files (which are the parts of POI database):

( Path is the main folder for MMO or MapSend application (i.e. C:\Program Files\MobileMapper Office)

1. In the Path\MAP directory:

  • all_poi.lay
  • all_poi.clt
  • all_poi.drc
  • poi.cfg

2. In the Path\MAP\RaimaOut directory

  • poi_data.dax
  • poi_data.dct
  • poi_data.dpo
  • poi_data.dsc
  • poi_data.dtx

3. In the Path\DATA directory

  • catscat.dat

4. Modifies [POI] section of the Path\MAP\export.cfg

Program has a BackUp feature, so existing database can be backuped (all files that have been changed) and than can be restored. As many as needed backups can be done; the program automatically increases number in the backup files extension and creates numbered restore file (see using).

POIs can be imported in and exported from the program as a plain text with adjustable format. For the format of this file see below.

Using the program (basic)

Use hints to get help on the program control (by pointing the mouse on the control).

7 steps for the first run, Fig. 1:

  • Check “cat.def” file, replace first line, if needed, showing the path to the MAP\poi_img folder.
  • Run POI DB program, Icons for categories should be shown in the grid.
  • Browse to the root Folder with MapSend\MMO application (right-bottom part of the screen) (1)
  • If you are using not MapSend Topo or MMO, remove (rename for backup) MAP\fast_lay.dta and MAP\fast_db.dta files (see Note 1). Modified, see Note 2
  • Back up existing POI DB (if any) with “File-BackUP POI DB” menu.
  • Open (“File-Import New CSV menu”, (2)) “test_mmo_poi.txt” (included as a test file); Grid will be populated with POIs
  • Press “Create POI DB”. (3)

The rectangular matrix of 87 categories + 8 more (of “Aerial”) will be created at –73 latitude, 42 longitude. This is near from New York City (USA).

Note 1: Some MapSends have fast_lay.dta and fast_db.dta files, they are needed for fast start of the MapSend. In this case MapSend uses headers predefined in these files, but not the header from the all_poi.lay file. To force MapSend using the original headers (from all_poi.lay), these files should be removed (renamed). POI_DB_creator has built-in header for MapSend TOPO, when MapSend TOPO is used, it not necessary remove/rename fast_lay and fast_db.dta files. MMO and WWBM does not have the files et all.

Note 2. This was modified in new version, now program authomatically searches for the header, if POI_DB_createor find the header "auto" checkbox becomes marked. Also "WWBM" checkbox added to work with MS WorldWide basemap. In the case of "auto", "WWBM" and "TOPO" not necessary rename (delete) fast_db and fast_lay files. I know only 1 MapSends, where the files must be renamed (removed), this is MapSend Europe (this program does not have POI et all). In the Now there are 4 checkboxes at the bottom-right side: "TOPO"," MMO", "WWBM" and "Auto" (not shown in the Figure (Fig is not updated)). With new "auto" feature "TOPO" is no longer needed (only for experiments, may be). Briefly speking, use "MMO" type for MMO and Europe," WWBM" for WWBM, in all other cases "auto" is OK. Once POI DB was created, next runs can be done with "auto", because POI_DB_creator will find proper header (created at the first run).

More detailed

Modify cat.def file with description of the names and icons for the categories.

Format of the cat.def file:

a) 1st line: Path=c:\………..\ . path where icons for categories are located. Default is: Path= C:\Program Files\MobileMapper Office\MAP\poi_img\
b) 2nd and below
CAT_name, image.bmp, GPRS_CAT_name
………………………..
…………………………

CAT_name is a name for the Category (will be shown on the PC and GPRS screens); image.bmp is a *.bmp file for this category (located in the MAP\POI_img), GPRS_CAT_name is an internal name for the category in the receiver (do not modify, even if there is spelling error (like “restuarants’); these names are located in the firmware and can not be changed. CAT_names can be in any order (not necessary alphabetically sorted). “;” can be used for comments

Example (several top lines of the cat.def file):

CAT_name and image.bmp can be any name and 13x13 bmp file for display in the PC application (MapSend or MMO). CAT_name will be used also as a category name in the GPRS (but icons are predefined in the firmware). The GPSR uses icons for category determined by GPRS_CAT_name, so this name must match internal name for the icons in the receiver.

You can modify CAT_name as you like (but not recommended) (for some reasons MapSend\MMO do not accept two sequential capital letters (i.e. ATm or RV_service) avoid them). The list of categories in the “cat.def” file includes all possible categories, if your application does not have appropriate icon, the category will be skipped automatically. Please modify the list carefully, wrong list is a common reason of the errors.

If the application (i.e. MapSend TOPO for the US) does not have some icons, you can add them to the MAP\poi_img folder (file with all 87 13x13 icons is included). In the MMO there are 82 icons, five more icons are needed to get complete list of 87 (exit.bmp, large_city.bmp, major_city.bmp, medium_city.bmp, small_city.bmp), you can find them in the file provided.

If there is no *bmp file, the category will be skipped. For example, if you use cat.def file with the list of all categories, but first line points to the MapSend Topo (where there is only 40 matching icons) you will see only 40 icons in the grid and 40 names in the dropdown list. To have all categories available, append MAP\POI_img folder with missing icons (*.bmp files).

Start the program

If path to the *.bmp files is correct (first line in the cat.def) and format of the cat.def file is OK, you should see matrix populated by the icons and dropdown list with names of the categories (See Fig 1, left-top part). At first start the program creates entry in the windows registry ( HKEY_CURRENT_USER\Software\POI_editor) with the default path to the program, default names and some other parameters. If you will move program to another directory different from the first start, better remove POI_editor entry from the window registry (or edit CAT_def value (in the key "POI-editor" in the registry) to the new path), if the entry has been deleted, new entry will be created after next lunch of the program.

Point to folder, where database will be created.

This control is located at the right-bottom side of the window. You should select root folder of the application (i.e. C:\Program Files\MobileMapper Office or C:\Program Files\Magellan\MapSend Topo US).

Backup existing database.

BackUp creates files “res_setN.rst” (where N is a number of the backup, this number automatically increases, so it is not necessary take care about this number). The “res_setN.rst” (located in the Path folder) contains names of the files of the current backup. Backup renames above mentioned POI’s database files to the extension *.???_bckN, where N is a backup number. There are “BackUP POI DB” and “Restore POI DB” items in the "File" menu of the program to create (restore) database.

Enter POIs information

Select category, enter name, coordinates (N-S, W-E, or Global (sign)) and press “Add POI” button. The POI will be seen in the list. If “New” is selected the POI will be inserted in the list, if “Edit” is selected the POI will replace highlighted item.

N-S or W-E use positive values (if negative value is entered, the value will be changed to positive automatically); Global uses “+” for N and E and “-“ for S and W. Internal format is Global, coordinates automatically will be converted to Global while entering.

When POI list is populated for all select categories, press Show button (with the label “CAT to export”, Fig. 1 (4)) under dropdown box with the categories. Click on appropriate checkboxes to select what categories you would like to export. The tree shows only not empty categories. See Fig. 2.

Also POIs can be exported from the Comma-separated list, see the format below.

Create Database

Press “Create POI DB’ button at the bottom-right side of the window.

More features

Format of CSV files

Export and Import database as a plain comma separated text

Database can be imported and exported as a plain text. Import: menu "File"-"Import New CSV" (creates new database, all records will be removed); "File"-"Append CSV" (appends CSV to existing database); Export: "File"-"Export CSV".

Format of the file:

[CAT_name1]
<comment>POI_name<separator> longitude<separator> latitude
…..
…..
[CAT_name2]
POI_name<separator> longitude<separator> latitude
…….
…….
[CAT_name1]
POI_name1<separator> longitude<separator> latitude
<comment> POI_name2<separator> longitude<separator> latitude //this line will be skipped
POI_name3<separator> longitude<separator> latitude

For example: if <comment> is ";" and <separator> is ", "(comma+space) :

;[CAT_name1]
;POI_name1, longitude, latitude
; POI_name2, longitude, latitude
;POI_name3, longitude, latitude

(the whole CAT_name1 category will be skipped, because all lines are commented)

POI_name can be up to 41 character in length (if more, the rest will be cut by GPSR).

<comment> and <separator> can consist of 1 or 2 characters and can be tuned with "CSV format" menu. Any combination of characters, except "x", "X", "t", "T" is permitted for <comment>. For <separator> "t", space, comma, semicolon and colon are allowed. "t" denotes TAB delimiter(separator).

Default settings are: <comment> is ";" and <separator> is ", " (comma+space). Any decimal delimiter (in Latitude and Longitude) is accepted (“.”, or “,”); Any characters are allowed in the POI name (including comma). Format of CSV file can be chosen from the program ("CSV format" menu)

Import category definitions.

You can select any file containing category definitions with format described above. If there is an error in the CAT_name or in the coordinate the warning message will be shown, the point will be skipped.

Find, Find Next.

There is a checkbox “case” indicating if search will be case sensitive.

Working with Auxiliary records

Enter and show record information

Each category may have (not obligatory) the record common for all POIs in the category. The "Category record" window can be shown with "DB record-Show" button (Fig.1, (5) ). Figure on the left picture shows this window. Right image shows this information as it seens on PC screen (note: to select POI and show the record unselect any zoom and pan, to have arrow cursor in MMO\MapSend). This ecord can be shown also on GPSR screen ("Menu"-"Database").

How to create AUX record

Define Fields names for the selected category (left column)

1. Check checkbox at the bottom of the window (see above left image). This will permit editing of the Field Names (protection is needed because it affects all POIs in the category). Enter fields names with the following rules:

1) Field name can not be empty (if empty, it will be skipped)
2) For the captions (shown in green on the right image) use the following :@@CaptionName@@. Captions do not have any values.
3) "noname" use for values without names (i.e. Address information in the above example)
4) any string: will be shown together with the corresponding value (i.e Phone: in the example)
For convenience, buttons "Caption","Item","Noname" and "Delete" can be used to insert corresponding prototype. The same function can be done with right-button mouse popup menu. Also these names can be inserted manually from keyboard.

2. Press "Create" button, warning message will be shown, press OK.

3. Define values for the selected POI. (right column of the window shown at the left).
1). Modify the appropriate values (right column) for the selected POI (POI must be in a string grid (Main window) and Record Fields (1, above) must be defined prior to editing the values).

2) Field can have an empty value, the corresponding field will not be shown for the POI, if all fields under Caption are empty Caption will not be shown.

3) Press OK button at the bottom of the window.

Auxiliary record in the CSV file

Field values MUST be the next line after CAT_name in the CSV file. Separator for the field is "|". Field names in the definition must have all field names, including captions. as many fields are allowed as you want, for example "Campground" category in the MapSend Topo has about 60 fields (not all of them are filled for all POIs, but all must be defined for the category).

[Aerial]
|noname|noname|Elevation:|@@Address@@|Phone:|Fax|@@Facilities@@|sites#|towing|repair|

values for POIs may not have Captions fields. Blank fields at the end can be skipped:

Example of the record that will be handled the same way:

1. aerial information number #4|||11 m||||1002|no,
2. aerial information number #4|||11 m|@@Address@@|||@@Facilities@@||1002|no,

The simplest example is 1 line of auxiliary information:

3. aerial information number #4|some aux information,
or the same:
4. aerial information number #4|some aux information|||@@Address@@|||@@Facilities@@||||,

Here is one more example (file was created from MapSend Canada with POI_DB_extractor). There are 2 fields: "Address" and "Province".


if there is no field definitions, only POI name is an attribute of the POI, For example MapSend Australia (SA) does not have fields for any of the categories, only the name and coordinates:


Map look

POI_DB_creator creates POI visible at zoom level above 1:100,000, this easily can be changed by editing [ACLV_INFO] section in the poi.cfg file.

[ACLV_INFO]
all_poi=1 1 1001.000000 0

If you want see POIs at any zoom level replace the last 1 to 0:

[ACLV_INFO]
all_poi=1 1 1001.000000 1

See specification_pa10 at Mapsend_format group for more information on visibility adjustment.

Performance

Test: Random names (14 characters in size), 10 categories, 100000 POIs in each category; total # of POIs is 1,000,000. Import speed of the CSV is ~4000 POIs/sec (2.2Ghz, 256 Mb, XP). DB creation takes 1-2 min.