Beiträge von Northman

    Du mußt bedenken, daß es auf dem iPod nur eine Player-"App" gibt und wenn es für diese eine API-Funktion zum Regeln der Lautstärke gibt, können Tom Tom und Navigon darauf zugreifen. Auf einem Android-Gerät kann jede App Ton wiedergeben. Ich vermute, daß es intern einen Mixer gibt, über den die Töne der verschiedenen Apps zusammengemischt werden. Wenn eine Navi-App Zugriff auf diesen Mixer hätte, könnte sie für jede andere App den Pegel bei einer Ansage reduzieren und danach wieder auf den vorherigen Wert zurückstellen.

    Zitat

    Original von cruisa
    Für mich persönlich macht auch die Grafik viel aus!


    Wir hatten vor ein paar Monaten mal einen Touareg als Mietwagen (dienstlich, kostenloses Upgrade). Das Navi war der letzte Witz... Sowas häßliches... Unvorstellbar... Schwarzer Hintergrund und die Straßen als bunte Linien. Sah ein bischen aus, als hätte ein Kleinkind auf schwarzen Karton rumgekritzelt. Richtig schlimm fand ich, daß die Straßenlinien nicht glatt waren, sondern Treppen hatten. Gegen die Darstellung von MN absolut schrecklich.
    Bei einem Kollegen im A4 ist ein ähmliches Navisystem, welches nicht diese extremen Treppenlinien hatte, aber auch nicht viel schöner. Schon unverschämt, was die Automobilhersteller für viel zu viel Geld anbieten.
    Leider habe ich über die Bildersuche bei Google keine Bilder davon gefunden, bzw nur solche, die eine andere Darstellung haben.


    Auf was für Ideen einige kommen.... Echt unglaublich.... Dem Anwender fallen immer wieder Sachen, die dem Progger nie in den Sinn kommen würden ;)



    Zitat

    Ich würde einen Link für mein Programm (selbstverständlich kostenlos) in dieses Forum stellen Voraussetzung wäre aber Dein Einverständnis, da es ja Dein MapStitch gewissermaßen als Unterprogramm verwendet.


    Mir persönlich ist das egal, sprich Du darfst MapStitcher benutzen und auch Dein Programm veröffentlichen.
    Dafür war der MapStitcher zwar nicht gedacht, aber wer eine Anwendung dafür findet, darf ihn benutzen.
    Ob Du das Program überhaupt veröffentlichen darfst, hängt auch von der Nutzungslizenz von GoogleMaps ab. Dazu kann ich Dir nichts sagen.

    Hallo Leute,


    als ich heute einem Kollegen erklärte, wie er zu Rasterkarten im PDA kommt, mußte ich ihn natürlich auch auf diesen Thread hinweisen und dabei ist mir aufgefallen, daß es hier noch neue Postings gegeben hat... Und ich dachte der Thread wäre eingeschlafen, da ich keine Mails mehr über neue Postings bekommen habe... :(
    Sonst hätte ich mich schon viel früher gemeldet....


    Beim Aufruf des Mapstitcher ist es wichtig, daß der Pfad zur INI-Datei in Anführungszeichen steht, wenn er Leerzeichen enthält, da Parameter bekanntermaßen durch Leerzeichen getrennt werden. Norbert hat das schon in NH-Top50Trans beachtet. Ist eigentlich nur noch wichtig, wenn man den Aufruf manuell durchführt.


    Für diejenigen, welche GoogleEarth exportieren wollen, habe ich vorhin noch die Möglichkeit eingebaut die Farbtiefe des auszugebenden Bitmaps anzugeben.
    Aus dem Mini-Readme:

    Mit dem zweiten Parameter kann die Farbtiefe des auzugebenden Bitmaps angegeben werden. Wird er weggelassen wird 8bit benutzt:


    -8bit Geräteunabhängiges Bitmap, das eine Palette mit 256 Farben verwendet.
    -15bit Geräteunabhängiges True-Color-Bitmap mit 15 Bits pro Pixel (RGB-Komprimierung).
    -16bit Geräteunabhängiges True-Color-Bitmap mit 16 Bits pro Pixel (Bitfeld-Komprimierung).
    -24bit Geräteunabhängiges True-Color-Bitmap mit 24 Bits pro Pixel.
    -32bit Geräteunabhängiges True-Color-Bitmap mit 32 Bits pro Pixel (RGB-Komprimierung).


    Beispiel: mapstitcher d:\gps\exporte\RundUmshaus\001.ini -24bit


    WICHTIG: DAS IST NOCH UNGETESTET!!! Es sollte funktionieren, da die einzige Änderung im Quellcode darin besteht, das ursprüngliche "Map.PixelFormat:=pf8bit;" zB durch ein "Map.PixelFormat:=pf24bit;" zu ersetzen (sind ein paar IF THEN geworden).
    Ich habe zur Zeit keine Testdateien mehr und um diese Uhrzeit auch nicht den Nerv, noch etwas zu exportieren. Schon gar nicht mit GoogleEarth... Dafür ist meine Inet-Anbindung einfach zu langsam....



    Die neue Version kann hier geladen werden: http://www.coldworld.de/softwa…stitcher/mapstitcherc.zip


    Vielleicht hat ja noch jemand exportierte Kacheln und kopiert die neue MapStitcherC.exe dorthin und startet es mal mit "mapstitcherc meine.ini -24bit"
    Interessant wäre auch das Ergebnis bei -16bit.



    ACHTUNG: Es ist zu beachten, daß mit den höheren Farbtiefen natürlich auch der Speicherplatzbedarf steigt. Unter einem 32bit-Windows kann jeder Prozess maximal 2GB RAM bekommen. (Es sei denn, in der BOOT.INI wurde der Switch /3GB gesetzt, dann können es bis zu 3GB werden. Allerdings empfielht selbst MS das nur mit Bedacht einzusetzen, da dabei der Non-Paged-Pool halbiert wird. Auch macht es nur Sinn, wenn tatsächlich soviel RAM im Rechner steckt).
    Durch diese 2GB ergibt sich die maximale Bildgröße:
    vereinfacht: 2Mrd Bytes durch 3Byte/Pixel = 666Mio Pixel.
    666Mio Pixel = ungefähr 25.000 Pixel im Quadrat.



    Gruß, Carsten

    Hallo Dieter,

    Zitat

    Original von diwo
    mhm - klingt logisch .....


    Danke :-)))


    Zitat

    Allerdings wird in diesem Thread immer wieder über sporadische Farbverfälschungen durch Img2Ozf geklagt (blättere mal einige Seiten zurück) - als Abhilfe hat sich offensichtlich das TIF-Format bewährt. Rationale Gründe gibt es hierzu nicht - ist eine Eigenart des Img2Ozf.


    Gab es diese Verfäschungen nicht nur bei MapMerge? (Habe jetzt keine Lust zu suchen... :) )


    Zitat

    Ich wandle die Mapstitcher-PMB nach RGB um und speichere dann als TIF (ist dann wirklich ca. 3x so groß). Ist trotzdem noch x-mal schneller als über MapMerge.


    Wenn das der einzige Weg ist, dann liegt ein Problem bei Img2Ozf vor. Allerdings hatte ich nis jetzt noch keine Farbverfälschungen.



    Gruß, Carsten

    Zitat

    Original von diwo
    RetroFAN
    Die von Norbert erzeugten Kachel-BMPs haben das Farbmodell RGB - die vom Mapstitcher gestitchten BMPs sind "Indexed Colors"!


    Die Kachel-BMPs haben 24bit Farbtiefe. Das MapStitcher-BMP hat nur 8bit Farbtiefe. 8bit ist immer indexed. Die Umwandlung ist nötig, damit das Resultat nicht dreimal so viel Speicher belegt. Außerdem ändert Img2Ozi sowieso die Farbanzahl, somit macht es IMHO keinen Sinn 24bit-Vorlagen an Img2Ozi zu übergeben.
    Wenn du nur BMP verwenden würdest, düftest Du keine Probleme mit den Farben bekommnen.



    Gruß, Carsten

    Zitat

    Original von LeGro
    Northman
    Ich dachte mir, dass man aus den Map-Dateien die benötigten INI-Dateien generiert. Denn dann könnte man - so mein Gedanke - beliebige, gleich kalibrierte Teilkarten mit deinem Mapstitcher zusammenbasteln. Aber vielleicht verstehe ich auch zu wenig von den INI-Dateien.


    Um es mal anders auszudrücken: die ganze Arbeit, das ganze Wissen kommt von Norbert. Norbert erstellt die INI-Datei und die zum Ergebniss passende MAP-Datei. Mein Programm ist "dumm". Er erzeugt nur nach Vorgabe der INI-Datei, aus mehreren Bitmaps ein großes. Ich habe im Prinzip nur eine ausgelagerte Funktion als Ersatz für "Kacheln montieren mit: NH-Top50Trans" geschrieben, da das von Norbert verwendete VisualBasic nicht mit so großen Bitmaps umgehen kann.
    Was es mit den MAP-Dateien auf sich hat und wie die INI-Datei erzeugt wird, weiß ich alles nicht. Der Verdienst gebührt nur Norbert.


    Zitat


    Hintergrund ist, dass ich unterschiedlich große Teilkarten aus den Bundesländern zusammenfügen möchte. Denn mein bisheriges Vorgehen, ein Bundesland in einen rechteckigen Pfad einfassend in lauter etwa 40x40Km² große Teilkarten mittels NH-Top50trans aufzuteilen, liefert zuviel weiße Ecken. :(


    Schade das die Bundesländer nicht quadratisch sind ;) Mit RLP/Saarland ist es das gleiche...



    Gruß, Carsten

    @Norbert
    >Das ist eigentlich unnötig. Im Nachhinein bringt es nichts, weil für die jetzt bereits fertigen Kartenteile keine ini Dateien vorhanden sind. Und wenn jemand mit der neuen Programmversion Karten exportiert, lässt er das Ganze über Nacht laufen und holt danach die fertige Karte ab. Außerdem könnte man auch mehrere DOS-Fenster laufen lassen.


    Man sollte den MapStitcher nicht mehrfach parallel laufen lassen, da je nach Kartengrößte sehr viel Hauptspeicher benutzt wird. Deswegen mein Vorschlag mit den mehreren INI-Dateien: erst der Export, danach ein MapStitcherlauf mit allen INI-Dateien. Dann wäre der Fortschritt über alle Teilkarten für den Export darstellbar. Nötig ist das nicht, wäre aber "nice to have" :)


    >Es genügt eine Prozentanzeige im DOS-Fenster. Mehr Information benötigt man eigentlich nicht. Und ob es etwas schöner aussieht,... was solls? Ist natürlich Ansichtssache.
    Die Fortschrittsanzeige werde ich noch in die CMD-Version einbauen.



    Gruß, Carsten

    Hallo Dieter,


    Zitat

    Original von diwo
    Habe gerade eine Karte 81x75km exportiert (32.288x29.948 Pixel).
    Der Mapstitcher hat dazu 16 Minuten 52 Sekunden gebraucht - dazu kommt aber noch die Zeit zum Speichern der 1,1GB-Datei und noch Img2Ozf - aber alles kein Vergleich zur MapMerge :D


    Das Speichern könnte sich möglicherweise als etwas gefährlich erweisen, falls man nicht die HD-Kontollleuchte beachtet und das Fenster schließt, denn NH-Top50trans meldet, dass der Export beendet wäre. Vielleicht lässt sich hier noch etwas einbauen - entweder wartet NH-Top50trans bis der Mapstitcher vollkommen fertig ist, oder im DOS-Fenster wird noch ein eindeutiger Text angezeigt.


    Ich bin schlichtweg begeistert - merci : drink
    Dieter


    16min? Wow... Aber das passiert, wenn der physikalische Speicher nicht reicht. Zusätzlich müssen diverse GB geladen werden. Wieviel GB hatten die Screenshots? 4GB? Das zu laden dauert schon eine Weile :)
    Es ist aber gut, daß auch so große Datenmengen verarbeitet werden können.
    Tja, Delphi wird immer unterschätzt, vorzugsweise von den C/C++-Anhängern ;)


    Der eindeutige Text kommt eigentlich schon: "Speichere *.bmp | Gesamtzeit: XXXms". Wenn das da ist, ist der MapStitcher fertig.


    @Norbert: wie rufst Du den MapStitcher auf? Per ShellExecute? Oder kann VB ein Prog aufrufen und auf auf das Ende warten?
    Eine Verbesserung wäre evtl die Möglichkeit mehr als eine INI-Datei angeben zu können, um die einzelenen Kartenteile in einem MapStitcherlauf erstellen zu lassen.
    Wenn man es übertreiben möchte, könnte man auch eine GUI-Version erstellen, die einige Informationen über den Fortschritt grafisch darstellt.
    Dieser MapStitcher würde am Ende des Exports aufgerufen und würde alle übergebenen INI-Dateien abarbeiten. Dann wäre ein eindeutiges Ende visualisierbar. Das würde das Programm aber auf gut 400kb aufblasen (einbinden der Forms-Unit), läßt sich mittels UPX normalerweise wieder auf 200kb packen.


    @all: Gibt es Interesse an einer informativeren GUI-Version? Es wäre nicht viel Aufwand diese zu erstellen.
    Ich denke fast, ich hätte selber gerne eine. Wenn es eins gibt, daß ich hasse, dann sind es Programme die viel machen, aber nicht angeben, wieviel sie schon geschafft haben und wie lange es ungefähr noch dauert :)
    Ich werde mich die Tage mal drangeben und eine Alternative basteln.



    Gruß, Carsten


    Ich habe die neue NH-Top50Trans Version aus Zeitmangel noch nicht gezogen, aber Dein Text sieht so aus, als wenn Du beides antiviert hast. MapMerge ist jetzt vollkommen sinnlos ;)


    Zitat

    Original von LeGro
    Northman


    Dein Werkzeug zum Zusammenbasteln der BMP-Kacheln schafft das Ganze in gut einer Minute, was sonst mit Photoshop ca. 30 Minuten dauerte. Ich habe eine 40x40Km² große Teilkarte aus Rheinlnd-Pfalz erstellt und fand weder Fehler im Kartenbild noch in der Kalibrierung. Super! Vielen Dank!


    Das freut mich, wenn das so gut funktioniert :)
    Photoshop macht bestimmt ein richtiges Stitchen, sprich nach Bildinhalt und das dauert eben... Viel schlimmer ist aber, das bei weitem nicht jeder Photoshop hat. Mich eingeschlossen... :) (Ich wüßte gar nicht, was ich damit soll, denn ich habe keine Ahnung von Bildbearbeitung... ;) )



    Gruß, Carsten

    Zitat

    Original von EnHa
    das sieht wirklich richtig gut aus! Der MapStitcher rennt wie doll. Das Ergebnis ist tadellos. Allerdings habe ich noch nicht die Zeit gefunden auszutesten, wann der MapStitcher aussteigt. Aber durch die Beschränkung auf 256 Farben dürfte das sehr spät sein.


    Ich habe heute mal eine 62x63km große Karte an einem Stück erstellt. Die 24616x25069Pixel ergeben 570MB. Die sind anstandslos erstellt worden. Wegen der vielen offenen Programme, war der Hauptspeicher 150MB über Hardware ausgelastet. Sprich sogar mit Pagefile geht das :)


    Zitat


    In der NH-Top50Trans Testversion ist der MapStitcher nun integriert. Wenn man den entsprechenden Haken neben Ozi MapMerge Kartenexport setzt, geht Alles bis zur fertigen Karte automatisch. Ansonsten gibt es einen Menüeintrag mit dem man die ini Datei auswählen kann. Der Rest läuft dann auch von selbst weiter.


    So dachte ich mir das :) Ist für alle die einfachste und bequemste Methode.


    Zitat


    Dass der MapMerge Kartenexport soviel langsamer ist, als der Photoshop Kartenexport wundert mich. Ich muss mal ausrechnen, wie viel Prozent die Überlappung ausmacht. Wenn es daran liegt, kann man die Kacheln vielleicht weniger überlappen lassen. Aber erst einmal bleibt das so.


    Je weniger Überlappung drin ist, um so schneller geht auch der Export, da weniger Screenshots erstelt werden müssen. Optimal wäre für den Mapstitcher gar keine Überlappung, sondern pixelgenaue Stücke. Durch den Verschnitt wird auch beim Export sehr viel Zeit verbraucht.


    Zitat


    @ Northman
    Vielen Dank! Super Arbeit! Manchmal rächt es sich doch, dass ich nur Visual Basic kann.


    Delphi hat für mich einen entscheidenden Vorteil allen anderen Sprachen gegenüber: ich kenne einen, der es sehr gut kann und auch hilfsbereit ist :-))


    Zitat


    Du musst mir noch sagen, wie du dir die Weitergabe vorstellst. Am einfachsten wäre es natürlich, wenn ich das Programm in die Installationsroutine einbinden würde. Wenn du einen Link oder sonst was auf der Homepage möchtest, ist das natürlich kein Problem. Irgendeinen Text über den Urheber des MapStitcher in der Hilfe und auf der Downloadseite von NH-Top50Trans sollte schon sein.


    In meinem allerersten Posting zu dem Thema sagte ich schon, daß ich einem Vertrieb mit Deinem Tool zustimmen würde. Dabei bleibt es. Es wäre Quatsch, wenn sich jeder zusätzlich etwas downloaden sollte. Pack es also in Dein Paket mit rein.
    Wenn Du einen Link auf meine Homepage setzen willst, zwingst Du mich damit, die endlich mal zu erstellen ;)



    Gruß, Carsten

    Halllo Dieter,


    Zitat

    Original von diwo
    Da kommt mir dein Tool gerade recht - ich fang also noch mal an.... werde am Wochenende mal testen :D
    Soweit ich aus den Forumsbeiträgen entnommen habe, kann NHTop50Trans in diesem Fall TIFs erzeugen, die von Photoshop zusammengefügt werden. Fügt dein Programm auch TIFs zusammen oder nur BMPs?


    Generell: um mein Tool benutzen zu können brauchst Du die Developerversion von NH-Top50Trans, denn nur diese erzeugt die neuen INI-Dateien, mit denen Du mein Tool fütterst. Es tut mir leid, aber Du mußt Deine Karte nochmal exportieren um mein Tool benutzen zu können.


    Bis jetzt ist es so, daß kleine Screenshot-BMPs mit passendem MAP-File erzeugt werden, welche mittels Img2Ozf konvertiert werden. Danach wiederum kommt MapMerge zum Einsatz. Wie Du schon geschrieben hast, ist das sehr langsam. Daher kam mir die Idee mit dem Bitmapzusammensetzen, wobei ich dabei auf Norberts Vorarbeit angewiesen bin.


    NH-Top50Trans erzeugt in der aktuellen Dev-Version eine INI-Datei, in der drin steht, wie groß (in Pixel) das Teilkartenstück ist und an welche Positionen die einzelnen Bitmaps kommen. Ohne diese INI-Datei kann mein Tool nichts machen.
    Mit Teilkartenstück ist das gemeint, was Du bei "Karte teilen" eingestellt hast: zB 30x30x4km
    KARTENNAME_01, KARTENNAME_02, KARTENNAME_03, ... KARTENNAME_NN


    TIFs werden nicht zusammengesetzt, da NH-Top50Trans die Screenshots als BMP speichert. Ich werte auch nicht den Inhalt aus, um das wirklich zu "stitchen", sondern die BMPs werden einfach an eine bestimmte vorgegebene Position in das Ausgangsbild eingefügt. Die Position kommt aus der neuen INI-Datei. Deswegen geht das auch so schnell.


    Wenn das wirklich so klappt, wie ich mir das vorstelle, dann wäre das Erstellen von Karten in Zukunft sehr viel schneller, da man MapMerge nicht mehr braucht und Img2Ozf nur noch die großen Maps konvertieren muß und die ganzen kleinen aus den Screenshots nicht mehr.


    Ich hoffe, ich konnte mich verständlich ausdrücken :) Wenn nicht: einfach nochmal nachfragen :)



    Gruß, Carsten

    Hallo Norbert,


    Zitat

    Original von EnHa
    Northman
    in der Development Version ist die Änderung drin. Beim MagicMaps Kartenexport für MapMerge wird eine entsprechende ini Datei erzeugt.


    Jetzt bin ich wieder in Deutschland und hatte die Zeit meinen "MapStitcher" zu schreiben. Wie es aussieht, sieht es gut aus ;)
    Ich habe einen Teil meiner Karte exportiert und die erste INI-Datei an mein Tool übergeben. Es wurde ein Bitmap erzeugt, welches ich zusammen mit dem passendem MAP-File an Img2ozf übergeben habe. Die entstandene Map habe ich in OziExplorer geladen und Punkte oben links, Mitte und unten rechts mit den von MagicMaps vergebenen Koordinaten verglichen. Sie stimmen sehr gut überein. Damit war der erste Test erfolgreich.


    Jetzt hoffe ich, daß möglichst viele Leute das mal testen UND Feedback geben :) : http://www.coldworld.de/sonsti…stitcher/mapstitcherc.exe


    Benutzung:
    - Aufruf auf der Kommandozeile mit "mapstitcherc PFAD\xxx_yy.ini"
    - Die einzelnen BMPs werden jetzt geladen und in ein großes Bitmap mit 256 Farben eingefügt. Dieses wird im Pfad der INI-Datei als xxx_yy.bmp gespeichert.
    - Img2Ozf starten und NUR xxx_yy.map auswählen (die anderen MAP-Dateien werden nicht benötigt.)
    - Nach ein paar Minuten hat man ein "xxx_yy_ozf.map" und ein "xxx_yy.ozfx3", welche direkt in OziPC oder OziCE eingeladen werden können.
    - in den Optionen des Kartenexport von NH-Top50Trans darf "Ozi ozf2 in map-Datei" NICHT aktiviert sein (sonst steht xxx_yy.ozf2 statt xxx_yy.bmp im MAP-File und Img2Ozf findet nichts zum Konvertieren)
    MapMerge hat bei mir nur für das _01 Teilstück über zwei Stunden gebraucht. Stitchen plus Img2Ozf geht wesentlich schneller.


    So sieht das aus:
    ---------------------------------------------------
    D:\Tools\Delphi7\Projects\MapStitcher>mapstitcherc H:\Temp\MagicMaps\ms-test\002\002_01.ini
    Zielbitmap mit 3067x1774 Pixel erzeugt
    Lade: H:\Temp\MagicMaps\ms-test\002\002_01_Y000X000.bmp
    Groesse: 1912x1007 Zielpixel: 0: 0
    Zeit: 47ms
    Lade: H:\Temp\MagicMaps\ms-test\002\002_01_Y000X001.bmp
    Groesse: 1912x1007 Zielpixel: 1155: 0
    Zeit: 109ms
    Lade: H:\Temp\MagicMaps\ms-test\002\002_01_Y001X000.bmp
    Groesse: 1912x1007 Zielpixel: 0: 767
    Zeit: 156ms
    Lade: H:\Temp\MagicMaps\ms-test\002\002_01_Y001X001.bmp
    Groesse: 1912x1007 Zielpixel: 1155: 767
    Zeit: 187ms
    Gesamtzeit stitchen: 187ms
    Speichere: H:\Temp\MagicMaps\ms-test\002\002_01.bmp
    Gesamtzeit: 265ms
    ---------------------------------------------------



    - Ich habe es als CMD-Tool gemacht, damit eine einfache Integration in NH-Top50Trans möglich ist, sprich direkter Aufruf aus NH-Top50Trans heraus (noch nicht implementiert. Ob das geschieht ist Norberts Entscheidung)
    - Der Pfad zu den Teilbitmaps in der INI-Datei wird ignoriert. Die Bitmaps werden immer im gleichen Verzeichnis wie die INI-Datei gesucht und das fertige Bitmap wird auch in dem Verzeichnis gespeichert (damit ist ein Verschieben der Daten in einen anderen Pfad möglich).
    - Die Dateinamen der Bitmaps dürfen kein Komma enthalten, da das Komma der Parametertrenner ist.
    - Beim Speichern des Bitmaps wird eine Datei gleichen Namens ohne Rückfrage überschrieben. Allerdings sollte in dem Pfad und unter dem Namen keine solche Datei liegen, da der Name sich aus dem Namen der INI-Datei ergibt.
    - Die Datei ist bewußt nicht gepackt. Mittels UPX läßt sich die Größe auf knapp 54kb packen. Das wäre für eine endgültige Version angebracht.


    Ich garantiere, daß die von mir erzeugte EXE-Datei kein Virus ist und keine Schadfunktionen hat (MD5:49f2fd75907602944c1ce4cfb785e320). Wer sie nochmal testen möchte, findet unter http://www.heise.de/security/dienste/antivirus/links.shtml Links zu Online-Virenscannern. Zwei benutzen sogar mehrere Engines. Damit läßt sich allerdings nur überprüfen, ob meine Datei auf meinem Rechner infiziert wurde. Wenn ich etwas neues programmiert hätte, würden die Scanner das natürlich nicht finden. Wer paranoid ist, kann es ja in einer VM testen, oder gleich unter einem eingeschränktem Konto arbeiten, dann könnten Schadprogramme nicht sehr viel anrichten ;)
    Allerdings garantiere ich nicht für das fehlerfreie Funktionieren des Programms. Bei mir funktioniert es und ich hoffe auf möglichst viel Feedback von Euch, egal ob gut oder schlecht.
    Das Programm ist Freeware. Jeder darf es frei benutzen.



    Gruß, Carsten


    EDIT: Hinweis zu Exportoption 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