docpoi-uk

Upload: pvitruvian

Post on 07-Jul-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 docPOI-uk

    1/27

    Navteq navigation CD for RT3 structure21/10/2006

    1. Preliminary......................................................................................................................... 3

    1.1. Disclaimer ..............................................................................................................31.2. Why this document................................................................................................. 31.3. CD version(s) described.........................................................................................3

    2. Main contributors ...............................................................................................................43. General information ...........................................................................................................4

    3.1. Localization by zones............................................................................................. 43.2. POI localization by country, region, department city and district. ........................ 7

    4. File structure.......................................................................................................................84.1. Files naming rules .................................................................................................. 84.2. Files in the tree structure under the root................................................................. 84.2.1. P_RR\CAT\ZZZDCP.CAT................................................................................84.2.2. P_RR\IND\ZZZCOM.IND ................................................................................94.2.3. P_RR\INSCIV\LZWZZZ.S_C......................................................................... 104.2.4. P_RR\LET\ZZZTOP.LET................................................................................ 104.2.5. P_RR\TOP\ LZWZZZ.TOP............................................................................. 104.3. Files in the root.....................................................................................................114.3.1. CONFIG.LOG..................................................................................................114.3.2. DB_DWNL.OUT............................................................................................. 114.3.3. DCN.DAT ........................................................................................................ 114.3.4. FRANC002.DEG ............................................................................................. 114.3.5. FRANC002.DPL.............................................................................................. 124.3.6. FRANC002.DRL..............................................................................................124.3.7. FRANC100.DEG ............................................................................................. 124.3.8. FRANC100.DPL.............................................................................................. 134.3.9. FRANC100.DRL..............................................................................................134.3.10. FRANC.DEG ................................................................................................... 134.3.11. FRANCDET.DRS............................................................................................ 144.3.12. FRANC_EX.DPS............................................................................................. 144.3.13. FRANC_EX.DSS............................................................................................. 144.3.14. FRANC_EX.RID ............................................................................................. 144.3.15. FRANC_XX.POI ............................................................................................. 144.3.16. FRANC_NOMSERV.DAT.............................................................................. 15

    4.3.17. FRANC_NV.DAT............................................................................................ 154.3.18. FRANCCAT.POI............................................................................................. 164.3.19. FRANCDPA.LZW........................................................................................... 164.3.20. FRANCDSP.POI..............................................................................................164.3.21. FRANCPOI.DAT............................................................................................. 174.3.22. FRANCXXX.DSC........................................................................................... 184.3.23. FRANCXXX.DST ........................................................................................... 194.3.23.1. FRANCSCC.DST ........................................................................................204.3.24. FRANSCC.IMP................................................................................................ 204.3.25. GRUPPO2.DAT............................................................................................... 204.3.25.1. File header .................................................................................................... 20

    4.3.25.2. CodNazGuidSX............................................................................................ 204.3.25.3. DIVIETI.DAT.............................................................................................. 21

  • 8/19/2019 docPOI-uk

    2/27

    4.3.25.4. DPN.CAT..................................................................................................... 214.3.25.5. FRANC.Geo................................................................................................. 214.3.25.6. FRANC.TiT.................................................................................................. 214.3.25.7. FRANC_EX.DMR .......................................................................................214.3.25.8. FRANC_EX.DSR ........................................................................................22

    4.3.25.9. FRANC_UK.POI .........................................................................................234.3.25.10. FRANCCAT.POI .....................................................................................234.3.25.11. FRANCCHR.TXT.................................................................................... 234.3.25.12. FRANCOM.LET...................................................................................... 234.3.25.13. GENDET.DAT.........................................................................................234.3.25.14. Label.txt.................................................................................................... 234.3.25.15. Map.ver .................................................................................................... 234.3.25.16. PrefInt....................................................................................................... 234.3.25.17. RdsTable...................................................................................................234.3.25.18. RdsTableLibere........................................................................................234.3.25.19. Release ..................................................................................................... 234.3.26. GUIDA_CHAMPERARD.POI........................................................................ 234.3.27. SCITTANAME.DAT.......................................................................................234.3.28. SIF.VER ...........................................................................................................234.3.29. SW_VER.DAT................................................................................................. 234.4. Summary ..............................................................................................................244.4.1. File size (TD3002900) .....................................................................................244.4.2. File link ............................................................................................................26

    5. Comment ajouter un POI.................................................................................................. 27

  • 8/19/2019 docPOI-uk

    3/27

    1. PreliminaryThis is a draft version of the documentation.In red, missing information or not double checked.

    1.1. Disclaimer

    Copyright (c) 2006, [email protected], [email protected]

    This work is licensed under the Creative Commons Attribution-Noncommercial-NoDerivative Works 2.0 France License. To view a copy of this license, visithttp://creativecommons.org/licenses/by-nc-nd/2.0/fr/ or send a letter to Creative Commons,543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

    All of the information, instructions, and recommendations on this document are offered on astrictly "as is" basis. This material is offered without any warranty, expressed or implied. Inparticular, any and all warranties of fitness for use or merchantability are disclaimed. Neitherthe document writer nor any contributor shall be held responsible for any direct, indirect,incidental or consequential damages, that may result from anything that is viewed on thisdocument, or anything you do as a result thereof. It is up to the reader to determine thesuitability of any directions or information viewed here.

    1.2. Why this documentSince years, a lot of people wanted to add their own POI to those already included in thenavigation CD for RT3. Most of people wanted to add radar or velocity camera, but someothers wanted also to add various customized POI (friends, …)Starting with version 5.5/6.6, the RT3 software lets the user select radar as a kind of POI. Butit is a useless option because there is no radar in the cartography itself.

    The main goal of this document is to describe the data structure of the cartography to be ableto write a software which can customize POI known by they latitude/longitude and generate anew version of the cartography

    Another goal (perhaps more complex) would be to merge two (or more) CD for people (likeme) living near a border. In a day to day usage, it’s a pity the Major Road of Europecartography is totally blank after I cross the German border using a brand new bridgefollowed by a small road.

    And a lot of other usage may be found in the future…

    1.3. CD version(s) described

    This document is based on a CD Navteq for RT3 France 2005/2006 2nde edition (TR3002900).These information don’t apply to “old” CD structure (2004 and before, 2005 for certain

    countries) without compressed files (if there is a LABEL.TXT file in the root or directorieswith name containing letters like C_00 or L_00, this is an “old” one).

  • 8/19/2019 docPOI-uk

    4/27

    Filenames used in CD for other countries may change (see 4.1 Files naming rules).

    Structures should be the same for newer versions as well as for other countries version.

    File size, number of record, exact content (see 4.4.1 File size (TD3002900)) depends ofcourse of the cartography version and country.

    2. Main contributors

    Phil95 : Many thanks to phil95 for all his work. complete description of localization by zones,the way to deflate compressed files, graphical representation of POI and maps…I’ve just renamed GC, MC, PC into LS, MS et SS to ease the english translation of thisdocument.

    dkomputer : Thanks. Without you, I still find a regular pattern into FRANCXXX.DSCinstead dividing it by 17.

    Janfi67 : I’m trying to collect all the available information and to summarize it in thisdocument. Sorry for my poor English.

    3. General information

    3.1. Localization by zonesPlaces, POIs, cartography elements are often localized in this way

    The European map is divided in a first level of 12 (horizontally) by 18 (vertically) largesquares of 256Km by 256 Km called LS.Then each LS is divided into 256 medium squares (16 horizontally by 16 vertically) of 16Kmby 16 Km called MS.Finally, each MS is divided into 256 small squares (16 horizontally by 16 vertically) of 1Kmby 1Km called SS.

    Zones are numbered from 0x00 to 0xFF from West to East, then from South to North.North

    .. .. .. .. ..

    .. .. .. 0x4E

    .. 0xE3 .. ..0xDF0xD6

    .. .. .. ..0xED

    ..

  • 8/19/2019 docPOI-uk

    5/27

    0x3f 0x40 0x41 0x42 ..

    0x33 0x34 0x35 0x36 ..

    South

    Inside a Small Square, a POI is fully localized by two coordinates, X and Y between 0 and999.

    POI coordinates are LS, MS, SS, X and Y. Another way to express them using a commongeodesic language is :

    Formulas to translate LS, MS, SS, X, Y into E, N:

    E = 256000 * LS mod 12 + 16000 * MS mod 16 + 1000 * SS mod 16 + XN = 256000 * LS div 12 + 16000 * MS div 16 + 1000 * SS div 16 + Y

    Formulas to translate E, N into LS, MS, SS, X, Y:

    LS = (E div 256000) mod 12 + 12 * (N div 256000)MS = (E mod 256000) div 16000 + 16 * ((N mod 256000) div 16000)SS = (E mod 16000) div 1000 + 16 * ((N mod 16000) div 1000)X = N mod 1000Y = E mod 1000

    Formulas to translate LS, MS, into column and line:

    column = 16 * (LS mod 16) + MS mod 16line = 16 * (LS div 16) + MS div 16

    Where mod is modulo, div is the integer division.

    Due to the projection used for creating the planed map MS are not north – south oriented

    Column 0-120 : decreasing positive rotationColumn 121 (10°2’) : minimum rotation (origin in this column)

    Column 122 – 191 : increasing negative rotationThis seems to indicate a kind of cylindrical projection with a center longitude of 10°2’

    E (false East) and N (false North) should be in meters with the given definition.

    Sometimes coordinates are LS, MS, X, Y with X and Y from 0 to 15999

    Metropolitan France plus Corse is divided in 18 zones from west to east then south to north:0x2b : Corse sud0x33 : Hendaye – Cambo les bains0x34 : BAGNÈRES-DE-LUCHON – LAVAUR

  • 8/19/2019 docPOI-uk

    6/27

    0x35 : Cerberes – L’isle sur la sorgues0x36 : SIX FOURS LES PLAGES - CASTELLANE0x37 : Corse nord0x3f : Bidard – MESSANGES0x40 : AUCH - BEAUNE-LES-MINES

    0x41 : GRAULHET – CHÉNAS0x42 : PERNES-LES-FONTAINES - VILLE LA GRAND0x4b0x4c0x4e0x570x580x590x5a0x65 : ÉQUIHEN-PLAGE – LEFFRINCKOUCKE

  • 8/19/2019 docPOI-uk

    7/27

    3.2. POI localization by country, region, department city and district.

    This is another way to localize POI and places : It is used on some of the files and directoriesof the navigation.

    \ P_RR \CAT\

    P : country1 : Italie2 : France3 : Allemagne4 : Belgique…

    RR : Région (area? Something else?) in the country…10 : Alsace…

    DEP : Départment in the area001 : Bas-Rhin002 : Haut-Rhin

    For example, the \ P_RR \CAT\ DEPDCP.CAT file describes cities of the department,identifying them by a number (after the name) and sometimes with one or more districtnumber (after the city number, 0xFFFF if there is no district)

  • 8/19/2019 docPOI-uk

    8/27

    4. File structureThe structure should be relevant for all versions with compression (to be verified)

    4.1. Files naming rules

    The tree structure and the file names under the root don’t depend on the country.Of course, directory names depend on the country (see 3.2 POI localization by country,region, department city and district.) but because of the presence of Major Roads of Europeon all CD, the structure is still present on all CD. The only difference between CD is thecontent of the files (more details for the CD country)

    Some file names at the root level are always the same (they don’t depend on country):

    CONFIG.LOG• DB_DWNL.OUT• DCN.DAT• GRUPPO2.DAT• GUIDA_CHAMPERARD.POI (not present on all CD)• SCITTANAME.DAT• SIF.VER• SW_VER.DAT

    Of course, the content is not the same.

    All the other file names start by the country name encoded in 5 characters:

    • BENEL for Benelux (to be confirmed)• CEUR1 for MittelEuropa Süd (Switzerland, north of Italy)• CEUR2 for MittelEuropa nord (Austria, south Germany• EST_E for East Europe• FRANC for France• GERM for Germany• ITALY for Italy• SPAGN for Spain/Portugal

    In the document, all file names are related to France but you can easily translate them for yourown CD.

    4.2. Files in the tree structure under the root

    4.2.1. P _ RR \CAT\ ZZZDCP.CAT

    List of cities ands districts of the department.As many files as departments in the Area (RR) of country P

  • 8/19/2019 docPOI-uk

    9/27

    50 bytes records sorted by alphabetic order of “city name” field

    Position Content0 – 45 City name46-47 City number48-49 District number in the city (0xFFFF if not significant)

    4.2.2. P _ RR \IND\ ZZZCOM.INDPoints to the first POI (by category in the FRANCXXX.DSC files) related to city/district52 bytes records (as many as entries in ZZDCP.CAT file, then 1 record per city or district)

    Position Content0 - 1 City number2 - 3 District number in the city (0xFFFF if not significant)4 - 7 Index (from 1) of the first record in LZWZZZ.TOP related to the city/district.

    (0xFFFFFFFF if not significant)8 - 11 Index (from 1) of the first record inZZZTOP.LET related to the city/district.

    (0xFFFFFFFF if not significant) 12 - 15 Index (from 1) of the first record inFRANCSEM.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district.16 - 19 Index (from 1) of the first record inFRANCSAF.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. 20 - 23 Index (from 1) of the first record inFRANCSHR.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. 24 - 27 Index (from 1) of the first record inFRANCSTU.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. 28 - 31 Index (from 1) of the first record inFRANCSSH.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. 32 - 35 Index (from 1) of the first record inFRANCSSP.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. 36 - 39 Index (from 1) of the first record inFRANCSTR.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. 40 - 43 Index (from 1) of the first record inFRANCSAU.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. 44 - 47 Index (from 1) of the first record inFRANCSCC.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. 48 - 51 Index (from 1) of the first record in FRANCMIC.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district. (to beverified)

    Open Point : Ceci est valide en France; il semble que pour certainescatégories (SEM par exemple), il y ait des POIs en Italie (Pays 1) et quela numérotation recommence a 0 pou la France (point a vérifier). Pourd'autres catégories (SHR) la numérotation ne recommence pas a 0 pour laFrance. Ceci a pour conséquence que deux fichiers IND peuvent pointer a

    tort sur les mêmes POIs (a vérifier)

  • 8/19/2019 docPOI-uk

    10/27

    4.2.3. P _ RR \INSCIV\LZW ZZZ.S_CCompressed file.

    4.2.4. P _ RR \LET\ ZZZTOP.LET20 bytes records, several records par city, used to accelerate street finding in a city.

    Position Content0 - 1 City number2 - 3 District number in the city (0xFFFF if not significant)4 - 16 successive characters frequently used et the beginning of a street name18-19 Index (starting from 1) of the first corresponding street for this city in

    LZWZZZ.TOP 19 Number of streets beginning by the previous string (0xFF means more than

    0xff)

    4.2.5. P _ RR \TOP\ LZW ZZZ.TOP

    Compressed file. Contains the streets list of cities in the department ZZZ sorted by alphabeticorder of “street name” field.A city descriptor is 48 bytes long, each street uses 48 bytes.

  • 8/19/2019 docPOI-uk

    11/27

    4.3. Files in the root

    4.3.1. CONFIG.LOGASCII file describing versions of maps and databases used for the CD. It also containsanother information like:

    Tipo calcolo coordinate = File Geo MRE_Q4_04.GEOLongitudine = 10.200000 [gradi]Latitudine = 52.800000 [gradi]

    4.3.2. DB_DWNL.OUTBinary file (ELF format?). Perhaps an executable file for « traffic info »

    4.3.3. DCN.DATList of cities (indexed in the cartography ?)54 bytes records, sorted by alphabetic order of « city name » field.

    Position Content0 – 45 City name46 Index to the first significant character of the city name47 Country of the city48 Area of the city49 Department of the city50-51 City number52-53 District number in the city (0xFFFF if not significant)

    4.3.4. FRANC002.DEG

    Contains other lines (like railway lines, river ...) in medium resolution with coordinates insidea MS.A succession of variable length records

    Position Content0 Kind of line/drawing?1-2 15 MSB bits indicating the number of points: n

    1 LSB bit indicating the presence of the following optional 3 bytes header. 3-5 See previous field for presence.

    ???3 – 3 + n*46 – 6 + n*4

    Succession of n points, 4 bytes per point :@ = 3+(p*4) or 6+(p*4) with p from 0 to nX : @ to @ + 1Y : @ + 2 to @ + 3with X and Y < 16000

  • 8/19/2019 docPOI-uk

    12/27

    4.3.5. FRANC002.DPLIndex file to access MS data inFRANC002.DRL 0xd800 records (indexed by MS number) of 0x12 bytes

    Position Content0 - 3 Index in FRANC002.DRL for this MS4 - 5 N1?6 - 7 N2? 8 - 9 N3? 10 – 11 N = N1 + N2 + N3 : records number for this LS in FRANC002.DRL12 – 15 Index in FRANC002.DEG for this MS16 – 17 ?

    4.3.6. FRANC002.DRL

    Contains roads in medium resolution with coordinates inside a MS.Succession of 0x0E bytes records, each record describes a segment (2 ends, P0 and P1)

    Position Content0 - 3 P0 description

    X0 = P0 & 0x3fff (> 14) & 0x3fff (> 28) & 0x0f

    4 - 7 P1 descriptionX0 = P1 & 0x3fff (> 14) & 0x3fff (> 28) & 0x0f

    8-9 section ?10 - 11 Index of associated name in FRANC_NV.DAT

    4.3.7. FRANC100.DEGContains other lines like border in low resolution with coordinates inside a LS.A succession of variable length records

    Position Content0 Kind of line/drawing?1-2 15 MSB bits indicating the number of points: n

    1 LSB bit indicating the presence of the following optional 3 bytes header.3-5 See previous field for presence.

    ???3 – 3 + n*86 – 6 + n*8

    Succession of n points, 8 bytes per point:@ = 3+(p*8) or 6+(p*8) with p from 0 to nX : @ to @ + 3Y : @ + 4 to @ + 7with X and Y < 256000

  • 8/19/2019 docPOI-uk

    13/27

    4.3.8. FRANC100.DPLIndex file to access LS data inFRANC100.DRL 0xd8 records (indexed by LS number) of 0x12 bytes

    Position Content0 - 3 Index in FRANC100.DRL for this LS4 - 5 N1?6 - 7 N2? 8 - 9 N3? 10 – 11 N = N1 + N2 + N3 : records number for this LS in FRANC100.DRL12 – 15 Index inFRANC100.DEG for this LS16 – 17 ?

    4.3.9. FRANC100.DRLContains roads in low resolution with coordinates inside a LS.Succession of 0x17 bytes recordsEach record describes a segment (2 ends, X0, Y0 and X1, Y1)

    Position Content0 - 3 X0 ( 20) & 0x0fwith X and Y < 999

  • 8/19/2019 docPOI-uk

    14/27

    4.3.11. FRANCDET.DRS

    4.3.12. FRANC_EX.DPSEurope is mapped on a 12*18 grid of LS, each LS contains 256 MS. In other words, on12*18*256 MS = 55296 MS.

    MS = index in FRANC_EX.DPS mod 0xFFLS = index in FRANC_EX.DPS div 0xFF

    55296 records of 20 bytes.

    Position Content0-3 Index/pointer toFRANC_EX.DSS (0xFFFFFFFF if not significant or 19-20 =

    0xFFFF)4-7 Index toFRANC_EX.RID (0xFFFFFFFF if not significant or 19-20 =

    0xFFFF)8 - 9 Not zero only if previous pointers are valid.

    Same values as in 2-3 of FRANC_EX.DSRFrom 0 to 0x0150 (336)?

    10 – 11 Not zero only if previous pointers are valid.Same values as in 4-5 of FRANC_EX.DSRFrom 0 to 0x04CB (1227)?

    12 – 13 From 0 to 0x1133 (4403)??

    14-15 Rotation to apply to a MS to align it to a North-South meridian.Negative at east of longitude 10°02’00’’, positive at west.1 unit isapproximately 0.058°

    16 From 0 to 0x057 (87)?This values seem to be related to geographical coordinates of the MS

    17 Seems to be a signed numberFrom 0xFD (-3) to 0x047 (71)?This values seem to be related to geographical coordinates of the MS (maxvalues at northwest, min values at south)

    18-19 Kind of index (starting from 0) intoFRANCDPA.LZW if the MS containssomething, 0xFFFF otherwise.The record identifies a LS,MS. Data of a SS (belonging to this LS,MS) inFRANCDPA.LZW can be found at value*256+SS

    4.3.13. FRANC_EX.DSS

    4.3.14. FRANC_EX.RID

    4.3.15. FRANC_ XX.POI9 files,XX = DA, DE, ES, FR, IT, NL, PO, SW, UK

    Description per language (9) of the kind and category of P0I.

  • 8/19/2019 docPOI-uk

    15/27

    In each file, 70 records of 50 bytes sorted by alphabetical order of “POI name” field exceptfor the 2 lasts, BORGATE et RADAR_CONTROL (probably added lately)

    Position Content0 – 40 POI name in language XX41 – 42 POI type (70 différent types différents. ex 0x11E4 for public sport airport,23A1 pour city hall)43 – 44 Number of POI in this type (inFRANCXX.DST)45 - 48 Category of the POI in ASCII (3 characters followed by 0x00, see next field)49 Category of the POI in hexadecimal

    1 : SEM2 : SAF3 : SHR4 : STU5 : SSH6 : SSP7 : STR8 : SAU9 : SCCA : MIC

    4.3.16. FRANC_NOMSERV.DAT

    Contains the name of all the POI..

    37 bytes records, sorted by alphabetical order of “POI name” field.Position Content0 – 35 POI name. A same name may appear several times:

    Index 1B02B : DE LA KIBITZENAU PISCINEIndex 317C8 : KIBITZENAU PISCINE DE LAIndex 376A4 : LA KIBITZENAU PISCINE DEIndex 55598 : PISCINE DE LA KIBITZENAU (canonical name)

    36 Index in the previous field (name) :18 DE LA KIBITZENAUP ISCINE12 KIBITZENAUP ISCINE DE LA15 LA KIBITZENAUP ISCINE DE1 PISCINE DE LA KIBITZENAU (canonical name)The canonical name (also contained inFRANCXX.DST) is obtained bywriting it from index to end, then from start to index-1

    4.3.17. FRANC_NV.DATContains the names referenced in the cartography (Names from all Europe)Variable length records not sorted.

    Position Content0 – n Name ended by 0x00

  • 8/19/2019 docPOI-uk

    16/27

    4.3.18. FRANCCAT.POIContains the brands or generic names (TOTAL, SHERATON, HONDA…)… of the POI.23 bytes records sorted by increasing « number » field .

    Position Content0 – 20 Brand name ended by 0x0021-22 Brand number, from 0x0001 to 0x0484 (some are missing like0x0C, 0x13…

    Did they pay enough money this year? Don’t panic, if you’re looking for aMcDonald’s you’ll find it!!!)

    Records after 1023 don’t seems to be used (10 bits index only inFRANCPOI.DAT)

    4.3.19. FRANCDPA.LZW7479040 (0x721F00) records of 16 bytes.Each record represents a SS (coordinates LS, MS, SS are given by the access tableFRANC_EX.DPS)

    Position Content0 - 3 Pointer/offset inFRANCDET.DRS. 0x00000000 if not significant4 Flag : values 0x00, 0x3F, 0x40 ???5 - 7 Index inFRANCDSP.POI to the first POI inside this SS (0xFFFFFF if not

    significant)8 - 9 POI number in this SS10 - 13 Offset/pointer to FRANC.DEG14 - 15 If n is the value, 3*n represents the increment of the previous field ???

    4.3.20. FRANCDSP.POIFor each POI contains information used by the display process (coordinates in a MS, pointerin FRANCPOI.DAT, scale…)12 bytes records sorted by increasing LS, MS ands SS.

    FRANCDSP.POI contains: All records of FRANCPOI.DAT Records with type 0x115C (NAMED PLACE / CENTRE VILLE) contrary to

    FRANCPOI.DAT which doesn’t contain such record. Records of this type point torandom records of FRANCPOI.DAT

    Remark :This file is used for display but doesn’t contain full coordinates of POI. Pointers to this fileexist in FRANCDPA.LZW (thanks again phil95).Data pointed in FRANCPOI.DAT are not all used during display. For example, the city nameis not used even if you are looking for information for this place.

  • 8/19/2019 docPOI-uk

    17/27

    Position Content0 – 1 12 LSB bits :

    POI type (ex 0x11E4 for public sport airport, 23A1 pour city hall, 0x16A8 fora restaurant)

    4 MSB bits :0x04 if this POI has an entry in the « guide Champérard » (a restaurant in theguide has 0x56A8 for value)0x08 if ??? (seems to be used with 0x1F04 sports complex, 0x1F3Camusement park)

    2 - 3 POI X-coordinate in its MS (0 to 15999)4 – 5 POI Y-coordinate in its MS (0 to 15999)6 - 9 Pointer (to obtain the real address in the file, decrease the value by 1) to the

    POI record in FRANCPOI.DAT. not significant for type = 0x115C10 - 11 Display flags?

    Max scale to display the POI?

    4.3.21. FRANCPOI.DAT

    Contains address, type phone number and localization of all POI.

    293780 variable length records: a variable length string (at least 0x00) followed by 27 bytes.

    No obvious sort. Records seem to be grouped by set of SS, MS et LS, but some are at other

    place in the file and the same LS, MS et SS can be found elsewhere in the file.

    Position Content0 – n POI address (a same address may appear several time, but there are separates

    POI)n+1 SS where the POI is.n+2 MS where the POI is.n+3 LS where the POI is.n+4 – n+5 12 LSB bits :

    POI type (ex 0x11E4 for public sport airport, 23A1 pour city hall, 0x16A8 fora restaurant)

    4 MSB bits :0x04 if this POI has an entry in the « guide Champérard » (a restaurant in theguide has 0x56A8 for value)0x08 if ??? (seems to be used with 0x1F04 sports complex, 0x1F3Camusement park)

    n+6 – n+9 Index (starting from 1) of the canonical name of the POI inFRANC_NOMSERV.DAT

    n+10 – n+13 Pointer in SCITTANAME.DAT to the city where the POI is.

    n+14 – n+15 Display flags?Max scale to display the POI?

  • 8/19/2019 docPOI-uk

    18/27

    n+16 – n+19 These for bytes are bits fields :

    Bits 0..6 of n+16, bits 4..7 of n+17 : Y-coordinates of the POI in its SSY = (n+17 >> 4) + ((n+16 & 0x3f) 2)

    Bits 6,7 of n+16, bits 0..7 of N+19 : index (starting from 0 !) inFRANCCAT.POI if the POI has a « brand name » like SHELL,BALLADINS, AGIP…Index in FRANCCAT.POI slightly exceed 1024, but remaining bits of thisfield don’t seems to be include into the index.idxFRANCCAT =n+19 + ((n+18 & 0x03)

  • 8/19/2019 docPOI-uk

    19/27

    POI record in FRANCPOI.DAT.If the same pointer appears several times (synonyms), all the other values inthe records are the same except of course for the next field

    13 - 16 Index (starting from 1) of the POI name in FRANC_NOMSERV.DAT. Thereis one record for each name, not only for the canonical name.For each synonym, the other fields of the record are the same. Sometimes, 2canonical names have identical records (except this field). It can be :

    The same POI with 2 canonical names (ex : complexe sportif de l’ill,centre sportif d’ill)

    Different POI with the same “generic”name (ex 13846 CLUBMUNICIPAL DE TENNIS).

    There are some exceptions : In FRANCSSP.DSC, there is one record with this field set to 0 (index

    start at 1). Does it mean no name? 10B in FRANCSSP.DSC (which doesn’t seem to be a canonical

    name)

    French CD contains POI in Monaco et Andorre (zone 1 0x0A and 0x0D)

    4.3.23. FRANC XXX.DST

    9 files,XXX = SAF, SAU, SCC, SEM, SHR, SSH, SSP, STR, STUThere is one file per category, except for MIC « restaurant: Michelin » (POI number = 0).These files are used during a search, not for a simple display on the map.

    49 bytes records, sorted by increasing values of LS, then MS then SS.

    Record number per POI type in coherent with POI number in FRANC_XX.POI

    Position Content0 – 1 12 LSB bits :

    POI type (ex 0x11E4 for public sport airport, 23A1 pour city hall, 0x16A8 fora restaurant)

    4 MSB bits :

    0x04 if this POI has an entry in the « guide Champérard » (a restaurant in theguide has 0x56A8 for value)0x08 if ??? (seems to be used with 0x1F04 sports complex, 0x1F3Camusement park)

    2 – 37 Canonical POI name (the same name may appear several times, but there aredifferent POI)

    38 SS where the POI is.39 MS where the POI is.40 LS where the POI is.41 - 42 POI X-coordinate in its SS (0 to 999)43– 44 POI Y-coordinate in its SS (0 to 999)45 – 48 Pointer (to obtain the real address in the file, decrease the value by 1) to the

    POI record in FRANCPOI.DAT.

  • 8/19/2019 docPOI-uk

    20/27

    4.3.23.1. FRANCSCC.DST

    Structure of FRANCSCC.DST is simpler than FRANCXXX.DST one, probably becausethere is only one POI type in this category, NAMED PLACE/centre-ville

    44 bytes records, sorted by decreasing order of « city magnitude ».

    Position Content0 – 35 Canonical POI name (the same name may appear several times, but there are

    different POI)36 SS where the POI is.37 MS where the POI is.38 LS where the POI is.39 – 40 POI X-coordinate in its SS (0 to 999)41 – 42 POI Y-coordinate in its SS (0 to 999)43 Values from 1 to 8. « magnitude » of the city (8 for capitals, 7 for Marseille

    and Lyon, 1 pour les Paris districts). Luxemburg is 5, Dublin is 3

    4.3.24. FRANSCC.IMP

    Structure is identical to FRANCSCC.DST one, but there is far less records.

    4.3.25. GRUPPO2.DAT

    Set of files grouped into a unique one, probably to load them quicker in memory

    4.3.25.1. File header

    23 bytes records, describing the files embedded in GRUPPO_2.DAT

    Position Content0 – 14 File name ending by \015 - 18 Pointer in GRUPPO_2.DAT to the beginning of the embedded file19 - 22 Length in byte of the embedded file.

    4.3.25.2. CodNazGuidSX

    Binary file with something like 0E 15 16 17 19 1F 20

  • 8/19/2019 docPOI-uk

    21/27

    Same values for France and Germany

    4.3.25.3. DIVIETI.DAT3 bytes records?If records are 3bytes long words, sorted in ascending order.

    Position Content0 From 0x10 (16) to 0xff (255) ?1 From 0 to 0x21 (33) ?2 From 0 to 0x3e (62) ?

    4.3.25.4. DPN.CATList of city , department ... names54 bytes records, sorted by alphabetic order of « city name » field.

    Same structure as DCN.DAT

    4.3.25.5. FRANC.Geo

    49 bytes long file

    Position Content0 - 13 Hex values (same for FRANC & GERM)

    FF 7B 01 50 00 66 01 4C 02 D4 02 10 00 2E14 - 15 Hex values

    71 97 for FRANC 6D CE for GERM16 - 36 Hex values (same for FRANC & GERM)

    00 44 0F 21 00 08 6A FF 00 36 E2 FC 12 0C D831 – 37 Map version ended by \0x00 (TMP54.01)39 - 44 Code of the map country (ended by \0x00) FRANC, GERM, …46 – 48 0x03 0xE8 0x01 (at least for FRANC and GERM)

    4.3.25.6. FRANC.TiT

    4.3.25.7. FRANC_EX.DMR

    216 (12*18) records of 68 bytes describing a SS.

    Position Content0 - 3 Index/Pointer in FRANC_EX.RID4 - 56 - 78 - 11 Index (from 1) of the first record in FRANCSEM.DSC related to the

    city/district. 0xFFFF if there is no POI of the type in the city/district.12 - 15 Index (from 1) of the first record in FRANCSAF.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district.

  • 8/19/2019 docPOI-uk

    22/27

    16 - 19 Index (from 1) of the first record in FRANCSHR.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district.

    20 - 23 Index (from 1) of the first record in FRANCSTU.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district.

    24 - 27 Index (from 1) of the first record in FRANCSSH.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district.

    28 - 31 Index (from 1) of the first record in FRANCSSP.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district.

    32 - 35 Index (from 1) of the first record in FRANCSTR.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district.

    36 - 39 Index (from 1) of the first record in FRANCSAU.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district.

    40 - 43 Index (from 1) of the first record in FRANCSCC.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district.

    44 - 47 Index (from 1) of the first record in FRANCMIC.DSC related to thecity/district. 0xFFFF if there is no POI of the type in the city/district. (to beverified)

    48 – 49 Number of SEM POI in this SS50 - 51 Number of SAF POI in this SS52 – 53 Number of SHR POI in this SS54 – 55 Number of STU POI in this SS56 – 57 Number of SSH POI in this SS58 – 59 Number of SSP POI in this SS60 – 61 Number of STR POI in this SS62 – 63 Number of SAU POI in this SS64 – 65 Number of SCC POI in this SS66 – 67 Number of MIC POI in this SS

    4.3.25.8. FRANC_EX.DSRContains data about MS which have a valid pointer/index toFRANC_EX.DSS andFRANC_EX.RID in FRANC_EX.DPS.

    8 bytes records, sorted by ascending order of MS

    Position Content0 -1 MS number (SS,MS)2 - 3 From 0 to 0x0150 (336)?

    Same values in 8-9 in FRANC_EX.DPS 4 - 5 From 0 to 0x04CB (1227)?

    Same values in 10-11 in FRANC_EX.DPS 6-7 From 0 to 0x563D (22077)?

    0 for the first MS of a LS, increasing with MS number.Index or pointer tosomething related to SS (and sorted by increasing SS)?

  • 8/19/2019 docPOI-uk

    23/27

    4.3.25.9. FRANC_UK.POI

    4.3.25.10. FRANCCAT.POI

    4.3.25.11. FRANCCHR.TXT

    4.3.25.12. FRANCOM.LET

    4.3.25.13. GENDET.DAT

    4.3.25.14. Label.txt

    4.3.25.15. Map.verASCII file with something like TMP54.01. Map version ?

    4.3.25.16. PrefInt

    4.3.25.17. RdsTable

    4.3.25.18. RdsTableLibere

    4.3.25.19. Release

    4.3.26. GUIDA_CHAMPERARD.POI

    4.3.27. SCITTANAME.DATList of city containing a POIVariable length records, they seem to be geographically sorted by increasing value ofLS, MS, SS (just a guess by reading the names)

    Position Content0 – n City name ended par 0x00

    4.3.28. SIF.VERASCII file describing CD release.

    4.3.29. SW_VER.DATASCII file (« 0210 ») ?

  • 8/19/2019 docPOI-uk

    24/27

    4.4. Summary

    4.4.1. File size (TD3002900)

    File name File size Recordnumber

    Record size Sort

    P_RR\CAT\ZZZDCP.CAT 500x32

    P_RR\IND\ZZZCOM.IND 520x34

    P_RR\INSCIV\LZWZZZ.S_CP_RR\LET\ZZZTOP.LET 20

    0x14P_RR\TOP\ LZWZZZ.TOP 48 – 0x30 / city

    48 – 0x30 / streetCONFIG.LOG

    DB_DWNL.OUTDCN.DAT 114111 540x36

    City name

    FRANC002.DEG variableFRANC002.DPL 52296

    0xd80018

    0x12MS

    FRANC002.DRL 140x0E

    FRANC100.DEG variableFRANC100.DPL 216

    0xd818

    0x12LS

    FRANC100.DRL 230x17

    FRANC.DEG variableFRANCDET.DRS 52296

    0xd80020

    0x14FRANC_EX.DPS 52296

    0xd80020

    0x14FRANC_EX.DSSFRANC_EX.RIDFRANC_XX.POI 70

    0x4650

    0x32POI name

    FRANC_NOMSERV.DAT 43131540x41D042

    370x25

    POI name

    FRANC_NV.DAT 497410xC24D

    variable no

    FRANCCAT.POI 10530x041D

    230x17

    number

    FRANCDPA.LZW 74790400x721F0

    160x10

    FRANCDSP.POI 3430950x53C37

    120x0c

    LS, MS, SS

    FRANCPOI.DAT 2937800x47B94

    Variable : min28Variable : min 0xB

    ?

    FRANCXXX.DSC 170x11

    FRANCXXX.DST 490x31

    LS, MS, SS

    FRANCSCC.DST 493160xC4A 440x2C City magnitude

  • 8/19/2019 docPOI-uk

    25/27

    FRANSCC.IMP 16170x0651

    440x2C

    City magnitude

    GRUPPO2.DAT 180x12

    230x17

    CodNazGuidSX 7DIVIETI.DAT 1400

    0x5783?

    DPN.CAT 1784 540x36

    FRANC.Geo 1 490x31

    FRANC.TiT FRANC_EX.DMR 216

    0xd868

    0x44FRANC_EX.DSR 9118

    0x239e8

    0x08FRANC_UK.POI FRANCCAT.POI FRANCCHR.TXT FRANCOM.LET GENDET.DAT 3874? 4?Label.txt Map.ver PrefInt RdsTable RdsTableLibere Release

    GUIDA_CHAMPERARD.POISCITTANAME.DAT 28355

    0x6CE3variable LS, MS, SS ?

    SIF.VERSW_VER.DAT

  • 8/19/2019 docPOI-uk

    26/27

    4.4.2. File link

    Pointeur versIndice vers

    Fait référence à un enre istrement

    Pointer to a recordIndex to access a record

    Im licit reference to a record

    FRANCPOI.DAT FRANC_NOMSERV.DAT

    FRANCXXX.DSC

    P_RR\CAT\ZZZDCP.CAT

    DCN.DAT

    P_RR\IND\ZZZCOM.INDP_RR\TOP\ LZWZZZ.TOP

    SCITTANAME.DAT

    FRANCDSP.POI

    FRANCCAT.POI

    FRANCXXX.DST

    SEARCH

    SEARCH

    DISPLAY FRANC_EX.DPS

    FRANCDPA.LZW

    FRANCDET.DRS FRANC.DEG

    FRANC002.DRL

    FRANC100.DRLFRANC_NV.DAT

    FRANC002.DEGFRANC002.DPL

    FRANC100.DEG

    FRANC100.DPL

    FRANC_EX.DSS FRANC_EX.RID

    P_RR\LET\ZZZTOP.LET

  • 8/19/2019 docPOI-uk

    27/27

    5. Comment ajouter un POISi vous avez bien tout lu et tout compris, ce paragraphe est inutile… Mais ça fait toujours dubien de récapituler.

    1. Calculate POI coordinates: LS, SS, MS, X et Y (both versions, with short and long X,). How to do that? I don’t know… yet

    2. I suppose the POI is already in a SS which has an entry inFRANCDPA.LZW.Otherwise it’s more complex.

    3. Create a new entry inFRANCDSP.POI with the type, long X and Y, a pointer (alreadyexisting if you don’t need to shearch for this POI) toFRANCPOI.DAT, a scale andassociated flags. Where to create this entry? I don’t know

    4. in FRANCDPA.LZW a. increase by 1 the POI number located in LS, MS, SS.b. increase by 1 all the index toFRANCDSP.POI following the modified entry.

    5. Pour permettre la recherche, il y a des étapes supplémentaires, insertion d’une entréedans FRANCPOI.DAT, FRANCXXX.DST, FRANCXXX.DSC,FRANC_NOMSERV.DAT, SCITTANAME.DAT,ZZZCOM.IND … mais c’est uneautre histoire. Et puis, si vous ajoutez les radars, je doute que vous soyez saisis du

    besoin irrépressible de vous diriger vers le plus proche ;-)Attention, ce document n’est qu’un draft, je ne garantis ni la méthode ni le résultat…