GoPal 5 POI Grundlagen: Unterschied zwischen den Versionen

Aus GoPalWiki
Wechseln zu: Navigation, Suche
Zeile 145: Zeile 145:
 
<u>'''Der Bereich „&lt;types&gt;“ im Einzelnen'''</u>  
 
<u>'''Der Bereich „&lt;types&gt;“ im Einzelnen'''</u>  
  
{| border="1" cellspacing="1" cellpadding="1" width="780"
+
{| border="1" cellspacing="1" cellpadding="1" width="760"
 
|-
 
|-
| width="430" | &lt;!--Airport--&gt;  
+
| width="415" | &lt;!--Airport--&gt;  
 
| Titel des POI – nur ein Infotext für Programmierer
 
| Titel des POI – nur ein Infotext für Programmierer
 
|-
 
|-

Version vom 18. April 2010, 12:29 Uhr


Vorlage:PDF

Ich habe diesen WIKI-Beitrag geschrieben, um interessierten Usern die Möglichkeit zu geben den Aufbau und die Möglichkeiten der GoPal 5 - 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 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.

Welche Dateien werden benötigt

Für die Auswertung und Anzeige der POI’s sind die folgenden Module zuständig:

•    GeneralPOIs.pc / GeneralPOIs.pcb und polyglott.pc / polyglott.pcb
   im Ordner : My Flash Disk\navigation\poi\

•     poi.pc / poi.pcb undAE_PE_Only.pc / AE_PE_Only.pcb
   im Ordner : My Flash Disk\navigation\poi\default und \navigation\poi\1

•     *.png (POI.png, SpecialBitmaps.png, usw.)
   im Ordner : My Flash Disk\navigation\poi\

•     poi_categories.png undpoi_categories_national.png
   im Ordner : My Flash Disk\navigation\Skin480x272\PPSkin\480x272\PPSkin

•     dpitems.xml
   im Ordner : My Flash Disk\navigation\Skin480x272

•      Standard.de_DE.xml
   im Ordner : My Flash Disk\navigation\Skin480x272\res
 

Die Aufgaben der Dateien

Dateien mit der Endung “PC“

In den folgenden Ordnern sind die Hauptdateien in denen die Parameter der POI’s festgelegt werden:

   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 4 Minuten)– also etwas Geduld wenn es beim Startbildschirm nicht gleich weiter geht.


Die Dateien poi_categories.png und poi_categories_national.png

In diesen beiden Dateien (gleicher Inhalt) sind Bilder enthalten, die bei der POI-Suche und in den Splitscreenfenster (2 nächsten POI’s) benutzt werden.
Die Größe der einzelnen Bilder ist auf 30x30 Pixel festgelegt.

Anders als im sonstigen GoPal, werden hier die Koordinaten der Bilder nicht durch einen Wert angegeben (0,0,22,22), sondern sie werden von 0 ab durchnumeriert (z.B. Bild 10 beginnt bei Pixel 300 und endet bei Pixel 329).

In der POI.PC wird dieser Wert unter den Einträgen
<bitmap position="1">
bitmapIndex="1"
definiert.

Will man also neue Bilder dazu hängen, muss man einfach die poi_categories_national.png in 30 Pixelschritten nach unten erweitern, den Positionswert auszählen (oder Bildanfangswert geteilt durch 30) und in der POI.PC die beiden Werte eintragen bzw. ändern.


Dateien mit der Endung PNG im Ordner : My Flash Disk\navigation\poi

In diesen Dateien sind die Bilder (Icon’s) der POI’s enthalten die in der Karte angezeigt werden.


Die Dateien dpitems.xml und Standard.de_DE.xml

Im hinteren Bereich der Datenbank-Datei Standard.de_DE.xml sind Textbausteine und Verknüpfungen enthalten, die unter anderem in der POI-Suchfunktion benutzt werden.
Z.B. Texte die bei der Suchfunktion (Sonderziele) ausgegeben werden.
Hier sind zurzeit nur Texte bis zur Nr. 108 angegeben.

Ab Nr. 109 wird immer der gleiche Text (Alle Sonderziele dieser Kategorie anzeigen) ausgegeben.

<semantics name="PFPoi.skn">
<text value="45#Alle Sonderziele" id="1680933818" type="STRING"/>
….
<text value="Alle Straßen anzeigen" id="1681129522" type="STRING"/>
</semantics>

In der Datei dpitems.xml in der Zeile <item id="2131623940", gibt die Nummer eine Position in der Datei Standard.de_DE.xml an, welche zum Ausgabetext in der Suchfunktion führt.

Man sollte sich gut überlegen ob man hier etwas ändert, denn die Dateien dpitems.xml und Standard.de_DE.xml sind in jedem Version der GoPal 5-Software anders und man muss so für jede GoPal 5-Version eine eigene dpitems.xml und Standard.de_DE.xml erzeugen.
Die Effekte die man hier erzielen kann sind jedoch recht nett.


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 muß 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 muß 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 Tabstopps 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..


Der Aufbau im Einzelnen (Bereich 3.1 bis 3.5) 

<?xml version="1.0" encoding="ISO-8859-1"?>      Bereich 3.1

     ...
     <poicategories version="01020010">

     |  

     |     <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 Der Header, er enthält Informationen die GoPal zur Weiterverarbeitung benötigt.

     <?xml version="1.0" encoding="ISO-8859-1"?>
     <poicategories version="01020010">
     <!--street director Navigation Software -->
     <!--http://www.street-director.de -->
     <!--Copyright (c) 2006 3SOFT GmbH -->
     <!--WARNING: DO NOT EDIT OR DELETE THIS FILE! -->

Bereich 3.2 „<types>“ in dem festgelegt ist welche POI’s ausgewertet werden.

     <!--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>
     </type>


Der Bereich „<types>“ im Einzelnen

<!--Airport--> Titel des POI – nur ein Infotext für Programmierer
<type id="1"> Beginn der POI-Definition mit eindeutige Nummer – wird bei der Suche und Gruppierung verwendet
<bitmap position="1">poi/poi.png,0,18,18,18,-9,-9,255,0,255</bitmap> Festlegung welches Bild in der Karte und den Auswahlfeldern angezeigt 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> Klassifizierung des POI
<group>Standard POITypes</group> Klassifizierung des POI-Types
</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.

     <!--Airport-->
     <category id="1021" name="2" bitmapIndex="1" description="Airport" />

    

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 benutzt
name="2" Texte die bei der Suchfunktion (Sonderziele) ausgegeben werden. Die Nummer gibt eine Position in der Zeile <item id="2131623940" der Datei dpitems.xml an. Die an dieser Position stehende Nummer führt zum Ausgabetext in der Datei Standard.de_DE.xml. Hier sind zurzeit nur Texte bis zur Nr. 108 angegeben. Ab Nr. 109 wird immer der gleiche Text (Alle Sonderziele dieser Kategorie anzeigen) ausgegeben.
bitmapIndex="1" Verweis auf das dazugehörige Bild in der Datei poi_categories.png. Die Bilder in dieser Datei haben eine einheitliche Höhe von 30 Pixeln, und werden von 0 ab durchnumeriert (z.B. Bild 10 beginnt bei Pixel 300 und endet bei Pixel 329).
description="Airport"
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, muß 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 diesm wird angegeben, welche POI’s unter „Bevorzugte Tankstelle“ angeboten werden. Hier ist die Bedeutung der einzelnen Einträge wie im Bereich „<search>“.
Zur Einstellung „Bevorzugte Tankstelle“ kommt man in Menü über (Zahnrad) Eistellungen/Darstellung/Sonderziele/Bevorzugte Tankstellen.



Zuordnung im Bereich „Sonderziele“

Welche Gruppen und Untergruppen im Bereich Sonderziele (im Navi über das Menü dann Sonstiges Ziel suchen/Sonderziele) 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 zuzuweißen (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).


Beispiel EASY-POIS

Bei den Easy-POIS habe ich das Hauptaugenmerk auf die Priorisierung, den Zoomlevel und die Suchanordnung gelegt. So sind z.B. bei einer Autobahnfahrt bei der das Navy oft sehr weit raus zoomt die interessantesten POIs Tankstellen, Rastplätze und Parkmöglichkeiten. 
Es werden zum Teil aussagekräftigere und auch in der Originalsoftware noch nicht freigeschaltete POI-Bildchen angezeigt.

Neue Suchergebnisse werden erzielt. Z.B Einkaufen/Aldi alle Supermarktketten werden gelistet. (hier steht Aldi stellvertretend für Supermärkte - denn ich wollte um eine hohe komptibilität zu erreichen, keine Änderungenin an den Dateien dpitems.xml und Standard.de_DE.xml vornehmen.

Da zurzeit ist noch kein Programm freigegeben wurde, mit dem man eigene POI’s (PSF-Dateien) für GoPal 5 erstellen kann, können auch nur POI’s die im original Kartenmaterial vorhanden sind (jetzt aber alle und schöner) angezeigt werden.


Was wurde geändert

Bei EASY-POIS entfallen die Ordner
My Flash Disk\navigation\poi\default
und
My Flash Disk\navigation\poi\1.

Die Dateien poi.pc, AE_PE_Only.pc und polyglott.pc wurden zusammengeführt zu einer neuen poi.pc – Datei. Diese liegt jetzt im Ordner My Flash Disk\navigation\poi\.

In der poi.pc habe ich alle poi_overlay-Einträge entfernt. Denn nützt es wirklich etwas, wenn ich in der Karte sehe das hier und da mehrere POI’s an einer Stelle sind, aber nur eines davon zu sehen ist.

Dies verbraucht nur Rechenleistung bei sehr geringem Nutzen. Außerdem ist man nun nicht mehr an nur eine Größe gebunden.

Neu dazugekommen ist ein Ordner mit dem Namen “Easy“ (My Flash Disk\navigation\poi\Easy). In ihm befinden sich jetzt alle Bilddateien (PNG) die in der neuen poi.pc verwendet werden.

Der Hintergrund, für jedes Bild eine eigene Datei zu erstellen, ergab sich aus der folgenden Aufgabenstellung:

• Wie kann ich jedes Bild einfach und schnell ändern?
• Wie kann ich jedes Bild beliebig groß machen oder die Größe verändern?
• Wie kann ich die Gesamtdateigröße möglichst klein halten, wenn jedes Bild eine andere Größe hat?

Anstatt der einfachen Standartbilder (POI’s), verwende ich nun zum Teil unterschiedlich große und aussagekräftigere Bilder.

Durch den Einsatz von Exceltabellen habe ich folgende Möglichkeiten erhalten:

• Sortieren nach verschiedenen Kriterien
• Bessere Übersichtlichkeit (Trennung in Spalten)
• Zoom-Einstellungen Einfach und Übersichtlich
• Eine ausgeklügelte Priorisierung ist nun möglich.
• Fehler sind leichter zu finden
• Änderungen lassen sich leichter Durchführen
• Gruppierungen lassen sich besser erstellen

Die Anordnung im Bereich „Sonderziele“ habe ich neu und übersichtlicher sortiert.


Excel-Tabellen

In den Excel-Tabellen kann man durch die Sortierfunktion nun leichter Fehler entdecken, Priorisierungen vornehmen, den Zoomlevel einstellen, usw..

Nach Fertigstellung muss man dann nur den geänderten Bereich in der Tabelle markieren, ausschneiden und anschließend in der Datei POI.PC ersetzen. Tabstopps die durch das Excel-Format entstehen kann man danach noch entfernen.
Bevor die Änderungen zum Tragen kommen, muss natürlich die Datei „poi.pcb“ gelöscht werden und danach das Navi neu gestartet werden. Beim Neustart (der dann das erstenmal etwas länger dauert) wird die Datei „poi.pcb“ dann vom Navi neu erstellt.

Wenn bei dem Neustart das Navi hängen bleibt, hat man etwas in der Datei „poi.pcb“ falsch gemacht. Jetzt kann man entweder den Fehler versuchen zu finden oder eine zuvor gesicherte Version zurückspielen.

Dabei nicht vergessen die Datei „poi.pcb“ die auch bei einem Fehler erstellt wird zu löschen.

Die Excel-Tabellen sind im Download zu den EASY-POIS enthalten.(siehe Weblinks)


Icons

Die Bilder für die POI’s habe ich aus den Originaldateien herauskopiert und jeweils als Einzeldatei mit der dazugehörigen „type id“-Nummer im Ordner My Flash Disk\navigation\poi\Easy neu abgespeichert.
Z.B.   Bahnhof    = 00000.png
         Flughafen  = 00001.png.

Durch die „type id“-Nummer ist die Zuordnung der Bilder einfacher und Übersichtlicher.

Danach habe ich angefangen diese Bilder nach und nach neu und teilweise in anderer Größe zu zeichnen (z.B. Flughafen - dieses Bild sieht auf dem Navi besser aus wenn es größer ist. Auserdem sind in der Nähe eines Flughafens wenige oder gar keine anderen POI’s).

Wenn man die Größe des Bildes ändert, muss man auch den Eintrag in der POI.PC (z.B. poi\EASY\02456.png,0,0,20,22,-10,-11,255,0,255 ändern.


Weblinks

Beispiel EASY-POIS  http://www.gopal-navigator.de/dload.php?action=file&file_id=571


Viel Spaß mit den geänderten POIs wünscht euch.

Klauso

Version 1.5