¿Cómo transformar una coordenada de WGS84 a una coordenada en una proyección con PROJ.4?
-
20-09-2019 - |
Pregunta
Tengo una coordenada GPS en WGS84 que me gustaría transformar en una coordenada de proyección de mapa en SWEREF99 TM usando PROY.4 en Java o Proj4js en JavaScript.
Es difícil encontrar documentación para PROY.4 Y cómo usarlo.Si tiene un buen enlace, publíquelo como comentario.
Los parámetros PROJ.4 para SWEREF99TM es +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
He intentado usar un Biblioteca PROJ.4 Java para transformar Lat: 55° 00’ N, Long: 12° 45’ E
y probé con este código:
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());
esto me da el punto Point2D.Double[5197915.86288144, 1822635.9083898761]
pero debería serlo N: 6097106.672, E: 356083.438
¿Qué estoy haciendo mal?¿Y qué método y parámetros debería utilizar en su lugar?
Los valores correctos se toman de Lantmäteriet.
No estoy seguro si proj.transform(testLatLng, new Point2D.Double());
es el método correcto a utilizar.
Solución
55 es latitud o longitud?
EDIT: parece que simplemente debe cambiar parámetros lat y largo
.Edit2: es decir,
Point2D.Double testLatLng = new Point2D.Double(12.7500, 55.0000);