【问题标题】:Map scale in GISTools package RGISTools 包 R 中的地图比例
【发布时间】:2014-07-25 13:28:23
【问题描述】:

我正在尝试使用库 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...

【问题讨论】:

    标签: r maps scale gis rworldmap


    【解决方案1】:

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

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

    这对我来说看起来不错:

    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)

    【讨论】:

    • 感谢您的提示。它看起来不错,但比例不正确(见上传的图片)。我认为这可能是由于下载地图的“地图单位”。我检查了该功能的帮助指南,但我真的不明白它们对地图单位的含义......
    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    相关资源
    最近更新 更多