GoPal 6 POI Grundlagen

Aus GoPalWiki
Wechseln zu: Navigation, Suche


Ich habe diesen WIKI-Beitrag geschrieben, um interessierten Usern die Möglichkeit zu geben, den Aufbau und die Möglichkeiten der GoPal 6 - Software im Bezug auf POI‘s zu verstehen. Es ist möglich, dass sie noch den einen oder anderen Fehler enthält, oder einiges noch besser formuliert werden kann. Ich kann auch nicht 100%ig sagen, dass ich hier alles richtig herausgefunden habe. Aber ich arbeite daran.

Änderungen an Dateien, die hier erklärt werden, sollten nur von geübten Usern vorgenommen werden! Schon ein falsches oder fehlendes Zeichen in den teilweise sehr langen Dateien bringt das System zum Absturz. Durch eine Neuinstallation lässt sich dies in der Regel wieder beheben. Jeder muss sich aber darüber im klaren sein, dass er alle Änderungen eigenverantwortlich vornimmt.

Einführung[Bearbeiten]

Was ist ein POI[Bearbeiten]

POI - Point Of Interest - oder ins deutsche übersetzt "Ort von Interesse". POIs in Navigationssystemen sind kleine Bildchen in der Karte, die anzeigen, wo sich z. B. eine Tankstelle, ein Krankenhaus, ein Supermarkt, usw. befindet.

Wo sind die Daten der POIs gespeichert[Bearbeiten]

Der Ort und die Art der POIs sind im original Kartenmaterial in den PSF-Dateien hinterlegt. Da man zur Änderung dieser Daten neue PSF Dateien erzeugen muss und den Quellcode benötigt, kann nur der Hersteller dort Änderungen vornehmen. Es gibt vom Hersteller dieser Karten entsprechende Programme (vermutlich für den Normaluser zu teuer) mit denen man eigene PSF-Dateien erzeugen kann. Ein Beispiel für eine Zusatzdatei ist die aldi-poi-eu.psf in der die Standorte der einzelnen Aldi- und Hofer-Filialen hinterlegt sind. Hier sind in einer PSF-Datei alls Märkte von Europa hinterlegt. Diese PSF-Dateien befinden sich im Ordner \My Flash Disk\navigation\MapRegions im Navi oder im Ordner \MapRegions auf der SD-Karte - genau wie die original Kartendaten.

Wie sind die Daten der POIs im Kartenmaterial gespeichert[Bearbeiten]

Jedem POI ist eine Nummer zugeordnet. So haben z. B. Bahnhöfe die "0", Kinos die "9" und Aral-Tankstellen die "1001". Eine Aral-Tankstelle ist also durch die Zahl 1001, an einer bestimmten Koordinate im Kartenmaterial hinterlegt. Bei der Erstellung einer PSF-Datei kann man aber auch noch jedem einzelnen POI Zusatzinformationen wie Ortsname, Straße, Hausnummer, Öffnungszeiten, Telefonnummer usw. hinzufügen.

Unterschiede bei den POIs in der GoPal-Version 5.x und 6.x[Bearbeiten]

Die Hauptunterschiede zu GoPal 5 sind bei GoPal 6:

  • die Dateien Poi_categories.png und Poi_categories_national.png werden nur noch im Ordner /POI/ ausgewertet.
  • die Namen für die Suchfunktion einzelnen POIs, werden jetzt direkt in der Datei POI.PC festgelegt
  • Die Position der Bilder in der Datei poi_categories.png, werden jetzt direkt (z. B. 0,0,30,30,0,0) angegeben und nicht mehr im 30iger Raster durchgezählt (z. B. <bitmap position=“1“>).

Zu beachten ist:

  • *.PC   – Dateien aus GoPal 5.x dürfen nicht in der Version 6.x verwendet werden!
  • *.PSF – Dateien aus GoPal 5.x werden in GoPal 6.x nicht erkannt!

Die Aufgaben der Dateien[Bearbeiten]

Welche Dateien werden benötigt?[Bearbeiten]

Die Dateien für die Auswertung und Anzeige der POI’s sind in den Ordnern:

  • My Flash Disk\navigation\ POI
  • My Flash Disk\navigation\ POI\1
  • My Flash Disk\navigation\ POI\default

Dabei kommen Dateien mit den Endung *.PC , *.PCB und *.PNG zum Einsatz.

Dateien mit der Endung PC[Bearbeiten]

Dies sind die Hauptdateien zur Konfiguration der POIs. Hier werden alle Parameter eingetragen, die für die Definition der POI’s wichtig sind. Standardmäßig befinden sie sich in den Ordnern:
  My Flash Disk\navigation\poi\
  My Flash Disk\navigation\poi\default
  My Flash Disk\navigation\poi\1

