簡體   English   中英

iOS:如何將MKMapPoint或CLLocationCoordinate2D轉換為UTM?

[英]iOS: How to convert MKMapPoint or CLLocationCoordinate2D to UTM?

從我所看到的,這需要一些我不擅長的復雜數學。 所以,我在這里問。

有沒有人有將MKMapPoint或CLLocationCoordinate2D轉換為UTM值的經驗? 我找到了這個資源( http://www.uwgb.edu/dutchs/usefuldata/UTMFormulas.HTM ),但數學是壓倒性的。

我最近為此編寫了一個類,並在GitHub上發布了一個示例項目

適用於iOS的UTMConverter示例

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

您可以使用一個lib來執行此操作,或者分析一個lib的代碼以了解算法並自行完成。

這是一個完成這項工作的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。

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

這里有一些文件

更新:

這是發瘋,但為了得到這個類的源代碼,以准確地工作,我基本上不得不方法提取到自己的域名本質上,然后刪除代碼的部分引用MERCATOR_OFFSET &轉換MERCATOR_RADIUS到地球半徑的米值。 當我發現這實際上有效時,我很好,非常驚訝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM