.kal Datei Aufbau?

  • Hallo,


    Ich habe ein paar Fragen zur Kalibrierung in bzw. was ich im nachfolgenden Text bei meiner Vorgehensweise falsch gemacht habe.


    Gegeben war eine Karte im jpg Format 6xxx mal 5xxx, reichlich 6 MB. Diese hatte ich für Ozi entsprechend kalibriert [1].


    Um die Karte nun auch in Glopus zu verwenden habe ich als erstes das Tool von frank334 genommen und mir eine entsprechende .kal Datei generieren lassen [2]. Ein Laden der Karte mit Glopus ging schief, was mich allerdings nicht weiter wg. der Bildgröße und des Speicherbedarfs gewundert hat.


    Jetzt habe ich den GMM genommen, um aus der großen Karte kleinere Kacheln zu generieren. Hier gabs das Problem, das aus irgendeinem Grund die jpg Datei nicht gelesen werden konnte. Es gab immer eine Fehlermeldung beim öffnen. Ein Umweg über das BMP Format ging aber.


    Eine solche Kachel habe ich sammt Kalibrierungsdatei [3] dann auf meinen PNA kopiert. Allerding konnte auch die Karte von Glopus nicht angezeigt werden. Warum weiß ich nicht. Ich habe mehrere Formate (png und gif) erfolglos probiert. Ein Vergleich mit den Chile Karten aus einem anderen Thread brachten auch nichts.


    Schließlich habe ich mir die Kalibrierungsdatei nochmal angesehen, und dann manuell einen Bildausschnitt aus dem jpg genommen und die Kalibrierungsdatei per Hand geschrieben [4]. Diese Karte wurde endlich geladen und angezeigt und auch die Kalibrierung stimmt.


    Um den Grund herauszufinden habe ich die .kal Datei von [3] angeschaut und modifziert [5]. Mit dieser wird nun auch diese eine Kachel angezeigt. Allerdings sind beide Kalibrierungen falsch. Die Länge ist zuweit westlich, die Breite stimmt hingegen.


    Was bedeuten in der Kalibrierungsdatei die Größen "ScaleX", "ScaleY" und "OffLaenge", "OffBreite"? Wie errechnet sich die Scale?


    Bei dem Offset hab ich erst angenommen, hier wird relativ zum 0 Punkt die obere linke Ecke definiert, die aber (wenn ein Punkt 0,0 ist auch dort gegeben ist). Stimmt das? Dann könnte ich theoretisch den Offset weglassen, was allerdings dazu führt, das die Karte nicht mehr dargestellt wird.
    Informationen hierzu sind willkommen. Danke schonmal.


    Gruß, fortwienix


    [1] karlsruhe_stadtplan.map
    [2] karlsruhe_stadtplan.kal
    [3] ka_long_8.388530lat_49.002483_orig.kal
    [4] karlsruhe_zentrum.kal
    [5] ka_long_8.388530lat_49.002483_fixed.kal


    Die einzelnen Dateien habe ich mit dem Text als ZIP angehangen.

  • Hallo fortwienix,


    ohne dass ich im Moment Zeit habe, mir deine Dateien anzuschauen schonmal zwei Hinweise:
    1. Welche Glopus-Version verwendest du? Alte Versionen konnten teilweise nicht mit den aus GMM erzeugten kal-Dateien umgehen.
    2. Scale und Offset werden von Glopus normalerweise nicht verwendet und dienen nur der Abwärtskompatibilität. Du kannst sie in deinen kal-Dateien weglassen, Glopus ergänzt sie dann automatisch, wenn die Datei das erste Mal geladen wird.


    Viel Erfolg,
    René


  • In deinen Kalibrierdateien sind zunächst keine Fehler zu erkennen. Du musst natürlich den Grafiktype gif/png/jpg nach Grafikumwandlungen auch in den Kal-Dateien richtig anpassen. Grafiken müssen bei Glopus wohl komplett in den Speicher passen. 5000x5000 Truecolor sind 70 MB, das wird knapp und Glopus zeigt das Bild dann einfach nicht an, wenn die Speicheranforderung schief geht. JPG sind zwangsläufig Truecolor, evtl. kann nur der Programmierer das beim Entpacken noch auf weniger Bits/Pixel beschränken. PNG und GIF sollten eigentlich nur soviel Farbbits anfordern, die auch beim Speichern angegeben wurden. Ausserdem hängt's vom Kartentyp ab. Stadtplan/topografisch ist typisch PNG, Google-Fotos eher JPG.


    Zu deinen KAL-Dateien fällt mir auf, dass deine Problemkacheln negative Punktkoordinaten haben. Man könnte sich zwar theoretisch so etwas ausdenken, aber ich bin mir nicht sicher, ob Glopus damit zurechtkommt.


    Die Scale/Offset-Werte werden nicht mehr benötigt, seitdem Glopus die 4-Punkte-Kalibrierung kann. Darauf solltest du dich konzentrieren (also Calibration Point 1-4). Oder wenn die Punkte wegfallen, müsste Glopus noch die alten Scale/Offset-Werte in Kalibrierpunkte konvertieren.


    Zu meinem map2kal-Tool: es werden ganz einfach nur die Moving-Map-Parameter von Ozi übernommen. Also MMPXY,MMPLL und IWH. Bei NH-Toptrans-generierten Kacheln hat das super funktioniert. Es ging allerdings nicht bei einer großräumigen Karten von Deutschland in Mercatorprojektion. Da waren die Ungenauigkeiten immens. Deutschland habe ich erst durch eine 10x10 Kachelmatrix in Glopus halbwegs verzerrungsfrei hinbekommen. Das muss aber schon bei der Kartenerzeugung passieren. Nachträglich Mercatorkarten zu zerstückeln behebt den Projektionsfehler nicht. Da müsste vorher entzerrt werden. Hier im Forum ist das mal anhand einer Weltkarte erklärt worden, mit den OpenEV-Tools. Aber das ist kompliziert.


    Ich werde mal den Tools einen Warnhinweis hinzufügen:


  • Zitat

    Original von frank334


    In deinen Kalibrierdateien sind zunächst keine Fehler zu erkennen. Du musst natürlich den Grafiktype gif/png/jpg nach Grafikumwandlungen auch in den Kal-Dateien richtig anpassen.


    Kann ich nochmal prüfen, waren aber Flüchtigkeitsfehler.


    Zitat


    Grafiken müssen bei Glopus wohl komplett in den Speicher passen. 5000x5000 Truecolor sind 70 MB, das wird knapp und Glopus zeigt das Bild dann einfach nicht an, wenn die Speicheranforderung schief geht. JPG sind zwangsläufig Truecolor, evtl. kann nur der Programmierer das beim Entpacken noch auf weniger Bits/Pixel beschränken.


    Is klar, irgendwo hatte ich das auch gelesen, daher hab ich die Originalkarte mit dem GMM zerlegen wollen.


    Zitat


    Zu deinen KAL-Dateien fällt mir auf, dass deine Problemkacheln negative Punktkoordinaten haben. Man könnte sich zwar theoretisch so etwas ausdenken, aber ich bin mir nicht sicher, ob Glopus damit zurechtkommt.


    Das ist mir auch aufgefallen, und ich konnte mir die Logik nicht erklären. Die negativen Werte sind nach dem Zerlegen mit dem GMM da hineingekommen.


    Zitat


    Zu meinem map2kal-Tool: es werden ganz einfach nur die Moving-Map-Parameter von Ozi übernommen. Also MMPXY,MMPLL und IWH. Bei NH-Toptrans-generierten Kacheln hat das super funktioniert. Es ging allerdings nicht bei einer großräumigen Karten von Deutschland in Mercatorprojektion. Da waren die Ungenauigkeiten immens.


    Eine 4 Punkt Kalibration reicht nur, wenn es eine lineare Projektion ohne Verzerrung ist. Ansonsten müßte man die Projektion mit angeben können, und das Programm die dann auc unterstützen. Die Mercatorprojektion hat ja Verzerrungen drin, wenn ich mich an den anderen Thread mit der Weltkarte erinnere. Klar ist, das bei kleinen Kacheln die einen Bereich von wenigen km Abdecken da keine großen Fehler auftauchen.


    Zitat


    Nachträglich Mercatorkarten zu zerstückeln behebt den Projektionsfehler nicht. Da müsste vorher entzerrt werden. Hier im Forum ist das mal anhand einer Weltkarte erklärt worden, mit den OpenEV-Tools. Aber das ist kompliziert.


    Ja ich erinnere mich, und das ist auch nachvollziehbar. Bei meiner Ursprungskarte war der Maßstab allerdings nur 1:20k wo diese Projektionsfehler so nicht auftreten sollten.


    Danke trotzdem für die Erklärungen. Ich werde halt ggf. die .kal Dateien per Hand anpassen, dann weiß ich auch, das die stimmen.