從我讀過的內容來看,這需要一些複雜的數學,我不擅長。所以,我在這裏問。iOS:如何將MKMapPoint或CLLocationCoordinate2D轉換爲UTM?
有沒有人有經驗將MKMapPoint或CLLocationCoordinate2D轉換爲UTM值?我發現這個資源(http://www.uwgb.edu/dutchs/usefuldata/UTMFormulas.HTM),但數學是壓倒性的。
從我讀過的內容來看,這需要一些複雜的數學,我不擅長。所以,我在這裏問。iOS:如何將MKMapPoint或CLLocationCoordinate2D轉換爲UTM?
有沒有人有經驗將MKMapPoint或CLLocationCoordinate2D轉換爲UTM值?我發現這個資源(http://www.uwgb.edu/dutchs/usefuldata/UTMFormulas.HTM),但數學是壓倒性的。
你可以使用一個庫來做到這一點,或分析一個庫的代碼來理解算法,並自己動手。
這是一個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。
我最近寫的一類,這和貼示例項目在GitHub上
你想要的部分是一個名爲UTMConverter.m文件。它有從lat/long轉換爲UTM的方法,反之亦然。
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
的部分代碼地球的半徑。當我發現這個功能確實起作用時,我感覺很好,非常驚訝。
很好的資源,謝謝! – 2010-11-18 23:18:29
我添加了另一個鏈接。這應該會對你有所幫助! – vfn 2010-11-18 23:20:42
感謝您的額外鏈接... – 2010-11-22 06:55:46