2010-03-18 5 views
8

Ich habe eine GPS-Koordinate in WGS84, die ich in SWEREF99 TM unter Verwendung in Java oder Proj4js in JavaScript zu einer Karte-Projektion koordinieren möchte.Wie transformiere ich die Koordinate von WGS84 in eine Koordinate in einer Projektion mit PROJ.4?

Es ist schwer zu finden Dokumentation für PROJ.4 und wie man es benutzt. Wenn du einen guten Link hast, poste ihn bitte als Kommentar.

Die PROJ.4 Parameter für SWEREF99 TM ist +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

ich eine PROJ.4 Java library für die Transformation von Lat: 55° 00’ N, Long: 12° 45’ E zu verwenden versucht haben und versucht, mit diesem Code:

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()); 

Dieses gib mir den Punkt Point2D.Double[5197915.86288144, 1822635.9083898761] aber ich sollte N: 6097106.672, E: 356083.438 Was mache ich falsch? und welche Methode und Parameter sollte ich stattdessen verwenden?

Die korrekten Werte stammen von Lantmäteriet.

Ich bin mir nicht sicher, ob die richtige Methode zu verwenden ist.

Antwort

3

55 ist Breiten- oder Längengrad?

EDIT: es scheint, Sie sollten Lat und lange Parameter einfach austauschen.

EDIT2: d.h.

Point2D.Double testLatLng = new Point2D.Double(12.7500, 55.0000); 
Verwandte Themen