an Hamba und alle anderen. ExpediaFetch... das PFLICHTTOOL für OZI und co

  • Hallo hamba,
    danke schön für die Begrüßung.


    Schade, ich hatte gehofft, Knochlet würde sein Programm weiter komplettieren. Da waren ja noch ein paar Bugs offen, ebenso die Integration Deines AutoCal.


    Ich habe mal getestet, bei einem Zoomfaktor von 10 scheint die Kalibrierung wirklich super zu sein.
    Bei einem Faktor von 1 habe ich den Eindruck, die Straßenbreite würde in etwa dem Mittelstreifen auf der Straße entsprechen, und daher die Linie der Trackaufzeichnung mal links, mal rechts neben der Straße verlaufen.


    Ich bin auf der Suche nach sehr detaillierten /regionalen) Karten, also inklusive Fahrrad- Fuss- und Waldwegen. Hatte gehofft das diese Top50-Karten dem entsprechen würden.
    Irgendwo hier wird ja beschrieben, wie man diese Karten per Hand kalibriert, fand dies aber recht mühselig, zumal es immer das Restrisiko Ungenauigkeit gibt.
    Da wäre natürlich eine automatische Kalibrierung ideal.


    TI

  • Hallo Tokei Ihto,


    na vielleicht meldet sich knochlet ja irgendwann mal wieder.


    Die Straßenführung entspricht doch beim Zoomlevel 1 eh nicht der Realität t.w. total zackig. Eine Trackaufzeichnung, die sich mit der von MapPoint oder AutoRoute beim Zoomlevel 1 erzeugten Straßenführung deckt ist da doch eh ziemlich unwahrscheinlich.


    Bzgl. Deinen Anforderungen an detailliertem Kartenmaterial sollten die Top50 genau die Richtigen sein. Die automatische Kalibrierung ist mit Sicherheit bei größerem Kartenmaterial eleganter, aber nicht zwangsläufig genauer. Zumindest in dem Script OziAutoCal ist zum einen der verwendete Ellipsoid nicht berücksichtigt und zum anderen der Maßstab aufgrund der Schwankungen bei MapPoint und AutoRoute nur ein Näherungswert. Also eine Kalibrierung von Hand sollte in jedem Fall genauer sein nur halt auch aufwendiger.


    Bis denn
    Hamba

  • Hi,
    wenn ich ExpediaFetch.exe öffne, erhalte ich folgende
    Meldung "Laufzeitfehler 481 Ungültiges Bild".


    Was läuft da falsch?
    Über eine Antwort würde ich mich sehr freuen und sage schon jethzt meinen herzlichen Dank.

  • Hi Rüdi.


    Hast Du ne direkte Internetverbindung ?
    ExpediaFetch reagiert sehr allergisch, wenn es den Expedia-Server nicht ungehindert erreichen kann.


    Ist aber nur ne Vermutung, das es daran liegt.


    Hth, TI

  • Hallo Hamba,


    Expediafetch und OziAutoCal sind super Programme. Leider habe ich festgestellt, dass die Kalibrierung nicht so genau ist, wie ich es mir wünsche. Wobei ich denke, dass das Problem eher bei Expediafetch liegt. Da, wenn ich mit dem heruntergeladenen Bitmap von Expediafetch per Hand eine 9-Punkt-Kalibrierung mache, dann ist das Ergebnis auch nicht besser, als die 4-Punkt-Kalibrierung von OziAutoCal!


    Nebenbei - wenn ich einfach so eine Karte von Expedia runterlade und kalibriere - dann ist die Kalibrierung sehr gut.


    Wenn ich dann in OziPC bei jedem Kalibrierungspunkt den Breitengrad um 0.25 Minuten erhöhe und den Längengrad um 0.05 Minuten erniedrige, dann stimmt meine per Hand durchgeführte 9-Punkt-Kalibrierung fast perfekt mit einem aufgezeichneten Track überein. (Im konkreten Fall habe ich mit dem Breitengrad 48 und dem Längengrad 12 bei einem Zoom von 100 - Umgebung von München - gearbeitet.


    Ich habe nun vesucht, dein Perl-Programm dahingehend zu modifizieren, dass diese "Korrektur" auch automatisch geht - leider ohne Erfolg. Kannst Du mir bitte die Stelle nennen, wo diese Anpassung erfolgen muss.


    Ich denke dies ist einfacher - als Expediafetch anzupassen.


    Konkretes Beispiel:


    Anstatt z. B. einen Kalibrierungspunkt
    49 (Deg) 0 (Minutes.m) N und 11 (Deg) 0 (Minutes.m) E
    zu nennen, habe ich diesen Koordinaten Gitterpunkt mit:
    49 (Deg) 0,2500 (Minutes.m) N und 10 (Deg) 59.5500 (Minutes.m) E


    angegeben.



    Gruss und Dank im voraus,
    Chris

  • Hallo chriskmuc,


    tjo, das die Kalibrierung von OziAutoCal nicht immer so genau ist, habe ich auch feststellen müssen. Mein Perl-Script berechnet so und so nur Näherungswerte, macht also keine absolut korrekte Berechnung. Bei einigen Kartenausschnitten reicht diese Kalibrierung aber absolut aus. Bei anderen wiederum gibt es leider doch größere Abweichungen.


    Das Hauptproblem für die automatische Kalibrierung ist aus meiner Sicht definitiv die zugrunde liegende Software MapPoint bzw. AutoRoute. Beide Programme verwenden ja nur einen Zoom-Level und keinen echten Maßstab für die Detaillierungsstufe. Darüber hinaus gibt es tatsächlich in MapPoint ebenso wie in AutoRoute Zoom-Level, die einen unterschiedlichen Detaillierungsgrad zur Folge haben. D.h. bei einem Zoom-Level von z.B. 7, 12, 125, 150, 1000, 1250, 1750 gibt es jeweils zwei unterschiedliche Detaillierungsstufen. Zumindest bei meinem MapPoint auf meinem Notebook. Bei dem Zoom-Level 4km gibt es da sogar drei unterschiedliche Detaillierungsstufen !!!


    Die Berechnung der Koordinaten erfolgt in dem Perl-Script in der Subroutine Coord Zeilen 222 bis 242. Du kannst entsprechende Anpassungen vor der Rückgabe der beiden Koordinaten also vor der Zeile 240 einfügen. Ich glaube aber, dass diese Korrekturwerte nur für ganz bestimmte Kartenausschnitte (Zoom-Level) gültig sein dürften. D.h. bei anderen Kartenausschnitten könnten diese Korrekturwerte das Ergebnis deutlich verschlechtern. Siehe auch Background-Informationen in nachfolgendem Posting.


    Was ich aber nicht verstehe ist, weshalb Du bei einer händischen Kalibrierung so große Abweichungen hast. MapPoint und AutoRoute verwendet bei der Kartendarstellung bis zu einem Zoom-Level von kleiner 9200km eine Globusansicht. Dabei handelt es sich nach meinen Erfahrungen um eine polständische Azimuthualprojektion. Wenn Du diese bei der händischen Kalibrierung in OziExplorer auswählst, benötigst Du zusätzlich zu dem bekannten Mittelpunkt der Karte nur noch zwei zusätzliche Punkte am besten einen möglichst weit links oben und den anderen möglichst weit rechts unten - für die Kalibrierung. Das Ergebnis sollte dann ziemlich genau sein.


    In dem Perl-Script habe ich nur deshalb 4 Punkte in das MAP-File geschrieben, weil ich für die Corner-Markers so und so 4 Koordinatenpaare berechnen musste. D.h. da die Koordinaten berechnet werden, schreibt sie das Perl-Script halt auch in das Output MAP-File. Mit 2 Werten wäre das Ergebnis aber das gleiche.


    Bis denn
    Hamba

  • Background-Infos


    Um eine einigermaßen genaue Berechnung durchführen zu können, benötigt man bei der polständischen Azimuthualprojektion und bekanntem Mittelpunkt zwingend den genauen Maßstab des Kartenausschnitt um weitere Koordinaten berechnen zu können.


    Um das MapPoint/AutoRoute-Problem in dem Perl-Script zu umgehen, hatte ich mehrere Kartenausschnitte in verschiedenen Zoom-Levels händisch kalibriert und aus diesen kalibrierten Kartenausschnitten den in OziExplorer verwendeten Maßstab ermittelt. Für die Zoom-Level 15, 150, 300, 1000, 1800 und 5000 sind die entsprechenden gemittelten Werte in dem Perl-Script in den Zeilen 170 bis 175 definiert. Hier können einfach über weitere Definitionen alla $ZoomLevel[x] = y; weitere ZoomLevel hinzugefügt werden. x steht dabei für den entsprechenden Zoom-Level und y für den OziExplorer-Maßstab.


    Der Ozi-Maßstab wird von Ozi hinter dem Parameter MM1B in das MAP-File geschrieben. Er beschreibt lediglich das Verhältnis zwischen Entfernung (Meter) und Pixelanzahl der Karte in horizontaler Richtung also quasi so etwas wie einen Maßstab.


    Für jeden anderen Zoom-Level, der nicht fest definiert ist, habe ich in der Zeile 179 noch einen Näherungswert definiert, der über den aktuellen Zoom-Level den Ozi-Maßstab berechnet.


    Bis denn
    Hamba

  • Hallo Hamba,


    ich habe nun nach diesen Zeilen:


    $B_NP[$i] = grad($B_NP[0]); # Rad-Wert Breitengrad in Grad umwandeln
    $L_NP[$i] = grad($L_NP[0]); # Rad-Wert Laengengrad in Grad umwandeln

    diese Korrekturzeilen mit anschließender Bildschirmausgabe angefügt:


    $B_NP[$i] = $B_NP[$i] + 0.006; # Hier kann die Kalibrierung verbessert werden
    $L_NP[$i] = $L_NP[$i] - 0.0001; # Hier kann die Kalibrierung verbessert werden


    print " B_NP[$i]: $B_NP[$i] L_NP[$i]: $L_NP[$i]\n" ; # Ausgabe der korrigierten Gradwerte


    Warum ich hier nur eine so kleine Korrektur vornehmen muß im Vergleich zum OziExplorerPC - keine Ahnung, aber ich habe von dieser ganzen Materie ja sowieso fast keinen Schimmer.


    Wenn der Track nur vertikal bzw. horizontal um fixe Werte verschoben auf der Karte dargestellt wird, so kann man mit dieser Korrektur (die Korrekturwerte müssen wohl im Einzelfall angepasst werden) schnell jede Karte nachkorrigieren.


    Evt. wäre die Abweichung auch geringer, wenn ich mit vordefinierten Zoom-Werten arbeite - meine Map hatte einen Zoom von 100. Werde dies demnächst mal überprüfen. Ach ja - hab ich ja auch schon. Auch beim Zoom-Faktor 150 - gibt es eine ähnliche Abweichung.


    Ich fliege nächstes Frühjahr nach Madagasskar - kannst Du mir einen Track von der südlichen Hemisphäre zur Verfügung stellen. Um schon vorab Karten von der Südhalbkugel testen zu können.


    Gruss,
    Chris

  • Hallo Knochlet,
    Da das bei Dir mit dem Fix im Flugzeug nicht geklappt hat, sende ich Dir meinen Track vom letzten Urlaub auf den Sychellen. Die Karte ist nicht ordentlich kalibriert aber für den Zweck reichte es mir.


    Ich bin absolut begeistert von dem was Ihr hier so auf die Beine bringt. Ich kann nur sagen Danke und weiter so.


    Vielleicht schaffe ich es ja bis zu meinem nächsten Motorradurlaub in Rumänien auch eine Karte zusammen zu bekommen.


    Ich habe den Anhang nochmal geändert, hatte das Map-file vergessen.


    Gruß von einem daU


    Peanuts

  • Hallo Knochlet & Hamba,


    jetzt ist das schon ein ganzes Jahr her seitdem dieser Threat "eingeschlafen" ist, aber ich bin jetzt erst drauf gestoßen. Ich muß sagen, mein kompliment, ein cooles Tool. Zwar konnte ich es noch nicht im wirklichen Leben testen, aber die Idee ist genial.


    Klar, in deutschland braut man sowas eher nicht, da die meisten zum Autofahren eh Vektorkarten mit Routingsoftware haben und zum wandern sind die Karten nicht genau genug (dafür hat man TOP50), aber wenn man ins (außereuropäische) Ausland will sind die Karten eine riesen Hilfe. Vielen Dank dafür!


    Allerdings ist es schon verbesserungsfähig, daß man AutoCal noch einzeln starten muß, vor allem da man das tool nicht irgendwie automatisieren kann und die ganzen Filenamen von Hand eintippen muß. Ich würde es ja selbst machen, aber leider bin ich kein Programmierer.


    Nur um den Threat hier noch mal anzustoßen: Meint Ihr das wäre noch zu machen? Oder habt Ihr die Entwicklung aus anderen Gründen eingestellt?


    Dankbar


    Markus

  • Hallo markuhn,


    es gibt allerdings auch einen Vorteil dabei, dass OziAutoCal separiert ist. Dadurch lässt es sich auch offline am heimischen PC direkt mit MS AutoRoute bzw. MS MapPoint einsetzen. Wenn also jemand eine dieser beiden Software auf dem heimischen PC hat, kann er damit entsprechende Kartenausschnitte erzeugen und diese mit OziAutoCal kalibrieren.


    Es stimmt auch nicht, dass OziAutCal für jedes zu kalibrierende File von Hand gestartet und der Filename eingegeben werden muss. Mit der Option d werden alle Files mit der Extention .OZF2 in dem aktuellen Verzeichnis in einem Rutsch kalibriert ohne das auch nur ein Filename angegeben werden muss -> just : oziautocal -d


    Bis denn
    Hamba

  • > -> just : oziautocal -d


    Na das muß einem ja gesagt werden ;) dann ist ja alles in Ordnung. Sorry hab ich nirgends gesehen. Prima, vielen Dank


    markuhn

  • Zitat

    Original von markuhn
    Na das muß einem ja gesagt werden ;)


    wurde es hier auch.


    Bei dem Aufruf oziautocal -? wird auch ein kleiner Hilfetext ausgegeben, in dem alle Parameter - sind ja nicht viele - kurz beschrieben sind.


    bis denn
    Hamba

  • Na siehst Du da habe ich schon alle 10 Seiten nachgelesen und doch die wichtigen Zeilen nicht gesehen....


    Außerdem habe ich wohl den Fehler gemacht Autocal nicht aus einem DOS Fenster zu starten sondern per doppelklich aus dem Explorer heraus. Da ist es ja ziemlich schlecht mit Optionen.


    Also Danke nochmal


    markuhn

  • Kannst du mal kurz erläutern, wie man an die zur Kalibrierung mit AuoCal mittels Dateinamen erforderlichen Werte (also Koordinate der Bildmitte und Zoomfaktor entsprechend Expediafetch) einer Karte beim Export aus Autoroute gelangt?


    Wäre prima.


    Tom