【问题标题】:iOS: How to convert MKMapPoint or CLLocationCoordinate2D to UTM?iOS:如何将 MKMapPoint 或 CLLocationCoordinate2D 转换为 UTM?
【发布时间】:2011-05-12 07:27:40
【问题描述】:

根据我的阅读,这需要一些我不擅长的复杂数学。所以,我在这里问。

有没有人有将 MKMapPoint 或 CLLocationCoordinate2D 转换为 UTM 值的经验?我找到了这个资源 (http://www.uwgb.edu/dutchs/usefuldata/UTMFormulas.HTM),但是数学太难了。

【问题讨论】:

    标签: iphone geolocation mapkit cllocationmanager 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
    

    这里有一些文档

    更新:

    这很让人抓狂,但是为了让这个类的源代码能够准确地工作,我基本上不得不将方法提取到我自己的域中,然后删除引用 MERCATOR_OFFSET 的代码部分并将 MERCATOR_RADIUS 更改为米的地球半径值。当我发现这确实有效时,我有点,好吧,非常惊讶。

    【讨论】:

      【解决方案2】:

      我最近为此写了一个类,并在 GitHub 上发布了一个示例项目

      UTMConverter example for iOS

      您需要的部分是一个名为 UTMConverter.m 的文件。它具有从 lat/long 转换为 UTM 的方法,反之亦然。

      【讨论】:

        【解决方案3】:

        你可以使用一个库来做,或者分析一个库的代码来理解算法并自己做。

        这是一个可以完成这项工作的 c++ 库: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。

        【讨论】:

        • 我添加了另一个链接。这应该对你有很大帮助!
        猜你喜欢
        • 2013-04-04
        • 2013-07-19
        • 2023-03-31
        • 2019-05-23
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        • 2011-11-15
        • 2010-09-25
        相关资源
        最近更新 更多