2010-03-18 963 views
8

我有一個WGS84中的GPS座標,我想要在SWEREF99 TM中使用Java中的PROJ.4或JavaScript中的Proj4js轉換爲地圖投影座標。如何使用PROJ.4將座標從WGS84轉換爲投影座標?

很難找到關於PROJ.4的文檔以及如何使用它。如果您有很好的鏈接,請將其作爲評論發佈。

SWEREF99 TM的PROJ.4參數爲+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

我曾嘗試使用PROJ.4 Java library轉化Lat: 55° 00’ N, Long: 12° 45’ E以及與此代碼嘗試:

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

這給我點Point2D.Double[5197915.86288144, 1822635.9083898761]但我應該是N: 6097106.672, E: 356083.438 我在做什麼錯?我應該使用什麼方法和參數?

正確的值取自Lantmäteriet

我不確定proj.transform(testLatLng, new Point2D.Double());是否是正確的使用方法。

回答

3

55是經度還是緯度?

編輯:它似乎你應該簡單地交換拉特和長參數。

EDIT2:即

Point2D.Double testLatLng = new Point2D.Double(12.7500, 55.0000); 
相關問題