我正在寻找一种方法来使用ggsn
包生成包括北向箭头和比例尺的地图。
我已经成功添加了北箭头,但也需要添加标量。
这是我到目前为止所做的:
mg <- get_map(bbox(extent(geit_mb[[1]])*2), source="google", zoom=13)
bbox(extent(geit_mb[[1]])*2)
min max
s1 21.17131 21.25476
s2 69.85586 69.90750
maps <- ggmap(mg) +
geom_path(data = geit_4237, aes(x=location.long, y=location.lat)) +
scalebar(geit_4237, dist = 5, dd2km = TRUE, model = 'WGS84')
north2(maps, .75,.90)
我收到以下错误:
警告消息:删除了包含缺失值的两行(geom_text)。
我错过了什么?
但是单独运行scalebar位我会收到这些警告:
Warning messages:
1: In max(data$long) : no non-missing arguments to max; returning -Inf
2: In min(data$lat) : no non-missing arguments to min; returning Inf
3: In max(data$lat) : no non-missing arguments to max; returning -Inf
4: In min(data$lat) : no non-missing arguments to min; returning Inf
5: In max(data$lat) : no non-missing arguments to max; returning -Inf
6: In min(data$lat) : no non-missing arguments to min; returning Inf
7: In sin(lat) : NaNs produced
8: In cos(phi) : NaNs produced
9: In sin(phi) : NaNs produced
10: In sin(phi) : NaNs produced
11: In sin(lat) : NaNs produced
12: In cos(phi) : NaNs produced
13: In sin(phi) : NaNs produced
14: In sin(phi) : NaNs produced
输出:
dput(bbox(extent(geit_mb[[1]])*2))
structure(c(21.17130645, 69.8558596, 21.25475825, 69.9075024), .Dim = c(2L, 2L), .Dimnames = list(c("s1", "s2"), c("min", "max")))
答案 0 :(得分:2)
如何将缩放栏添加到ggmap并不是那么明显。这是我管理的内容,在阅读代码时提供了很多帮助。
获取地图并加载库
library("ggmap")
library("ggsn")
map <- get_googlemap(center =c(23.89, 52.74), zoom = 12, maptype = "hybrid")
获取地图的边界框,并将其重新格式化为data.frame
scalebar
bb <- attr(map, "bb")
bb2 <- data.frame(long = unlist(bb[c(2, 4)]), lat = unlist(bb[c(1,3)]))
将缩放栏添加到ggmap
ggmap(map) +
scalebar(data = bb2, dist = 1, dd2km = TRUE, model = "WGS84",
location = "topleft",
anchor = c(
x = bb$ll.lon + 0.1 * (bb$ur.lon - bb$ll.lon),
y = bb$ll.lat + 0.9 * (bb$ur.lat - bb$ll.lat)
)
)
data
是地图的边界框。
dist
给出了比例尺每个部分的长度
dd2km
应该为TRUE,因为地图数据是十进制度数(但代码只检查此值是否为空)
model
为Google地图提供了基准 - WGS84。
我发现单独设置location
会使比例如此靠近传奇或条形图丢失的边缘。因此,我使用anchor
将比例尺从左侧定位10%,向上定位90%。我仍然需要设置location
,因为它与比例尺相对于锚点的方向相关联。