GoPal 6 POI Grundlagen

Aus GoPalWiki
Version vom 18. Juni 2011, 21:29 Uhr von Klauso (Diskussion | Beiträge) (Wie sind die Daten der POIs im Kartenmaterial gespeichert)
Wechseln zu: Navigation, Suche

Vorlage:PDF

Vorbemerkung

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

Was ist ein POI

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

Die Daten wo sich welcher POI befindet ist im original Kartenmaterial (PSF-Dateien) hinterlegt. Da man zur Änderung dieser Daten den Quellcode benötigt, kann nur der Hersteller dort Änderungen vornehmen.

Es gibt jedoch 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/Hofer-Filialen hinterlegt sind.

Dise PSF-Dateien befinden sich im Ordner My Flash Disk\navigation\MapRegions im Navi, oder im Ordner \MapRegions auf der SD-Karte.

Wie sind die Daten der POIs im Kartenmaterial gespeichert

Jedem POI ist eine Nummer zugeordnet. So haben z.B. Bahnhöfe die "0", Kinos die "9" und Aral-Tankstellen die "1001".

Eine Araltankstelle 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, Strasse, Hausnummer, Öffnungszeiten, Telefonnummer, usw. hinzufügen.

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

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

Welche Dateien werden benötigt?

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 folgender Endung zum Einsatz:

- *.PC 
- *.PCB 
- *.PNG

Dateien mit der Endung PC

Dies sind die Hauptdateien zur konfiguration der POIs. Hier werden alle Parameter eingetragen, die für die Definition der POI’s wichtig sind. Standartmäß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

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

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 standartmäß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

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)

Grundlegendes zur Syntax

Eine Anweisung in dieser Datei ist in mehrere Bereiche aufgeteilt. Jeder Bereich beginnt mit einem Block.

<WORT> 

Dann kommt die eigentliche Anweisung, welche aus mehreren Blöcken bestehen kann

TEXT oder Block 

und muss mit einem zweiten Block (achte auf / )

</WORT> 

geschlossen werden.

Wird in <WORT> mehrere Wörter benutzt, wird nur das erste Wort bis zum Leerzeichen ausgewertet. z.B. <bitmap position="1"> hier ist bitmap das entscheidende Wort und der Bereich muss mit </bitmap> geschlossen werden.

Beispiel:

<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?

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 4.4)
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 4.4)
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 4.5)

Der Aufbau im Einzelnen (Bereich 3.1 bis 3.5)


<?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"

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

Bereich 3.2 „<types>“

in dem festgelegt ist, welche POI’s ausgewertet werden. In diesem Bereich wird jedes 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
<codes agent="PSF" begin="2600" end="2759" /> Hiermit kann ein Bereich von Zahlen definiert werden.
<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>“

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. Deutsch ist hier die "3". Soll der Name in allen Sprachen gleich sein, kann man hier dir "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>“

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 4 beschrieben.

Bereich 3.5 „<search type="preferred_pois">“

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“

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 plaziert 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 3.3).

Weblinks

Beispiel EASY-POIS

Vorlage:Adsense