2

我正在尝试使用库 rworldmap 和 rworldxtra 获取 R 中高山地区的简单地图。然后,我将在地图中添加点以定位特定站点。

为了添加看起来更好的指北针和地图比例,我尝试了“GISTools”包中的函数 north.arrow() 和 map.scale()。我想这个包是为美国开发的,为了绘制比例尺,它需要一个从/到英尺的转换函数,我不知道如何让它以正确的比例工作......

这是代码:

library(rworldmap); library(rworldxtra); library(GISTools)
newmap <- getMap(resolution="high", projection=NA)
plot(newmap, xlim=c(5.7,16.6), ylim=c(46,46), asp=1.5, col="gray90")
north.arrow(xb=11.7, yb=45.4, len=0.1, lab="N",cex.lab=0.8,col='gray10')

map.scale(10, 45,ft2km(10000),"Km", 4, 0.5) #here is the headache...

挺好看的,就是比例不对

4

1 回答 1

2

您说map.scale条的长度是 3.048 公里(即ft2km(10000),但您还以 0.5 的增量指定了条的 4 个分区,因此长度与您指定的分区和细分的数量不匹配。

另外,没有必要使用ft2km,我不确定它有什么效果。"Km"根据文档,您可以在函数中指定单位map.scale,因此长度应以公里数给出。

这对我来说看起来不错:

north.arrow(xb=7, yb=43, len=0.1, lab="N",cex.lab=0.8,col='gray10')

map.scale(7, 42.5,2,"Km", 2, 1)

于 2014-07-25T14:44:50.197 回答