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.

Foi útil?

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); 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top