Como transformar a coordenada do WGS84 para uma coordenada em uma projeção com proj.4?
-
20-09-2019 - |
Pergunta
Eu tenho uma coordenada GPS no WGS84 que gostaria de transformar em uma coordenada de projeção de mapa no Sweref99 TM usando Proj.4 em java ou Proj4js em JavaScript.
É difícil encontrar documentação para Proj.4 e como usá -lo. Se você tiver um bom link, publique -o como um comentário.
Os parâmetros proj.4 para Sweref99 TM é +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
Eu tentei usar um Proj.4 Biblioteca Java para transformar Lat: 55° 00’ N, Long: 12° 45’ E
e tentei com 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());
Isso me dá o ponto Point2D.Double[5197915.86288144, 1822635.9083898761]
Mas eu deveria ser N: 6097106.672, E: 356083.438
O que estou fazendo errado? E que método e parâmetros devo usar?
Os valores corretos são retirados de Lantmäteriet.
Não tenho certeza se proj.transform(testLatLng, new Point2D.Double());
é o método certo a ser usado.
Solução
55 é latitude ou longitude?
EDIT: Parece que você deve simplesmente trocar os parâmetros LAT e longos.
Edit2: IE
Point2D.Double testLatLng = new Point2D.Double(12.7500, 55.0000);