【发布时间】:2016-06-04 14:19:27
【问题描述】:
当投影到 R 的 rgdal 中的方位角等距投影时,结果看起来很奇怪。举个例子:
require(rgdal)
require(maptools)
data(wrld_simpl)
azim_polar = '+proj=aeqd +lat_0=90 +lon_0=0'
azim_orign = '+proj=aeqd +lat_0=0 +lon_0=0'
w_polar = spTransform(wrld_simpl, CRS(azim_polar))
w_orign = spTransform(wrld_simpl, CRS(azim_orign))
par(mai=c(0,0,.2,0), mfrow=c(1, 2))
plot(w_polar, col = 'grey80'); title(azim_polar)
plot(w_orign, col = 'grey80'); title(azim_orign)
南极洲的多边形应该fill outwards to the projection edge,而不是向内绘制。同样对于 WGS84 原点图,外部多边形不应该继续向外而不是环绕吗?将此与d3.js implementation 进行比较。
我是否在此过程中遗漏了什么,或者这是 rgdal 或 proj4 问题?
编辑:绘制meridians and parallels以澄清这里发生了什么
请注意,极坐标图实际上是正确的,但另一个是完全环绕的。我已将线条设为半透明以显示重叠,第二张地图中唯一没有重叠的线条是 90° E 和 W 子午线。可能是错误的,但这向我暗示了数学问题而不是绘图函数..
【问题讨论】:
-
Proj.4 documentation 的第 45 页是相关的。我已经尝试了这些示例,使用
rgdal.. 的结果非常不同。其他相关资源是on github。 -
我会说它是 sp 绘图中的一个错误。南极洲的坐标是正确投影的,但是 sp 不知道它应该真的用轮廓圆覆盖它。 sp 对用其他球面投影包裹在地平线上的多边形有什么作用?我怀疑它也搞砸了......
-
嗨,巴里,是的,我认为这可以解释极地方位角。肯定还有一些错误的包装正在发生。我在上面添加了网格图以澄清 - 请注意 cmets。
-
看起来这可能是由于 a known Proj.4 bug 已在
4.9.2中解决,但rgdal(1.0-4, (SVN 修订版 548)) 仍在4.9.1.. -
这里详细描述了一般问题:bost.ocks.org/mike/example 您可以通过合理地重新组合多边形来修复 R 中的此类问题,但我认为直到拓扑边界是可以处理的,这是一个比proj.4可以处理的更大的问题。
标签: r map-projections rgdal proj