iOS:MKMapPoint または CLLocationCooperative2D を UTM に変換するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4219775

質問

私が読んだところによると、これには複雑な数学が必要ですが、私は苦手です。そこで、ここで質問させていただきます。

MKMapPoint または CLLocationCooperative2D を UTM 値に変換した経験のある人はいますか?このリソースを見つけました (http://www.uwgb.edu/dutchs/usefuldata/UTMFormulas.HTM)しかし、数学は圧倒的です。

役に立ちましたか?

解決

あなたは、アルゴリズムを理解し、それを自分で行うためにそれを行うために、1つのlibを使用するか、または1つのLIBのコードを分析することができます。

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

これはC ++仕事をしてlibです/ A>

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

私はこのウェブサイト(http://home.hiwaay.net/~taylorc/toolbox/geography/geoutm.html)を発見しました。あなたがソースコードを見てみると、全体の変換はJavaScriptを使用して行われ、あなたはそれを見ているとのObj-Cに変換しようとすることができます。

他のヒント

私は最近、このためのクラスを書いて、GitHubの

上のサンプルプロジェクトを投稿しました

UTMConverter iOS用例

あなたがしたい部分がUTMConverter.mと呼ばれるファイルです。これは、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

ここにいくつかのドキュメントがあります

アップデート:

これは腹立たしいことですが、このクラスのソース コードを正確に動作させるには、基本的にメソッドを独自のドメインに抽出し、それから参照しているコードの部分を削除する必要がありました。 MERCATOR_OFFSET & 変化 MERCATOR_RADIUS 地球の半径のメートル値に換算します。これが実際に機能することを発見したとき、私はちょっと、まあ、非常に驚​​きました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top