我一直在寻找一种方法将我的iOS应用程序(用Swift编写)中的GPS坐标转换为SWEREF99(在我的情况下为1330),但似乎无法找到一种“简单”的方法。在尝试自己编写函数之前我还需要知道什么?
示例:
Lat:56.545414, Lon:13.469853
应该返回:
N 6269294, E 148146
一个Swift功能真的很感激!谢谢你的帮助。
答案 0 :(得分:0)
没有简单的方法 您需要一个坐标转换库。 libs是用C语言编写的,您可以在ios中导入。 这里解释如何从Swift调用C函数: How to call C from Swift?
在该库中,您可以传递找到的坐标系定义字符串 在http://spatialreference.org/ref/epsg/sweref99-13-30/
如果由于某些原因你想自己实现, 你必须阅读横向墨卡托投影的工作原理。 您还需要了解坐标系变换的方法。 有WGS84到UTM代码可用。 Sweref是UTM转换的特殊变体,仅更改了输入参数。 (您在上面的链接中找到) 这个解决方案可能是最快的运行方式。