• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Cachewolf-Karten (*.wfl) nach Ozi (*.map) konvertieren?

Black-Jack-Team

Geomaster
Besteht eine Möglichkeit, die mit Cachewolf gezogenen Karten, genauer nur deren Kalibrierungsdaten im *.wfl-Format nach Ozi (*.map) zu konvertieren?
Könntet Ihr das vielleicht einbauen?
 

MiK

Geoguru
Sowas *könnte* man schon einbauen. Das wird aber bestimmt nicht in nächster Zeit kommen. Und eigentlich passt es im Moment auch nicht so wirklich rein. Wäre es nicht besser bei Ozi einen wfl-Import anzuregen? Oder am besten gleich dort auf WMS zuzugreifen?
 
OP
Black-Jack-Team

Black-Jack-Team

Geomaster
MiK schrieb:
... Wäre es nicht besser bei Ozi einen wfl-Import anzuregen? Oder am besten gleich dort auf WMS zuzugreifen?
Der Autor von Ozi-Explorer ist Australier und wegen der weltweiten Verwendung seiner Programm-Suite sieht er sich außerstande solch spezielle Wünsche für einzelne Nutzergruppen zu erfüllen.
Noch nicht einmal die LVMA-CDs und DVDs will er unterstützen. Wohl auch wegen eventueller Lizenzzahlungen oder vertraglicher Verpflichtungen.
Die Unterstützung der WMS-Server aus einer kommerziellen Software dürfte sicherlich auch nicht so einfach möglich sein.
Der Autor stellt sich aus diesen verständlichen Gründen auf den Standpunkt (mit meinen Worten wiedergegeben):
Das Ozi *.map-Format ist wohl dokumentiert, zudem besteht ja auch im Ozi-PC die komfortable Möglichkeit eine Kalibrierung (bis 9 Punkte!) vorzunehmen.
Kuckt, wie ihr klar kommt.


Schade. :(
 

MiK

Geoguru
Black-Jack-Team schrieb:
Die Unterstützung der WMS-Server aus einer kommerziellen Software dürfte sicherlich auch nicht so einfach möglich sein.
Da sehe ich überhaupt kein Problem, solange es dem User überlassen bleibt die Zugangsdaten einzugeben. Es muss ja nur die Schnittstelle programmiert werden. Auf welche Server mit Daten unter welcher Lizenz dann damit zugegriffen wird liegt im Verantwortungsbereich des Benutzers.

Black-Jack-Team schrieb:
Der Autor stellt sich aus diesen verständlichen Gründen auf den Standpunkt (mit meinen Worten wiedergegeben):
Das Ozi *.map-Format ist wohl dokumentiert, zudem besteht ja auch im Ozi-PC die komfortable Möglichkeit eine Kalibrierung (bis 9 Punkte!) vorzunehmen.
Kuckt, wie ihr klar kommt.
Wenn ich also für eine Software Geld bezahle, kann ich nicht erwarten, dass dann auch meine verständlichen Wünsche berücksichtigt werden. Bei OpenSource dagegen wird sich schon jemand um meine Wünsche kümmern...
 

pfeffer

Geowizard
ach ja: .wfl ist ein Industrie-Standard: siehe wikipedia worldfile.
Dem haben wir noch ein paar Zeilen hinzugefügt:
1. die rechte untere Ecke der Karte
2. die Angabe, auf welches geografische Datum und welche Projektion als Eingangswerte vor der affinen Transformation die Koordinaten umgerechnet werden müssen in Form des EPSG-Codes (wie es das OGC beim WMS-Standard vorsieht). Durch die Angabe der Pojektion ist eine sehr genaue Kalibrierung der Karte möglich, die ohne diese Angabe nicht erreichbar wäre.

Gruß,
Pfeffer.
 

pfeffer

Geowizard
Black-Jack-Team schrieb:
zudem besteht ja auch im Ozi-PC die komfortable Möglichkeit eine Kalibrierung (bis 9 Punkte!) vorzunehmen.
Kuckt, wie ihr klar kommt.
wow - 9 Punkte! bei CacheWolf kannst Du mit 100 Punkten kalibrieren, wirklich!

also im Ernst was soll denn das heißen? - macht er mehr als eine affine Transformation daraus? - Rät er etwa die Projektion? - kann ich mir nicht vorstellen. Aber sehr gut wäre es schon, wenn er nicht nur die erste (wie bei der einfachen affinen Transformation), sondern auch die 2. und 3. Ableitung berücksichtigen würde (falls er das macht, dann hätte ich gerne die dafür notwendigen Formeln, denn das könnte die gegenwärtige Berechnung der Projektion beschleunigen - ich hatte ürsprünglich überlegt das in CacheWolf zu implementieren, habe mich dann aber doch für die mit weniger Nachdenken verbundene und genauere, aber vermutlich etwas langsamere Variante entschieden :) )

