需要使用Java中的特定区域将纬度和经度转换为UTM

时间:2013-01-31 09:13:22

标签: java coordinate-systems utm

我在使用Java将坐标转换为UTM33(Northern Hemisphere)时遇到了麻烦。

我找到了很多lat / long到UTM的转换器,但是这些确定了坐标所在的UTM区域并给出了答案。这不是我想要的,我基本上想强迫它使用UTM区域33。

我想要的示例:

坐标A和B在UTM 31中为E 100m和N 100m,但我想根据UTM 33知道它们的位置,可能是E -1000m和N -1000m UTM 33。

我真的不在乎我是否首先获得UTM 31坐标然后将它们转换为UTM 33或者如果我将lat / long坐标直接转换为UTM 33,但我似乎无法找到一个库其中任何一个。

感谢阅读!

1 个答案:

答案 0 :(得分:0)

我所做的是使用此converter,然后稍微更改了代码。在类 LatLon2UTM的setVariables(双纬度,双经度)方法中,我将区域变量 var1 更改为33并删除了计算真实UTM区域的计算。

原:

var1 = ((int) (longitude / 6)) + 31;

新:

var1 = 33;

没什么好看的,但至少现在我可以转换到我想要的区域了!