Oookeee...
Also, ich hatte einen Zeilendreher drin. In der orpMercator.pas finden sich in der Funktion
LatToY die folgenden Zeilen:
Delphi-Quellcode:
ts := Tan(0.5 * ((PI * 0.5) - phi)) / con;
con := Power(((1.0 - con) / (1.0 + con)), fCom);
diese müssen vertauscht werden:
Delphi-Quellcode:
con := Power(((1.0 - con) / (1.0 + con)), fCom);
ts := Tan(0.5 * ((PI * 0.5) - phi)) / con;
Dann erhält man folgendes:
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:
Array
(
[x] => 884756.180876
[y] => 7052526.40477
)
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.