Dateien mit der Endung PCB[Bearbeiten]

Zur Beschleunigung und um Speicherplatz zu sparen, wandelt GoPal beim Start alle noch nicht umgewandelten *.PC-Dateien in das kleinere *.PCB-Format um. Deshalb dauert der erste Start nach einer Neuinstallation so lang, (1 bis 2 Minuten) also etwas Geduld, wenn es beim Startbildschirm nicht gleich weiter geht.

Die Dateien poi_categories.png und poi_categories.de_DE.png[Bearbeiten]

In diesen beiden Dateien sind Bilder enthalten, die bei der POI-Suche und in den Splitscreenfenster benutzt werden. Die Größe der einzelnen Bilder ist standardmäßig auf 30x30 Pixel festgelegt.

Die Datei poi_categories.de_DE.png ist eine länderspezifische Version der poi_categories.png. In ihr sind einige Bildchen an das jeweilige Land angepasst. Welche der beiden Dateien für das jeweilige Bild genommen wird kann auch in der POI.PC definiert werden.

In GoPal 6 wird die Position der Bilder in der Datei poi_categories.png, direkt (z. B.: 0,0,30,30,0,0) angegeben und nicht mehr im 30iger Raster durchgezählt (z. B.: <bitmap position=“1“>). Dadurch wird auch der Eintrag position=“1“ in <bitmap position=“1“> nicht mehr ausgewertet und kann entfallen.

Also nur noch

<bitmap>poi/poi_categories.png,0,1200,30,30,0,0</bitmap>

und nicht mehr

<bitmap position="40">poi/poi_categories.png,0,1200,30,30,0,0</bitmap>

Sonstige Dateien mit der Endung PNG[Bearbeiten]

In den restlichen Dateien mit der Endung .PNG, sind die Bilder (Icon’s) enthalten, die später in der Karte als POI gezeigt werden.

Der Aufbau der PC-Dateien (POI.PC)[Bearbeiten]

Grundlegendes zur Syntax[Bearbeiten]

Eine Anweisung in dieser Datei ist in mehrere Bereiche aufgeteilt. Jeder Bereich beginnt mit einem Namen (<WORT> ),
dann kommt die eigentliche Anweisung, welche aus mehreren Einheiten (Text/Block) bestehen kann
und muss mit dem Namen (Wort) mit vorgesetztem " / " (</WORT>) geschlossen werden.

Werden im Namen <WORT> mehrere Wörter benutzt, wird nur das erste Wort bis zum Leerzeichen ausgewertet, z. B. <bitmap position="1"> muss mit </bitmap> geschlossen werden.

Hier noch zwei Beispiele:

<Wort>TEXT</ Wort>    =     <priority>5</priority>

<Wort>Block</Wort>    =   

<type id="1">
 <bitmap position="1">poi/poi.png,0,18,18,18,-9,-9,255,0,255</bitmap> 
 <priority>5</priority>
 <code agent="PSF">1</code>
 <description>Airport</description>
 <group>Standard POITypes</group>
</type>

Infos für den Programmierer beginnen immer mit <!-- gefolgt von einem Text und enden mit -->.

Das Programm wertet keine Leerzeichen und Tabstops aus. Es ist also möglich mehrere Anweisungen/Blöcke direkt hintereinander zu setzen, z. B.

<xyz>bbb</xyz><zyx>ccc</zyx> usw. 

Zur Übersichtlichkeit ist jedoch mindestens ein Leerzeichen sinnvoll.

<xyz> bbb </xyz> <zyx> ccc </zyx> usw.

Wo werden die Bilder zu den POIs definiert?[Bearbeiten]

Es gibt 4 Bereiche in denen Bilder zu den POIs zu sehen sind:
1. In der Karte selbst
2. Im Splitscreenbereich der Karte
3. Beim Aufruf der Sonderziele
4. Bei der Auflistung gefundener Sonderziele zur Auswahl

Wo und welches Bild zu sehen ist wird in der poi.pc definiert. Der entscheidende Eintrag ist dick hervorgehoben.
Zu 1. wird das Bild in der Bereich <bitmap position="1">poi/poi.png,0,18,18,18,-9,-9,255,0,255</bitmap> definiert. (siehe Kapitel Bereich 3.2 "types")
Zu 2. und 4. wird das Bild in der Bereich <hmibitmap>poi/poi_categories.png,0,30,30,30,0,0</hmibitmap> definiert. (siehe Kapitel Bereich 3.2 "types")
Zu 3. wird das Bild in der Bereich <bitmap position="1">poi/poi_categories.png,0,30,30,30,0,0</bitmap> definiert. (siehe Kapitel Bereich 3.3 "categories")

Der Aufbau im Einzelnen (Bereich 3.1 bis 3.5)[Bearbeiten]

