konvertieren Sie Längen-und Breitengrad zu hochwert und rechtswert in java?
so konvertieren Sie Längen-und Breitengrad zu hochwert und rechtswert in Java?
- northing und easting von dem, was zeigen Sie? Verwenden Sie en.wikipedia.org/wiki/... , oder einfach nur was?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nehme an, du meinst UK OSGB rechts-und northings. Die Trigonometrie hinter dieser urkomisch, aber Sie können die JCoord - Bibliothek für diesen, es macht es leicht (wenn auch ziemlich CPU-intensiv).
Follow-up auf @DD ' s Kommentare unten, es ist ein gotcha mit JCoord, dass Sie haben, um sicherzustellen, dass Sie mit dem korrekten datum bei der Umwandlung von Rechtswert/Hochwert bis Lat/Long und Umgekehrt.
Nehmen @DD code:
Dieser gibt einen Lat/Long-die mit der OSGB36 datum, d.h. die "flache Erde" - approximation verwendet, die auf UK-Karten. Dies ist deutlich unterschiedlich zu den WSG84 datum verwendet in den meisten Anwendungen (einschließlich Streetmap), die Modelle der Welt, wie eine Kugel (mehr oder weniger).
Um zu konvertieren, um eine WGS84 lat/long, die Sie brauchen, um es explizit:"
Diese passen sich die lat-long, um das richtige datum.
Beachten Sie, dass die javadoc für
OsRef.toLatLng()
ist sehr deutlich darüber:Konvertierung zwischen Koordinaten-Nullpunkt ist nicht einfach. Wenn es so einfach aussieht, sind Sie wahrscheinlich tun es falsch.
Versuchen GeoTools: