Comment transformer les coordonnées de WGS84 à une coordonnée dans une projection PROJ.4?
-
20-09-2019 - |
Question
J'ai un GPS de coordonnées en WGS84 que je voudrais transformer une carte de projection de coordonnées dans SWEREF99 TM utilisation PROJ.4 en Java ou en Proj4js en JavaScript.
Il est dur de trouver de la documentation pour PROJ.4 et comment l'utiliser.Si vous avez un bon lien, s'il vous plaît poster un commentaire.
Le PROJ.4 paramètres pour SWEREF99 TM est +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
J'ai essayé d'utiliser un PROJ.4 bibliothèque Java pour la transformation de l' Lat: 55° 00’ N, Long: 12° 45’ E
et essayé avec ce 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());
Ce qui donne à moi, le point Point2D.Double[5197915.86288144, 1822635.9083898761]
mais je devrais être N: 6097106.672, E: 356083.438
Ce que je fais mal?et quelle est la méthode et les paramètres dois-je utiliser à la place?
Les valeurs correctes sont prises à partir de Lantmäteriet.
Je ne suis pas sûr si proj.transform(testLatLng, new Point2D.Double());
est la bonne méthode à utiliser.
La solution
55 est la latitude et de la longitude?
EDIT:il semble que vous devriez simplement échanger lat et long de paramètres.
EDIT2:c'est à dire
Point2D.Double testLatLng = new Point2D.Double(12.7500, 55.0000);