<?xml version="1.0" encoding="="UTF-8"?>   Bereich 3.1
...
<poicategories version="03010012">
|
| <types>
| | ...                                    Bereich 3.2
| </types>
|
| <categories>
| | ...                                    Bereich 3.3
| </categories>
|
| <search>
| | ...                                    Bereich 3.4
| </search>
|
| <search type="preferred_pois
| | ...                                    Bereich 3.5
| </search>
</poicategories>

Bereich 3.1 "Header"[Bearbeiten]

Der Header, enthält Informationen zur Version und Schriftsatz, die GoPal zur Weiterverarbeitung benötigt.

Bereich 3.2 "types"[Bearbeiten]

In diesem Bereich wird jedes einzelne POI genau definiert.

<types>
 <!--Airport-->
 <type id="1">
 <bitmap position="1">poi/poi.png,0,18,18,18,-9,-9,255,0,255</bitmap>
 <overlay1>poi/poi_overlay.png,0,0,19,19,-13,-13,255,0,255</overlay1>
 <overlay2>poi/poi_overlay.png,0,19,17,17,-11,-11,255,0,255</overlay2>
 <zoomlevel min="0" max="40" />
 <priority>5</priority>
 <code agent="PSF">1</code>
 <description>Airport</description>
 <group>Standard POITypes</group>
 <hmibitmap>poi/poi_categories.png,0,30,30,30,0,0</hmibitmap>
</type>
Der Bereich "types" im Einzelnen
<!--Airport--> Titel des POI – nur ein Infotext für Programmierer
<type id="1"> Beginn der POI-Definition mit eindeutiger  Nummer – dieser Zahl ist im Kartenmaterial der POI zugewießen.
<bitmap position="1">poi/poi.png,0,18,18,18,-9,-9,255,0,255</bitmap> position="1" wird in GoPal 6 nicht mehr ausgewertet und kann weg gelassen werden.
Also nur noch
<bitmap>poi\EASY\00000.png,0,0,22,22,-11,-11,255,0,255</bitmap>
und nicht mehr
<bitmap position="0">poi\EASY\00000.png,0,0,22,22,-11,-11,255,0,255</bitmap>
Der Rest verweist auf die Datei mit dem dazugehörigen Bild, das dann in der Karte gezeigt wird.
<overlay1>poi/poi_overlay.png,0,0,19,19,-13,-13,255,0,255</overlay1>
<overlay2>poi/poi_overlay.png,0,19,17,17,-11,-11,255,0,255</overlay2>
Wenn mehrere POI’s an einer Stelle sind, wird jeweils ein Rahmensymbol zum POI dazugesetzt, um zu signalisieren, dass sich hier an einer Stelle mehrere POIs befinden.
<zoomlevel min="0" max="40" /> Hier wird festgelegt, in welchem Zoombereich der POI in der Karte angezeigt wird.
"max=0" = Der POI wird in der Karte nicht angezeigt, kann aber in der Suchfunktion gefunden werden.
1= Der POI wird erst bei sehr starken Hineinzoomen angezeigt. (10 m)
40= Der POI wird erst ab sehr starken Herauszoomen angezeigt. (ca. 5 km)
<zoomlevel min="0" max="5" /> = Der POI wird bei einem Zoomlevel unter 500 Meter angezeigt.
(In welchen genauen Verhältnis die Zahlen zum Zoomlevel in Metern stehen, versuche ich noch herauszubekommen)
<priority>5</priority> Wenn mehrere POI’s an einer Stelle sind, kann hier festgelegt werden welcher von diesen angezeigt wird (je kleiner die Nummer, um so wichtiger der POI).
z. B. Kino mit <priority>15</priority> und Parkplatz <priority>5</priority> an gleicher Stelle = Parkplatz wird angezeigt
<code agent="PSF">1</code> In dem Kartenmaterial (*.psf) ist durch diese Zahl die Art und der Ort des POI hinterlegt In diesem Fall der POI mit der Nr. 1.
<codes agent="PSF" begin="2600" end="2759" /> Hiermit kann ein Bereich von Zahlen definiert werden. In diesem Fall die POIs mit der Nr. 2600 bis 2759.
<description>Airport</description>

<group>Standard POITypes</group>

Klassifizierung des POI und des POI-Types
 <hmibitmap>poi/poi_categories.png,0,30,30,30,0,0</hmibitmap> Hier wird die Datei und Position  mit dem Bild für die Suchfunktion definiert.  
</type> Ende der POI-Definition

Durch den Zoomlevel und der Priorisierung kann man tolle Effekte erzielen. z. B. <zoomlevel min="5" max="40" /> für Tankstellen allgemein (Gruppe) und <zoomlevel min="0" max="5" /> für Aral-Tankstelle. Hier wird bei großem Kartenausschnitt ein allgemeines Tankstellensymbol gezeigt und wenn näher in die Karte hinein gezoomt wird, sieht man das Symbol der Aral-Tankstelle.

