![]() |
[C# => Delphi] Geokoordinaten nach Mercator
Liste der Anhänge anzeigen (Anzahl: 1)
Hi ihr,
Eigentlich sollte es nicht zu schwer sein, aber ich bekomme es trotzdem nicht hin... :wall: Ich habe mir ![]() Folgendes ist gegeben: Latitude: 53.5582° Longitude: 7.9479° Das soll in die ![]() ![]() Heraus kommt: Latitude(Y): 7086925; Longitude(X): 884756; Ich tippe einfach mal, dass das stimmt. Und jetzt komm ich: Latitude(Y): -10266881 Longitude(X): 884756 Wie man unschwer erkennen kann, geht bei der Berechnung der Latitude was in die Hose. Aber wo? |
Re: [C# => Delphi] Geokoordinaten nach Mercator
Oookeee...
Also, ich hatte einen Zeilendreher drin. In der orpMercator.pas finden sich in der Funktion LatToY die folgenden Zeilen:
Delphi-Quellcode:
diese müssen vertauscht werden:
ts := Tan(0.5 * ((PI * 0.5) - phi)) / con;
con := Power(((1.0 - con) / (1.0 + con)), fCom);
Delphi-Quellcode:
Dann erhält man folgendes:
con := Power(((1.0 - con) / (1.0 + con)), fCom);
ts := Tan(0.5 * ((PI * 0.5) - phi)) / con; Latitude(Y): 7052526 Longitude(X): 884756 Wie man erkennt, passt der Y-Wert immer noch nicht. Ich habe deshalb testweise mal den PHP-Code laufen lassen:
Code:
Wie zu erkennen ist, liefert diese ähnliche Werte. Es ist also davon auszugehen, dass die Codes stimmen, und das es einfach daran liegt, dass die Algorithmen genauer sind.
Array
( [x] => 884756.180876 [y] => 7052526.40477 ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz