【问题标题】:Swift - Coordinate Transformation from EPSG:4326 to 3857Swift - 从 EPSG:4326 到 3857 的坐标转换
【发布时间】:2020-04-06 13:25:06
【问题描述】:

我想知道一个 Swift 库或方法,我可以使用它来从 4326 转换为 3857。我参考了一些库,例如 Proj4SwiftProj.4,但无济于事。第一个链接没有可用的下载,第二个链接没有文档。有人会建议我可以在 Swift 中使用的库或方法吗?

我也参考了其他类似的问题,但找不到合适的解决方案。

【问题讨论】:

    标签: swift gps gis proj epsg


    【解决方案1】:

    好吧,因为我找不到明确直接的答案,所以我用 Swift 编写了代码,引用了 followingthis。如下。

    func getCoordinatesInEPSG3857(longitudeInEPSG4326: Double, latitudeInEPSG4326: Double) -> (Double, Double) {
        let longitudeInEPSG3857 = (longitudeInEPSG4326 * 20037508.34 / 180)
        let latitudeInEPSG3857 = (log(tan((90 + latitudeInEPSG4326) * Double.pi / 360)) / (Double.pi / 180)) * (20037508.34 / 180)
    
        return (longitudeInEPSG3857, latitudeInEPSG3857)
    }
    

    在这里,您可以传递 EPSG:4326 中的坐标,函数返回 EPSG:3857 中的坐标。

    【讨论】:

      猜你喜欢
      • 2016-09-28
      • 2022-08-22
      • 2019-06-04
      • 1970-01-01
      • 2021-12-23
      • 2022-01-08
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      相关资源
      最近更新 更多