Bereich 3.3 "categories"[Bearbeiten]

in dem die Such-Kategorien definiert werden. In diesem Bereich werden die Parameter für die Suchfunktion eingegeben.

<!--Airport-->
<category id="1021">
<names> 
<name language="1">Airport</name> 
</names> 
<bitmap position="1">poi/poi_categories.png,0,30,30,30,0,0</bitmap> 
<description>Airport</description>
</category>
Der Bereich "categories" im Einzelnen
<!--Airport--> Titel des POI – nur ein Infotext für Programmierer.
<category id="1021" Festlegung welche Nummer diese Kategorie hat. Wird in der Suchfunktion unter 3.4 benutzt.
<names>
        <name language="1">Airport</name>
</names>
Der Name der in der Suchfunktion angezeigt wird, kann hier für die jeweilige Sprache eingegeben werden.
Für Deutsch, ist hier die "3" definiert.
Soll der Name in allen Sprachen gleich sein, kann man hier die "0" verwenden.
<bitmap position="1">poi/poi_categories.png,0,30,30,30,0,0</bitmap> position="1" wird in GoPal 6 nicht mehr ausgewertet und kann weg gelassen werden.
Der Rest verweist auf das dazugehörige Bild in der Datei poi_categories.png.
<description>Airport</description> Beschreibung/Bezeichnung des POI

Bereich 3.4 "search"[Bearbeiten]

in dem angegeben wird, welche der einzelne POI’s zu welcher Kategorie gehören. Diese Anordnung findet man dann auf dem Navi im unter Sonderziele.

<category id="0">
  <type id="1742" />
</category>
Der Bereich "search" im Einzelnen
<category id="0"> Eine Kategorie, die im Bereich „types“ definiert wurde. Wenn hier mehrere hintereinander stehen, sind diese jeweils Unterkategorien der vorherigen.
<type id="1742" /> Das ist der POI in der jeweiligen Kategorie (es können auch mehrere sein).
</category> Schließen der Kategorie. Wenn vorher mehrere hintereinander standen, muss jede jeweils durch einen eigenen Eintrag beendet werden.

Mehr zum Bereich <search> wird im Kapitel Zuordnung im Bereich "Sonderziele" beschrieben.

Bereich 3.5 "search type="preferred_pois""[Bearbeiten]

In diesem wird angegeben, welche POI’s unter „Bevorzugte Tankstelle“ angeboten werden. Hier ist die Bedeutung der einzelnen Einträge wie im Bereich <search>.

Zuordnung im Bereich "Sonderziele"[Bearbeiten]

Welche Gruppen und Untergruppen im Bereich Sonderziele (im Navi über das Menü "Neues Ziel" dann "Sonderziel suchen") angezeigt werden, kann in der Datei poi.pc im Bereich <search> festgelegt werden.

Es gibt standardmäßig 8 Hauptgruppen mit der <category id="0" bis <category id="8" (Auto & Verkehr, Einkaufen, Hotel & Gastronomie, …).
In diesen Hauptgruppen können, wie in der Gruppe „Auto & Verkehr“, weitere Untergruppen, hier z. B. Autovermietung, Automobil-Club, Autowerkstatt, usw. enthalten sein. In diesen Untergruppen können dann sowohl weitere Untergruppen als auch POI’s platziert werden.

Es ist auch möglich, einer Hauptgruppe direkt POI’s ohne eine Untergruppe zuzuweisen (z. B. Notfallhilfe).

Hier noch mal ein Beispiel für den Aufbau:

<category id="0"                                                     Hauptgruppe
<category id="1001"> <type id="31" /> </category>                    POI
usw.
<category id="1002"> <type id="32" /> </category>                    POI

     <category id="1006">                                            Untergruppe Ebene 1.1
     <category id="2001"> <type id="33" /> </category>               POI
     usw.
     <category id="2002"> <type id="34" /> </category>               POI

          <category id="1007">                                       Untergruppe Ebene 1.2
          <category id="2003"> <type id="35" /> </category>          POI
          usw.
          <category id="2004"> <type id="36" /> </category>          POI

               <category id="60105">                                 Untergruppe Ebene 2.1
               <category id="2005"> <type id="37" /> </category>     POI
               usw.
               <category id="2006"> <type id="38" /> </category>     POI 

Die zugehörigen Bilder, die hier angezeigt werden, sind in der Datei poi_categories.png hinterlegt (siehe Kapitel Die Dateien poi_categories.png und poi_categories.de_DE.png).

Weblinks[Bearbeiten]

Beispiel EASY-POIS in unserem Forum
Beiträge PoiPal GoPal POI Generator in unserem Forum