Und noch etwas: WMS ist nicht eine komische Geschichte der deutschen Landesvermessungsämter, sondern ein offener Standard, der vom OpenGeoxxxConsotium (OGC) verabschiedet wurde.

Achso: ich hör ja schon auf zu schimpfen. Will sagen: Du oder jeder andere kann gerne eine entsprechende Exportfunktion gerne in CacheWolf einbauen. (Allerdings vermute ich sehr, dass in dem .map-Format eine derart genaue Kalibrierung wie der CacheWolf sie macht wegen der fehlenden Angabe der Projektion und des geografischen Datums, nicht möglich ist - oder wird dies auch im .map angegeben?)

Gruß,
Pfeffer.
 
OP
Black-Jack-Team

Black-Jack-Team

Geomaster
Ja, Projektion usw. ist alles Bestandteil der *.map-Datei.
Hier mal eine Beispieldatei einer von mir kalibrierten Karte.

Wie ich in der Datei sehe, gehen wohl auch mehr als 9 Punkte...

Code:
OziExplorer Map Data File Version 2.2
General 5°36'-8°30' 50°-51°59
c:\oziexplorer\maps\General-West.ozfx3
1 ,Map Code,
WGS 84,WGS 84,   0.0000,   0.0000,WGS 84
Reserved 1
Reserved 2
Magnetic Variation,,,E
Map Projection,Transverse Mercator,PolyCal,No,AutoCalOnly,No,BSBUseWPX,No
Point01,xy,    1,    1,in, deg,  52,  0.0000,N,   5, 36.0000,E, grid,   ,           ,           ,N
Point02,xy, 7760, 9129,in, deg,  50,  1.1810,N,   8, 29.7330,E, grid,   ,           ,           ,N
Point03,xy, 3729, 4859,in, deg,  50, 57.0900,N,   7,  1.7750,E, grid,   ,           ,           ,N
Point04,xy, 5747, 2371,in, deg,  51, 31.6010,N,   7, 43.1840,E, grid,   ,           ,           ,N
Point05,xy, 1672,  807,in, deg,  51, 50.4060,N,   6, 13.4340,E, grid,   ,           ,           ,N
Point06,xy, 2022, 6162,in, deg,  50, 38.5120,N,   6, 26.7240,E, grid,   ,           ,           ,N
Point07,xy, 3383, 2441,in, deg,  51, 29.4840,N,   6, 52.4840,E, grid,   ,           ,           ,N
Point08,xy, 5306, 7522,in, deg,  50, 21.7470,N,   7, 37.2650,E, grid,   ,           ,           ,N
Point09,xy, 2399, 4223,in, deg,  51,  4.8820,N,   6, 32.7580,E, grid,   ,           ,           ,N
Point10,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point11,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point12,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point13,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point14,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point15,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point16,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point17,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point18,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point19,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point20,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point21,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point22,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point23,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point24,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point25,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point26,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point27,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point28,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point29,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Point30,xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N
Projection Setup,     0.000000000,    10.000000000,     1.000000000,      3800000.00,            0.00,,,,,
Map Feature = MF ; Map Comment = MC     These follow if they exist
Track File = TF      These follow if they exist
Moving Map Parameters = MM?    These follow if they exist
MM0,Yes
MMPNUM,10
MMPXY,1,372,2
MMPXY,2,340,3030
MMPXY,3,1,3028
MMPXY,4,1,7073
MMPXY,5,448,7079
MMPXY,6,438,8218
MMPXY,7,492,8221
MMPXY,8,492,9216
MMPXY,9,7769,9215
MMPXY,10,7769,1
MMPLL,1,5.736429,52.004711
MMPLL,2,5.788135,51.324670
MMPLL,3,5.666673,51.320668
MMPLL,4,5.749846,50.412723
MMPLL,5,5.907009,50.417034
MMPLL,6,5.925333,50.161156
MMPLL,7,5.944264,50.161146
MMPLL,8,5.962998,49.937707
MMPLL,9,8.499692,49.998810
MMPLL,10,8.432008,52.071993
MM1B,25.018539
LL Grid Setup
LLGRID,No,No Grid,Yes,255,16711680,0,No Labels,0,16777215,7,1,Yes,x
Other Grid Setup
GRGRID,No,No Grid,Yes,255,16711680,No Labels,0,16777215,8,1,Yes,No,No,x
MOP,Map Open Position,0,0
IWH,Map Image Width/Height,7771,9218
 

