纬度,经度到UTM表示法之间的转换

时间:2012-02-18 10:43:08

标签: c++ google-maps google-maps-api-3 google-earth

我有纬度,经度等形式的位置坐标,例如:23⁰ 39' 24.8" N& 58⁰ 11' 36.5" E,请参见下面的图片。但在我的工作场所,我使用ArcGIS,似乎不支持度(纬度,经度)形式坐标。我现在计划编写一个C ++代码来将度数形式转换为UTM表示法,例如23⁰ 39' 24.8" N& 58⁰ 11' 36.5E"2616726 N& 621702 E。我想知道怎么做这样的转换?'

enter image description here

PS:E =东,N =北。

2 个答案:

答案 0 :(得分:4)

Wikipedia解释了如何执行此操作。 Google地球可以使用十进制度表示法。

编辑:看着你想要转换为UTM的想想的图片? Wikipedia也有这个公式。

(注意:在使用前检查维基百科的公式与其他来源)

答案 1 :(得分:0)

添加到rve的答案,你可以实现lat / long - >通过遵循维基百科上的等式进行UTM转换。

或者,您可以下载并安装开源大地测量包,例如GeographicLib,以便为您进行转换。

第三种选择是直接从GeographicLib或其他开源软件包(例如此navsat_conversions文件)借用代码。如果你这样做,一定要归功于原作者。