2010-11-18 54 views

回答

2

你可以使用一個庫來做到這一點,或分析一個庫的代碼來理解算法,並自己動手。

這是一個C++的lib,沒有工作:http://geographiclib.sourceforge.net/html/

http://geographiclib.sourceforge.net/html/classGeographicLib_1_1UTMUPS.html

我發現這個網站(http://home.hiwaay.net/~taylorc/toolbox/geography/geoutm.html) 。如果您查看源代碼,則整個轉換都是使用JavaScript完成的,您可以查看它並嘗試轉換爲Obj-c。

+0

很好的資源,謝謝! – 2010-11-18 23:18:29

+0

我添加了另一個鏈接。這應該會對你有所幫助! – vfn 2010-11-18 23:20:42

+1

感謝您的額外鏈接... – 2010-11-22 06:55:46

6

我最近寫的一類,這和貼示例項目在GitHub上

UTMConverter example for iOS

你想要的部分是一個名爲UTMConverter.m文件。它有從lat/long轉換爲UTM的方法,反之亦然。

1

MKMapViewZoom似乎有一些類方法可以在平面地圖(幾何)&曲線圖(地理)座標之間進行轉換,但我沒有測試過它們。有人給我豎起大拇指,如果這實際工作

//convert from WGS84 (geographic coordinates) to UTM (geometric coordinates) 
+ (double)longitudeToPixelSpaceX(double)pixelX 
+ (double)latitudeToPixelSpaceY(double)pixelY 

//convert from UTM to WGS84 
+ (double)pixelSpaceXToLongitude(double)longitude 
+ (double)pixelSpaceYToLatitude(double)latitude 

這裏一些文檔

UPDATE:

這很令人發狂,但爲了讓這個類的源代碼準確工作,我基本上必須將方法提取到我自己的域中,然後刪除代碼中引用MERCATOR_OFFSET &更改MERCATOR_RADIUS的部分代碼地球的半徑。當我發現這個功能確實起作用時,我感覺很好,非常驚訝。

相關問題