Automatisch MagicMaps Karten für OZI erzeugen mit NH-Top50Trans

  • Hallo,


    Bernhardv
    Es bringt nichts, MapMerge mit ozf Dateien zu füttern. Am besten klappt es mit TIFF Dateien. Man kann mit MapMerge ein beliebiges Kartenstück erzeugen lassen. Das ist recht praktisch, wenn man nur ein bestimmtes Gebiet benötigt und nicht so lange warten möchte bis das komplette Bundesland abgearbeitet ist.


    paules
    So wie es aussieht, schafft es MagicMaps nicht das Kartenbild in der bereitgestellten Zeit auf den Monitor zu bringen. Ein höherer Wert bei warte auf MagicMaps sollte das Problem beheben. Wie lange die Wartezeit sein muss, sollte man erkennen können, wenn man sich den Ablauf genau anschaut. Man kann auch die Zeit stoppen, die der MagicMaps Viewer benötigt, bis die Karte scharf dargestellt ist.


    Northman
    Klappt es wirklich, mit Delphi große Kartenbilder zusammen zu setzten? Und noch dazu so schnell? Das wäre *die* Lösung. Nur der Glaube daran fehlt mir, weil alle Programme, die ich ausprobiert habe, irgendwann ausgestiegen sind. Kaum ein Bildbearbeitungsprogramm außer Photoshop kann das. TTQV steigt bei 8000x8000 Pixel aus. C-dlls steigen ebenfalls in dieser Größenordnung aus...


    Was klappt, ist die Bilder auf bit und byte Ebene zu montieren. Das dauert ewig. Vermutlich macht MapMerge es so.


    NH-Top50Trans erzeugt für MapMerge überlappende Kacheln und für Photoshop anstoßende Kacheln. Diese sind dann natürlich unterschiedlich groß. Wenn du mir sagst, welche Angaben du für dein Programm benötigst, kann ich das einbauen. Entweder unterschiedlich große Kacheln, die aneinander gesetzt werden müssen, oder die Angaben über die Pixel der MapMerge Kacheln. Also wo die Kachel im Gesamtbild eingesetzt werden muss.


    Bevor wir uns die Mühe machen, sollte man aber überlegen, ob sich der Aufwand wirklich lohnt. Die aktuelle Version vom ozf3 Format scheint deutlich schneller zu laufen.


    TiramisuMK
    Gleiche Sache wie bei steffgen. Das Kartenbild ist falsch. Da kann man auch nichts mehr umsortieren.


    @LeGr WOM
    Wenn es nicht an der Wartezeit für MagicMaps liegt, kann es auch an der Grafikkarte liegen. In diesem Fall muss man den Haken bei NH-Top50Trans im Vordergrund halten wegmachen.


    @all
    Über eins sollte man sich im Klaren sein: NH-Top50Trans hat keinen Einfluss auf den MagicMaps Viewer. Wenn dieser eine bestimmte Zeit benötigt, um ein Kartenbild auf den Monitor zu bringen braucht es eben diese Zeit für jede Kachel. Und das summiert sich. Ich habe allerdings versucht, das Programm am Limit zu betreiben, weil nur so der Kartenexport in einer erträglichen Zeit - über Nacht möglich ist. In der nächsten Version lasse ich es in der Grundeinstellung noch etwas langsamer ablaufen und mache dafür Buttons für schnell, normal und langsam rein. Außerdem wird zurzeit der Pfad zum platzieren der Karte zu früh gelöscht. Das ändere ich auch noch, auch wenn ich bezweifele dass es etwas bringt.


    Mit einem Fotostichprogramm kann man die Karten nicht zusammensetzten, weil die Karte dadurch leicht gedehnt wird und somit die Kalibrierung nicht mehr stimmt.


    Die topografischen Karten lassen sich *nur* mit einer 2 Punkte Kalibrierung Transversal Mercator *exakt* kalibrieren. Alles Andere wird ungenauer. Das bedeutet natürlich nicht, dass man die Abweichung in der Praxis immer bemerkt. Aber genauer geht es nicht.


    Weil die einzelnen Kacheln Koordinatengenau montiert werden, verschlechtert sich die Kalibrierung der Karte nicht, wenn man eine große Karte erzeugt. Es bleibt bei dem Fehler jeder einzelnen Kachel. Es summiert sich nichts auf.


    Viele Grüße


    Norbert

  • Hallo Norbert,


    herzlichen Dank für deine umfassenden Antworten. :)


    Ich habe da noch eine Frage......


    Ich habe die Bay3Rand.pth verwendet und für den Export Kartenteile 20km 1km Überlappung gewählt. Um mein Gebiet (Neumarkt) zu exportieren habe ich entsprechend den Koordinaten Kartenteil 139 angewählt und exportiert. Danach wollte ich den östlich benachbarten Kartenteil (140) exportieren und bekomme ein Kartenteil aus dem tschechischem Grenzgebiet ?(


    Ich dachte immer, dass Zeile für Zeile exportiert wird - beim Überprüfen der Koordinaten stelle ich fest, dass bei der Auswahl der Kartenteile die Koordinaten ziemlich springen. Nach welchem Muster kann ich nun einzelne Kartenteile suchen?


    schöne Grüße
    Dieter


    PS: Die Exportdateien habe ich in einem Beitrag weiter oben als Anlage hinzugefügt.

  • Zitat

    Original von EnHa
    Northman
    Klappt es wirklich, mit Delphi große Kartenbilder zusammen zu setzten? Und noch dazu so schnell? Das wäre *die* Lösung. Nur der Glaube daran fehlt mir, weil alle Programme, die ich ausprobiert habe, irgendwann ausgestiegen sind. Kaum ein Bildbearbeitungsprogramm außer Photoshop kann das. TTQV steigt bei 8000x8000 Pixel aus. C-dlls steigen ebenfalls in dieser Größenordnung aus...


    Delphi wird immer unterschätzt ;)
    Wie ich schon schrieb war das Bild, welches ich testweise zusammengesetzt habe, 12240 x 9401 Pixels groß. Das waren 109MB. Ich denke, daß eine Begrenzung allein durch den Speicher gegeben ist.


    Zitat

    Wenn du mir sagst, welche Angaben du für dein Programm benötigst, kann ich das einbauen. Entweder unterschiedlich große Kacheln, die aneinander gesetzt werden müssen, oder die Angaben über die Pixel der MapMerge Kacheln. Also wo die Kachel im Gesamtbild eingesetzt werden muss.


    Das Einfügen der Kachel ins Gesamtbild geschieht mit einer Delphifunktion. Map ist das Zielbitmap und TempMap ist die Kachel.
    Map.Canvas.CopyRect(Rect(X,Y,X+BreiteTempMap,Y+HöheTempMap), TempMap.Canvas,Rect(0,0,BreiteTempMap,HöheTempMap));


    Copyrect ist eine Funktion, welche aus einer Zeichenfläche (=Canvas unter Delphi) ein Rechteck in eine andere Zeichenfläche kopiert. Wie schon geschrieben: 6x7 =42 Bitmaps mit je 2040 x 1343 Pixels und 8MB Größe in 11sec in ein anderes Bitmap mit 12240 x 9401 Pixeln einkopiert. Dabei ist auch noch die Farbtiefe auf 256Farben reduziert worden, da das Zielbitmap nur 8 Bit hat.
    Das ganze hat nur so lange gedauert, da die 42 Bitmaps zusammen über 300MB groß sind und diese eingeladen werden müssen. Da ich mal wissen wollte, wie schnell das geht, wenn man immer wieder das gleiche Bild nimmt, habe ich das gerade mal ausprobiert: 1860msec :)


    Ich brauche:
    - Größe des Zielbitmaps in Pixel
    - Name der Kacheldatei
    - x,y Position wo die Kachel hin soll
    - Name der Zieldatei


    zB:
    Filename der INI-Datei und damit zu übergebender Parameter (inkl Pfad): RLP_01.ini
    Daraus ergibt sich der Zielpfad und der Name des erzeugten Bitmaps: RLP_01.bmp
    Inhalt der INI-Datei:
    ----------------------------------
    xy:12240,9401
    RLP_01_Y000X000.bmp,1,1
    RLP_01_Y000X001.bmp,2041,1
    ----------------------------------
    Größe der Kacheln kann ich einfach mit TempMap.Width und TempMap.Height abfragen und braucht deswegen nicht in die INI-Datei. Wenn es an irgendeiner Stelle Sinn machen sollte, daß nur Teile einer Kachel benutzt werden sollen, können wir uns bestimmt über ein INI-Format einig werden :)


    Das effektivste wäre, wenn die Bilder alle Nahtlos aneinander passen würden und nicht überlappen. Dann würde der Export auch schneller sein, da kein Verschnitt mehr erzeugt wird.


    Zitat

    Bevor wir uns die Mühe machen, sollte man aber überlegen, ob sich der Aufwand wirklich lohnt. Die aktuelle Version vom ozf3 Format scheint deutlich schneller zu laufen.


    Ich denke schon, daß sich das lohnt, denn so kann man ein Bundesland zB als 40x40x4km exportieren. Jedes 40x40km Kartenstück wird zu einem BMP zusammengesetzt und kann mittels img2ozf zu einer Map gemacht werden. So kann man immer die paar Kartenstücke mitnehmen, welche man voraussichtlich braucht. Damit spart man sich das img2ozf von allen Kacheln und das anschließende Mapmerge.



    PS: Wenn man einen Widescreenmonitor hat, sind die Kacheln entsprechend breit und überlappen sich so weit, daß x000 und x002 noch Überlappungen haben und man x001 gar nicht bräuchte :)



    Gruß, Carsten

    Bye, Northman

  • Hallo,


    Northman
    Iim Moment habe ich keine Zeit. Ich werde, sobald ich dazu komme, eine entsprechende ini Datei erzeugen. Dann probieren wir das einfach mal aus.


    Bernhardv
    Die Karten werden von Nord nach Süd sortiert. Allerdings wird die obere linke Ecke der Karte verwendet. Wenn die einzelnen Karten unterschiedlich groß sind, findet man die jeweilige Kartenmitte nur schwer. Deshalb habe ich die obere linke Ecke genommen.


    Es gibt aber auch den Button MapCheck, damit werden Waypoints in Kartenmitte und Ränder der Karten erzeugt.


    Viele Grüße


    Norbert

  • Zitat

    Klappt es wirklich, mit Delphi große Kartenbilder zusammen zu setzten? Und noch dazu so schnell? Das wäre *die* Lösung. Nur der Glaube daran fehlt mir, weil alle Programme, die ich ausprobiert habe, irgendwann ausgestiegen sind. Kaum ein Bildbearbeitungsprogramm außer Photoshop kann das. TTQV steigt bei 8000x8000 Pixel aus. C-dlls steigen ebenfalls in dieser Größenordnung aus...


    Ich will ja niemanden von seinem Weg abbringen, aber unter http://www.pocketnavigation.de…e486fa4756e75fbbf1873.htm habe ich beschrieben, wie ich eine 60.000 x 35.000 Pixel große Rasterkarte erstellt habe und welche Programme dafür sinnvoll waren.

  • Es wurde hier vielleicht schon ein paar mal angesprochen. Ich habe Probleme mit NHTOP50Trans.
    Folgendes :
    Ich habe die neueste Version MagicMaps auf meine externe Festplatte (H) kopiert. Das Programm NHTOP50Trans habe ich auf C:\ installiert.


    Mein Vorhaben: Den Bereich des Harzes (MagicMaps Niedersachen Ost , DVD2, Version 1.5 ) zu exportieren. Die Größe beträgt 67x49km.


    Habe dazu den gewünschten Bereich in der 2D Karte als Path markiert, abgespeichert und in der 2D Karte alle Paths gelöscht.


    In NHTOP50Trans habe ich dann nach Anleitung Karte exportieren --> MagicMaps, Path ausgewählt und dann 2.5 Meter pro Pixel eingestellt. Im Hintergrund war nun die 2D Karte als Vollbild(einfach ganzer Bildschirm, aber Menu ist noch vorhanden, siehe Bild).
    Nach Drücken der "Weiter MagicMaps" Taste, wähle ich den Namen für das neue bmp Bild aus (harz.bmp) und speichere es auf der der internen Festplatte. Danach scheint er das aktuelle 2D Karten Fenster zu kopieren und will anschließend einen Pfad laden, bei dem er sich aufhängt:
    C:\Programme\NH-TopTrans\NHTemPsC:\Programme\NH-TopTrans\NHTemp\MMTemp.pthpPA ...
    Anschließend bekomme ich die Fehlermeldung : "Messpfad konnte nicht gespeichert werden."


    Habe dies einmal auf Win2000 und WinXP probiert. Es kommt immer die gleiche Fehlermeldung. Unter Win2000 konnte ich allerdings nur die ältere Version NHTOP50Trans 3.3b1 installieren. Dafür das gleiche Problem mit der neuen Version und XP.


    Woran könnte dies liegen? Oder kommt das Programm mit den vielen Laufwerksbuchstaben nicht klar?
    Es wäre sehr nett, wenn ihr mir helfen könntet!

  • Moin!


    Zitat

    Original von AkaPulko
    C:\Programme\NH-TopTrans\NHTemPsC:\Programme\NH-TopTrans\NHTemp\MMTemp.pthpPA


    Sah der Pfad wirklich so aus? Dann wäre er auf jeden Fall ungültig (2 Pfade in einen gewurschtelt?), denn einmal zeigt er sinnloserweise 2x in den gleichen Ordner (was so natürlich nicht geht), der Dateiname sieht schlecht aus und dann ist auch noch der zweite Doppelpunkt im Pfad verboten. Dann bliebe nur noch zu ergründen, wie der Fehler entstanden ist ;D


    Gruß
    HK2000

  • Hi,
    ja, genauso hat das Programm den Pfad bei mir eingeben wollen. Ich habe es einfach kopiert. Danach hat das Programm ja verständlicher Weise abgebrochen. Ich weiß auch nicht mehr, was ich tun soll.... :-D)

  • Zitat

    Original von EnHa
    Northman
    Iim Moment habe ich keine Zeit. Ich werde, sobald ich dazu komme, eine entsprechende ini Datei erzeugen. Dann probieren wir das einfach mal aus.


    Hallo Norbert,


    macht nichts, denn ich habe im Moment auch keine Zeit... Ich werde mich wohl erst in zwei Wochen wieder melden können.


    Gruß, Carsten

    Bye, Northman

  • Habe es jetzt mit der älteren Version von NHTOP50TRANS unter Win2000 hinbekommen : drink.
    Habe einfach den Pfad neu erstellt und dann ging es.

    Einmal editiert, zuletzt von AkaPulko ()

  • Version 3.3b1 .


    Pfad: Einfach ein neuer Pfad für den Kartenbereich, der unter MagicMaps exportiert werden soll.


    Aber unter XP und der aktuellen Version von NHTOP50Trans habe ich es auch mit dieser Prozedur nicht hinbekommen (Fehler wie oben).

    Einmal editiert, zuletzt von AkaPulko ()

  • Hallo,


    Northman
    in der Development Version ist die Änderung drin. Beim MagicMaps Kartenexport für MapMerge wird eine entsprechende ini Datei erzeugt. Außerdem gibt es noch eine Photoshop JavaScript Datei. Damit kann man mit einer scriptfähigen Photoshopversion die für MapMerge erzeugten Kachen auch noch zusammensetzten.


    Auf diese Weise müsste es mit jedem andern scriptfähigen Bildbearbeitungsprogramm auch gehen. Nur eben welches? Eventuell was von Corel?


    thosan
    hast du eventuell das MagicMaps Update 1x6 nicht installiert? Irgenwann hatte ich es nämlich aufgegeben, den Kartenexport für alle CD/DVD Versionen kompatibel zu machen.


    @alle bei denen der Kartenexport immer noch nicht klappt
    Man kann nun 3 Geschwindigkeiten wählen. Die normal Einstellung sollte nun noch unkritischer sein. Außerdem wird der Positionierungspfad später gelöscht.


    morty
    Da bin ich nicht schlau draus geworden. Der Vorteil vom ECW Format ist eine andere Sache. Das Ausgansformat ist eine Bildschirmkopie. Im Moment ist das einzige Problem, die Kacheln mit einem externen scriptfähigen Programm ohne Größenbeschränkung zu montieren.


    ImageMagick? Kenn ich nicht. Damit soll es gehen? Ich werde mich mal auf die Suche nach einem Link machen.


    Viele Grüße


    Norbert

  • Hallo Norbert,
    vielen Dank für den Tipp. Ich hatte im Mai das letzte Update gemacht und nicht damit gerechnet, dass so schnell wieder ein neues zur Verfügung steht. Mit dem neuen Update klappt es nun unter XP und deiner aktuellen Version ohne Probleme.
    Danke für dein Programm. Es macht wirklich einiges leichter :).


    Noch zwei Fragen:


    (1)
    Da ich auf meinem Handy ein Programm nutze(MapView GPS), welches nur *.ozf2 mit den entsprechenden *.map Dateien verwerten kann, würde mich es schon interessieren, ob man das neue Format *.ozf3 nicht in das ältere umwandeln bzw. ob man nicht gleich *.ozf2 Dateien erzeugen kann?


    (2)
    Die Umwandlung mit MapMerge dauert bei mir ewig (schätze mal 10 Tage für den Bereich des Harzes). Eigentlich benötige ich erstmal nur eine große Kalibrierungsdatei (*.map). Daher meine Frage: Kann man die einzelnen *.map Dateien zu einer Datei zusammenfügen?

  • Moin!


    Zitat

    Original von AkaPulko
    (2)
    Die Umwandlung mit MapMerge dauert bei mir ewig (schätze mal 10 Tage für den Bereich des Harzes). Eigentlich benötige ich erstmal nur eine große Kalibrierungsdatei (*.map). Daher meine Frage: Kann man die einzelnen *.map Dateien zu einer Datei zusammenfügen?


    Wie soll das denn gehen? Du brauchst immer genau eine *.map-Datei pro Kartenbilddatei, zusammenfügen kannst du nur die Bilddateien und dazu dann eine entsprechende *.map erzeugen ;D
    Falls es dir darum geht, alle Karten an einem Stück anzuschauen, dann kannst du auch zu einem anderen Programm greifen, z.B. Global Mapper. Das kann die *.map-Dateien von Ozi richtig interpretieren (jedoch nur mit gängigen Kartenformaten zusammen, also nicht ozf2/3) und setzt die zur Ansicht automatisch richtig aneinander (sozusagen on the fly). Exportieren kannst du das da dann auch in nahezu beliebiger Größe (als JPG, ECW (beschränkt), TIFF, etc.) ;D


    Gruß
    HK2000


    EDIT: Oh Mann, heute schaffe ich es nicht einmal, meinen Nick richtig zu schreiben... Also eventuelle Fehler seien mir bitte verziehen :gap

    Einmal editiert, zuletzt von HK2000 ()