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

[Bug] Rechner - Rundung / Formatwechsel

Romanese

Geocacher
Rundung:

Kann es sein, dass der Rechner ein Rundungsfehler hat? Wenn ich eine Koordinate im d m.m Format habe und diese in UTM umrechne wir aufgerundet, sobald ich einen Rest habe. Ich haette erwartet, das Rest <5 abgerundet und Rest >=5 aufgerundet wird. :???:

Formatwechsel:

Zusaetzlich ist mir aufgefallen, das wenn man zwischen den Koordinaten-Formaten wechsel und wieder zureck, nicht mehr die selbe Koordinate vorhanden ist. :schockiert:
 

pfeffer

Geowizard
1. wie hast Du das mit dem "Rundungsfehler" getestet?

2. Die Umrechnung von Grad und Minuten in UTM ist recht aufwändig. Die Präzision sollte so sein, wie angezeigt. Da aber in UTM und in Grad+Minuten die Präzision unterschiedlich ist, erscheint es mir prinzipiell unvermeidbar, dass beim hin- und her konvertieren in manchen Fällen Abweichungen +/-1 der letzten angezeigten Stelle auftreten können. Größer sollten sie nicht sein.

Gruß,
Pfeffer.
 
OP
Romanese

Romanese

Geocacher
pfeffer schrieb:
1. wie hast Du das mit dem "Rundungsfehler" getestet?

Ich musste fuer einen Cache vom d m.m in das UTM Format unrechnen und habe das Ergebnis mit mehreren online Umrechnern verglichen. Bei den Online-Umrechnern bekomme ich immer das selbe Ergebnis mit Nachkommastellen bei UTM. Der Cachwolf gibt im UTM Format keine Nachkommestellen an und dabei ist mir aufgefallen, dass der Cachwolf immer aufrundet, auch bei Rest <5.

pfeffer schrieb:
2. Die Umrechnung von Grad und Minuten in UTM ist recht aufwändig. Die Präzision sollte so sein, wie angezeigt. Da aber in UTM und in Grad+Minuten die Präzision unterschiedlich ist, erscheint es mir prinzipiell unvermeidbar, dass beim hin- und her konvertieren in manchen Fällen Abweichungen +/-1 der letzten angezeigten Stelle auftreten können. Größer sollten sie nicht sein.

Bei Umrechungen zwischen d m.m und UTM stimmt das mit +/- 1. Aber wenn du einfach zwischen den verschieden Koordinatensystemen d m,m und GK wechselst und wieder zurueck zu d m,m dann hat die angezeigte Koordinate nichts mehr mit der urspruenglichen Korordinate zutun. Beispiel: Ich habe eine Koordinate, die auf dem Kipfel des Mount Fuji-san zeigt und nach dem konvertieren und wieder zurueck liegt die Koordinate in Schweden ca. 9000km entfernt vom Ursprung. Irgendwas laeuft da schief.
 

pfeffer

Geowizard
ok, das Runden bei UTM, dem sollte nachgegangen werden. Sag mal genaue Beispiele und den Online-Umrechner.

Das mit Gauß-Krüger ist eine noch wesentlich kompliziertere Umrechnung als WGS84 <-> UTM, weil UTM (in der Regel und so auch hier) auf WGS84 aufsetzt.
Deutsche Gauß-Krüger-Koordinaten verwenden einen anderen Ellipsoid, der 1. eine andere Größe hat, 2. verdreht und verschoben ist gegenüber dem von WGS84.
Die deutschen Gauß-Krüger Koordinaten funktionieren zuverlässig nur in Deutschland. Darüberhinaus haben sie keinen EPSG-Code. Da Cachewolf intern auch mit dem EPSG-Code arbeitet, kann er Gauß-Krüger nicht über all auf der Welt anwenden.
Wenn Dir also das beschriebene mit einer Koordinate in Deutschland passiert, dann berichte nochmal. Oder gibt es einen Grund, außerhalb Deutschlands deutsche Gauß-Krüger-Koordinaten zu verwenden?

Gruß,
Pfeffer.
 
OP
Romanese

Romanese

Geocacher
pfeffer schrieb:
ok, das Runden bei UTM, dem sollte nachgegangen werden. Sag mal genaue Beispiele und den Online-Umrechner.

http://www.apsalin.com/convert-geodetic-to-universal-transverse-mercator.aspx

Beispiel:
Cachewolf:
N 35° 21.708 E 138° 44.039 <--> 54S E 294119 N 3915524

APSlin:
N 35° 21.708 E 138° 44.039 <--> 54S E 294118.341438732 N 3915523.42215239
 

greiol

Geoguru
sehe ich das richtig, dass wir über den geocachingrelevanten distanzunterschied von wurzel(2) metern diskutieren (und natürlich die frage der ehre ;) ) ohne dass abgeglichen wurde welches interne speicherformat beide systeme nutzen um den einen wert in den anderen umzurechnen?

Wir sollten einen disclaimer anbringen: nicht für die nutzung in der luftfahrt oder beim militär zugelassen.
 
OP
Romanese

Romanese

Geocacher
greiol schrieb:
sehe ich das richtig, dass wir über den geocachingrelevanten distanzunterschied von wurzel(2) metern diskutieren ohne dass abgeglichen wurde welches interne speicherformat beide systeme nutzen um den einen wert in den anderen umzurechnen?

Ich fuerchte ja! Hauptgrund war der Fehler den ich gemacht habe mit GK. Ich hatte voellig vergessen, dass GK nur fuer Deutschland ist. Vielleicht sollte man hier eine Warnung ausgeben und nicht konvertieren.

Viele Gruesse von der Insel.
 

pfeffer

Geowizard
Romanese schrieb:
Aber wenn du einfach zwischen den verschieden Koordinatensystemen d m,m und GK wechselst und wieder zurueck zu d m,m dann hat die angezeigte Koordinate nichts mehr mit der urspruenglichen Korordinate zutun. Beispiel: Ich habe eine Koordinate, die auf dem Kipfel des Mount Fuji-san zeigt und nach dem konvertieren und wieder zurueck liegt die Koordinate in Schweden ca. 9000km entfernt vom Ursprung. Irgendwas laeuft da schief.
Da waren tatsächlich 2 Fehler:
1. manchmal wurde der Rechtswert als Hochwert interpretiert (und umgekehrt)
2. Koos westlich von Greenwich haben nicht funktioniert.
Jetzt (r2092) sollten deutsche Gauß-Krüger Koordinaten weltweit funktionieren :)

Gruß,
Pfeffer.
 

pfeffer

Geowizard
und mit der Rundung bei UTM hast Du auch recht (dass immer abgerundet wird).
Der Fehler liegt in der Bibliothek, die wir verwenden, genauer in com.bbn.openmap.proj.coords.MGRSPoint.resolve(int digitAccuracy):
Code:
            StringBuffer seasting = new StringBuffer(Integer.toString((int) easting));
            StringBuffer snorthing = new StringBuffer(Integer.toString((int) northing));
Da dürfte nicht einfach gecastet werden, sondern müsste erstmal gerundet werden.

Gruß,
Pfeffer.
 
Oben