"rgdal包中的经纬度转UTM问题"

7

有人能看出这个有什么问题吗:

library(rgdal)

# Make a two-column matrix, col1 = long, col2 = lat
xy <- cbind(c(-107), c(26))
# Convert it to UTM coordinates (in units of meters)
project(xy, "+proj=utm +zone=51 ellps=WGS84")

我知道纬度大于84和小于80都是无效的,但为什么我会得到以下信息?
In project(xy, "+proj=utm +zone=51 ellps=WGS84") :
  1 projected point(s) not finite

谢谢!


1
为什么是-1?这是一个合理的问题。 - Joris Meys
1个回答

11

在经度上使用正数(例如107),而不是负数(例如-107)。负数表示西半球。


1
你是说(-107,26)和(107,26)有相同的UTM坐标吗? - cs0815
1
我想说的是,(lon,lat) = (-107,26) 的意思是,按照惯例,107度西经,26度北纬。UTM 51区位于菲律宾附近。因此,我假设您的坐标位于东半球。如果您的坐标与正确的UTM区域相差太远,就无法像这种情况一样进行投影。您必须选择适合您坐标的正确UTM区域。 - yosukesabai
xy <- cbind(c(107), c(26)) 这样做。 - yosukesabai
1
我查到了Mollweide或Aitoff的投影作为地图投影,可以覆盖整个地球并保持等面积。通过将球形地球展开成矩形,你无法避免扭曲几何形状。你可以保留一些属性(例如角度、大小),但根据这位专家的说法,最好保留面积[http://www.wiley.com/bw/submit.asp?ref=1466-822X&site=1]。如果你有自己喜欢的教科书,仔细查看其中的地图标题,看看是否提到了地图投影。 - yosukesabai
或者你可以使用UTM,但是按部分划分。例如,分析澳大利亚、菲律宾等地区,然后是印度,然后是伊朗等地区,然后……并以某种方式得出综合图片。我不是生态专家,你觉得最有意义的是什么。我看了一下Molwide投影图片,在高纬度处有些扭曲。我不确定这是否会对ENFA造成麻烦,因为在该投影中,直角方向不再是直角。在你的情况下,ENFA手册是否有关于覆盖大面积时使用哪种投影的建议? - yosukesabai
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接