pfeffer

Geowizard
ok, dann ist es doch möglich, eine exakte Kalibrierung auch im OziExplorer zu machen. You are free to implement such a routine.

Pfeffer.
 

greiol

Geoguru
aus der rubrik "it works on my machine" auch bekannt als "trust this and die" hier mal das zweite stück java source meiner laufbahn (das andere hat vor 12 jahren auch nicht besser ausgesehen ;)) sollten also durch die benutzung all eure logs auf gc.com oder oc.de verwinden, eure katze schnupfen bekommen oder was auch immer -> dumm gelaufen.

es benötigt die CacheWolf.jar im Klassenpfad und möchte eine oder mehrere .wfl datein als parameter haben. die mögen sich bitte im aktuellen verzeichnis befinden. zusammen mit den dazu passenden *.png dateien.

falls auch andere der meinung sind es könnte so passen, habe ich nicht dagegen wenn jemand der mehr ahnung von java hat als ich daraus etwas macht was man in den cachewolf einbauen kann.
 

Anhänge

  • wfl2map.java.zip
    1,7 KB · Aufrufe: 80

MiK

Geoguru
Um ehrlich zu sein, wäre mir das als Extra-Tool lieber. Ich halte es irgendwie in Cachewolf für fehl am Platze.
 

pfeffer

Geowizard
es ist doch im Moment ein extra-Tool. Aber ich finde es schon schöner, wenn man es in CW integrieren würde.
Aber sicher nicht mehr vor der 1.0.

Gruß,
Pfeffer.
 

MiK

Geoguru
Ja, ich weiß. Und das finde ich eben gut so. Wenn andere Kartenprogramme WMS haben wollen, sollen sie sich das selbst einbauen ;-) Ich finde es gut, dass CW da anderen Programmen etwas voraus ist.

Wenn man das in Cachewolf einbauen wollte, bräuchte man auch noch eine GUI zur Kartenauswahl. Und auch noch einen extra Menüpunkt. Und alles nur um CW als Kartenquelle für andere Programme zu "missbrauchen" ;-)
 

greiol

Geoguru
zwei fragen dazu
a) ich hab mir die lizenz von cw noch nicht angesehen. darf ich die klassen einfach so "misbrauchen"?
b) wäre es nicht unter umständen sinnvoll die im-/exporter ohnehin aus dem eigentlichen cw auszulagern um ihn schlanker zu machen und nur einen teil der klassen gemeinsam zu nutzen? oder hat das keine bis wenig auswirkungen auf das laufzeitverhalten / speichernutzung?
 

pfeffer

Geowizard
ist GPL, also, wenn Du Deinen Code auch unter GPL stellst und veröffentlichst, kannst Du die Klassen problemlos verwenden.

Auslagern bringt vermutlich kaum was. Außerdem lade ich die Karten auf direkt mit dem PDA runter.

Gruß,
Pfeffer.
 

greiol

Geoguru
unter http://cbr2008nrw.ohost.de/wfl2map-poc.zip findet ihr nun eine version die in sich etwas runder laufen sollte
 

pfeffer

Geowizard
schön!

Ich habe grad mal kurz in den Quellcode geschaut: Du könntest die Kalibrierung noch exakter machen, wenn Du die Projektion mit angibst.

Gruß,
Pfeffer.
 
OP
Black-Jack-Team

Black-Jack-Team

Geomaster
pfeffer schrieb:
schön!

Ich habe grad mal kurz in den Quellcode geschaut: Du könntest die Kalibrierung noch exakter machen, wenn Du die Projektion mit angibst.

Gruß,
Pfeffer.
Nicht nötig!

Ich habe mit cachewolf die Topo25-Karten 40 KM um meinen Ort gezogen.
Dann mit greiols genialem Tool aus den 36x36 = 1296 Kacheln á 1000x1000 Pixel aus den wfl-Dateien 1296 map-Dateien für Ozi gemacht.
Nun sind die 1000x1000er Karten für Ozi-Verhältnisse ziemlich klein. Deswegen war mein erster Ansatz aus den 1296 Karten eine einzige zu machen.
Allerdings hat der Algorithmus von Map Merge (dem Ozi-Tool zum Kartenverbinden) wohl eine Komponente mit exponentiellem Rechenzeit-Aufwand.
Jedenfalls wollte er für die 36.000*36.000 Rohdaten abzüglich Überlappung von jeweils 100 Pixel =31.400*31.400 ca. 55 Tage (!) rechnen. :???:

