Come trasformare la coordinata da WGS84 in una coordinata in una proiezione con PROJ.4?
-
20-09-2019 - |
Domanda
Ho una coordinata GPS in WGS84 che vorrei trasformare in una coordinata di proiezione cartografica in SWEREF99 TM utilizzando PROG.4 in Giava o Proj4js in JavaScript.
È difficile trovare documentazione per PROG.4 e come usarlo.Se hai un buon link, pubblicalo come commento.
I parametri PROJ.4 per SWEREF99TM È +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
Ho provato a utilizzare a PROJ.4 Libreria Java per trasformare Lat: 55° 00’ N, Long: 12° 45’ E
e ho provato con questo codice:
String[] proj4_w = new String[] {
"+proj=utm",
"+zone=33",
"+ellps=GRS80",
"+towgs84=0,0,0,0,0,0,0",
"+units=m",
"+no_defs"
};
Projection proj = ProjectionFactory.fromPROJ4Specification(proj4_w);
Point2D.Double testLatLng = new Point2D.Double(55.0000, 12.7500);
Point2D.Double testProjec = proj.transform(testLatLng, new Point2D.Double());
Questo mi spiega il punto Point2D.Double[5197915.86288144, 1822635.9083898761]
ma dovrei esserlo N: 6097106.672, E: 356083.438
Che cosa sto facendo di sbagliato?e quale metodo e parametri dovrei usare invece?
I valori corretti sono presi da Lantmäteriet.
Non sono sicuro se proj.transform(testLatLng, new Point2D.Double());
è il metodo giusto da utilizzare.
Soluzione
55 è latitudine o longitudine?
MODIFICARE:sembra che dovresti semplicemente scambiare i parametri lat e long.
EDIT2:cioè.
Point2D.Double testLatLng = new Point2D.Double(12.7500, 55.0000);