Proj4js - 您可以在没有区域的情况下将Lat/Long转换为UTM吗?

问题描述:

我正在尝试使用Proj4js来执行一些坐标转换,但是关于如何使用它的信息很少。Proj4js - 您可以在没有区域的情况下将Lat/Long转换为UTM吗?

我想要做的是将经度和纬度转换为UTM坐标,但我不知道区域是什么。这应该很容易,因为经度决定了区域,并且如果您知道该区域默认出现。

我试图做到这一点在Proj4js,但我得到一个错误说

"Uncaught TypeError: undefined is not a function"

我的代码洛斯这样的:

proj4Arr = [-105.2098, 39.7458]; 
var source = ('+proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees +no_defs'); 
var dest = ("+proj=utm +ellps=GRS80 +datum=nad83 +units=m +no_defs"); 

console.log(proj4(source, dest, proj4Arr)); 

我只是不知道是否有可能做这不包括区域。如果需要,我可以先计算区域,然后将其放入字符串中,但我试图保持简单。

如果有人知道任何纯粹的js资源的例子(不一定使用OpenLayers 3),我会很感激。

谢谢!

我想你将不得不指定proj4预测投影的区域信息才能使用库。没有区域,它不是有效的proj4投影。

以下是关于如何从lon/lat识别区域的question

这里有两个例子:[1][2]

您可以自己检查出的js代码。

+0

我意识到这实际上是问题所在,但我投了你的答案是正确的。我使用这段代码首先得到这个区域:'var zone = 1 + Math.floor((lngd + 180)/ 6);' – mudrock