Das Problem ließ sich aber lösen, in dem ich jeweils 12x12 Kacheln zusammengefasst habe.
Die riesengroße Karte wurde also in 9 kleinere zerlegt.
Jetzt rechnet Map Merge auf einem Core2Duo-Prozessorkern ca. 8 Stunden bei mir an einer Karte mit dann ca. 27 KM Kantenlänge mit 1 Pixel pro 2,5 meter.
Installation einer zweiten Instanz von Map Merge war dann der nächste Akt. Damit kann ich jetzt in 8 Stunden zwei 12.000x12.000 Pixel Karten rechnen lassen.

Und das Ergebnis ist absolut perfekt! Keinerlei Abweichung (nicht um ein Pixel!) ist auf der ganzen Karte festzustellen! Obwohl Map Merge von den dreißig zur Verfügung stehenden Kalibrierungspunkten nur 4 verwendet (in den Ecken)!
Durch die Angabe der Projektion in der map-Datei ist das wohl auch nicht erforderlich. :)

Auch an dieser Stelle nochmal herzlichen Dank an die Autoren von Cachewolf und an greiol für sein tolles Tool!
Hiermit kann man nun die allerbesten frischesten Karten für Ozi herstellen!
DANKE DANKE DANKE :)
 

pfeffer

Geowizard
Black-Jack-Team schrieb:
Und das Ergebnis ist absolut perfekt! Keinerlei Abweichung (nicht um ein Pixel!) ist auf der ganzen Karte festzustellen! [...]Durch die Angabe der Projektion in der map-Datei ist das wohl auch nicht erforderlich. :)
wie hast Du das überprüft?

Bei einer 2x2km großen Karte kann der Projektionsunterschied schon einige 10m ausmachen. Aber vielleicht wendet dings zufällig standardmäßig die gleiche Projektion an, wie der WMS, von dem Deine Karten sind. EDIT: - ahh, ich sehe grad, dass zumindest in dem auf der vorhergehenden Seite zitierten Kalibrierungsdatei als Projektion Transversal Mercator angegeben ist - ist ist im Wesentlichen die gleiche Projektion wie die deutschen WMS der Landesvermessungsämter verwenden (Gauß-Krüger).
Probleme wird es also geben, zB mit französischen, die die Lambertprojektion verwenden (aber die wird ja von CacheWolf bislang auch nicht unterstützt). Die italienischen dürften aber ähnlich wie die deutschen recht gut funktionieren.

Gruß,
Pfeffer.
 

greiol

Geoguru
pfeffer schrieb:
Ich habe grad mal kurz in den Quellcode geschaut: Du könntest die Kalibrierung noch exakter machen, wenn Du die Projektion mit angibst.
ich habe bisher leider keine doku finden können wie man die bestimmt, aber als proof of concept reicht mir das erst mal.

ich überlege noch ob sich durch den unterschied 0 .. 999 bzw. 1 ... 1000 zwischen ozi und cachewolf bei den tk25 im moment nicht ohnehin ein fehler von bis zu 3,5m ergibt (andereseits was sind schon 1,5 pixel :D ) und ob es schlussendlich nicht sinnvoller wäre direkt auf die wms-import-klassen zuzugreifen um direkt ozi files in geeigneter größe zu erzeugen, denn das würde das mehrfache konvertieren verhindern und dürfte damit einen gewinn bringen. auf der anderen seite fürchte ich, dass das bei dem guten wetter eher nix wird ;)
 
OP
Black-Jack-Team

Black-Jack-Team

Geomaster
pfeffer schrieb:
Black-Jack-Team schrieb:
Und das Ergebnis ist absolut perfekt! Keinerlei Abweichung (nicht um ein Pixel!) ist auf der ganzen Karte festzustellen! [...]Durch die Angabe der Projektion in der map-Datei ist das wohl auch nicht erforderlich. :)
wie hast Du das überprüft?

Bei einer 2x2km großen Karte kann der Projektionsunterschied schon einige 10m ausmachen. Aber vielleicht wendet dings zufällig standardmäßig die gleiche Projektion an, wie der WMS, von dem Deine Karten sind.


Gruß,
Pfeffer.
Ganz einfach in dem ich ein File mit hunderten von Caches geladen habe und alle genau (aufs Pixel genau!) dort liegen, wo sie
a) tatsächlich liegen
b) sie auf einer perfekt kalibrierten alten Topo25-Karte auch liegen.
Q.e.d.
 
Oben