MapTk Typ-file zulässige Länge "String=..."

Garmin fenix 7X und epix Gen 2 im Test

Der Schwerpunkt dieses Tests und Vergleichs der Garmin Fenix 7X Solar und Garmin Epix Gen 2 liegt auf den Sensoren wie Höhenmesser, Positionsbestimmung und Herzfrequenz. Was unterscheidet die beiden GPS-Outdoor-Smartwatches? Und wie gut ist die Taschenlampe der Fenix 7X für den Outdoorbereich? Hier geht es zum Test der Outdoor-Smartwatches ...
  • Hallo zusammen,
    gestern ist mir beim arbeiten mit MapTK aufgefallen.
    Die Länge der Einträge im TYP-File zur Definition von alternativen Objektbeschreibungen ,die zur Anwendung in der Karte kommen wenn kein Label zum Objekt vorhanden ist, ist wohl begrenzt.
    Konkret ist es mir beim Objekttyp Polyline aufgefallen.


    Folgende Grenzen für die Anzahl der Zeichen pro Text meine ich herausgefunden zu haben.
    (zur Info: Es sind max. 4 Einträge der Art "String=[1-4],Ersatztext" pro Objekt erlaubt.)
    Max. Länge für einen Ersatztext = 125 Zeichen (+ Trennzeichen im Binärfile)
    Max. Länge für alle 4 Ersatztexte = 119 Zeichen Zeichen(+ Trennzeichen im Binärfile)
    Incl. der Trennzeichen sind es wohl immer 128 Zeichen(Bytes)
    Wird diese Grenze überschritten so gibt MapTK folgende Fehlermeldung aus:
    "Error: unsigned byte integer is greater than maximum"



    Desweiteren scheint es eine absolute Grenze von 192 Zeichen(incl. trennzeichen) für alle Polylines zu geben.
    Wird diese überschritten, so funktioniert die Typisierung anscheinend nicht mehr für diese Objektart.


    Bei den POIs gibt es wohl auch die 128er Grenze, allerdings habe ich bisher keine Begrenzung auf 192 für alle POI festgestellt.


    Jetzt wo ich es weiss, kann ich es händeln, aber es war schon schräg als plötzlich (obwohl ich ja gar nichts gemacht hatte:lol:) die Typisierung der Linien nicht mehr funktionierte, die der POIs jedoch weiterhin wie gehabt ging.
    Mich würde halt interessieren, ob meine Beobachtungen richtig sind oder der Hase woanders begraben ist.


    Gruss
    papauna

  • Hi


    Für die Längenangabe der Strings aller Sprachen steht 1 Byte zur Verfügung. Diese Länge rechnet sich zu

    Code
    Längenbyte = (Summe aller Texte + 2 * Anzahl Sprachen) * 2 + 1


    Damit bleiben bei einer Sprache maximal 125 Zeichen pro POI, Polyline oder Polygon.
    Mit der nächsten Version von MapTk gibt es eine ordentliche Fehlermeldung.


    JürgenD

  • Also,


    der Hase scheint in der Tat woanders zu liegen, naja derzeit wohl kein Wunder.
    Nachdem ich mir mal andere Kartenprojekte von mir angeschaut habe,musste ich feststellen das sehr wohl mehr als 192 Bytes verfügbar sind.
    Warum das jetzt in diesem einen speziellen Fall zu dem Phänomen geführt hat kann ich noch nicht sagen.
    Nach vielem hin und her probieren ist es jetzt auch in dem besagten Problemfall möglich String-Ersatzdefinitionen mit einer Gesamtlänge > 192 anzuwenden.
    Dummerweise habe ich mir doch bei der ganzen Probiererei die prj.-datei, welche das Phänomen hervorgerufen hat überschrieben:wand:
    Ich werde es nochmal versuchen das Phänomen zu reproduzieren und dann Bescheid geben.


    Gruss
    Papaluna

  • Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
    Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank...
  • Hi
    Für die Längenangabe der Strings aller Sprachen steht 1 Byte zur Verfügung. Diese Länge rechnet sich zu

    Code
    Längenbyte = (Summe aller Texte + 2 * Anzahl Sprachen) * 2 + 1

    Damit bleiben bei einer Sprache maximal 125 Zeichen pro POI, Polyline oder Polygon.


    Die Formel macht es schön griffig.
    Das entspricht dann den von mir ermittelten:
    125 Zeichen bei 1ner Sprache
    123 Zeichen bei 2 Sprachen
    121 Zeichen bei 3 Sprachen
    119 Zeichen bei 4 Sprachen.


    Tja und das von mir vermeintlich beobachtete Phänomen muss ich wohl unter Fehler beim Testen einordnen. Ich kann es derzeit nur reproduzieren wenn ich den Linientyp so ändere, das keine Entsprechung gefunden wird in der Karte und das Objekt somit mit dem ursprünglichen Typ dargestellt wird. Tja musss mir dann ohl im Eifer des Gefechts:muede: passiert sein.


    Gruss Gert