在 tmap 上手动设置地图比例
Set manually the map scale on tmap
我正在使用 tmap
创建地图,以将特定坐标绘制为点。
我想将我的地图保存为 .png 并且使用 tmap_leaflet
和 mapshot
效果很好(见下面的代码)。
library(sf)
library(tmap)
library(mapview)
coord <- data.frame(Lat=c(0.92, 0.92, 0.93, 0.92, 0.93, 0.93, 1.00, 1.00, 0.99, 0.93),
Lon=c(104.58, 104.51, 104.57, 104.50, 104.55, 104.51, 104.59, 104.49, 104.6, 104.61))
sdat <- st_as_sf(coord, coords = c("Lon", "Lat"),
crs = "+proj=longlat +datum=WGS84 +no_defs")
tmap_mode("view")
Map <- tm_basemap("Esri.WorldTopoMap") +
tm_shape(sdat) +
tm_dots(alpha = 1,
title = "Location")
lf <- tmap_leaflet(Map)
mapshot(lf, file = "Map.png") # save map
我的问题是在 tmap 视图模式下可视化的默认区域。
我想缩小以可视化地图的更大区域(例如设置特定边界),而不仅仅是真正靠近绘制点的区域。我还没有在网上找到解决方案。
这就是我获得 .png 的方式:
这就是我想得到的例子(用截图制作):
您可以使用 tm_view()
调整缩放级别:
library(sf)
library(tmap)
library(mapview)
coord <- data.frame(Lat=c(0.92, 0.92, 0.93, 0.92, 0.93, 0.93, 1.00, 1.00, 0.99, 0.93),
Lon=c(104.58, 104.51, 104.57, 104.50, 104.55, 104.51, 104.59, 104.49, 104.6, 104.61))
sdat <- st_as_sf(coord, coords = c("Lon", "Lat"),
crs = "+proj=longlat +datum=WGS84 +no_defs")
tmap_mode("view")
Map <- tm_basemap("Esri.WorldTopoMap") +
tm_shape(sdat) +
tm_dots(alpha = 1,
title = "Location") +
tm_view(set.zoom.limits = c(10, 20))
lf <- tmap_leaflet(Map)
mapshot(lf, file = "Map.png")
我正在使用 tmap
创建地图,以将特定坐标绘制为点。
我想将我的地图保存为 .png 并且使用 tmap_leaflet
和 mapshot
效果很好(见下面的代码)。
library(sf)
library(tmap)
library(mapview)
coord <- data.frame(Lat=c(0.92, 0.92, 0.93, 0.92, 0.93, 0.93, 1.00, 1.00, 0.99, 0.93),
Lon=c(104.58, 104.51, 104.57, 104.50, 104.55, 104.51, 104.59, 104.49, 104.6, 104.61))
sdat <- st_as_sf(coord, coords = c("Lon", "Lat"),
crs = "+proj=longlat +datum=WGS84 +no_defs")
tmap_mode("view")
Map <- tm_basemap("Esri.WorldTopoMap") +
tm_shape(sdat) +
tm_dots(alpha = 1,
title = "Location")
lf <- tmap_leaflet(Map)
mapshot(lf, file = "Map.png") # save map
我的问题是在 tmap 视图模式下可视化的默认区域。
我想缩小以可视化地图的更大区域(例如设置特定边界),而不仅仅是真正靠近绘制点的区域。我还没有在网上找到解决方案。
这就是我获得 .png 的方式:
这就是我想得到的例子(用截图制作):
您可以使用 tm_view()
调整缩放级别:
library(sf)
library(tmap)
library(mapview)
coord <- data.frame(Lat=c(0.92, 0.92, 0.93, 0.92, 0.93, 0.93, 1.00, 1.00, 0.99, 0.93),
Lon=c(104.58, 104.51, 104.57, 104.50, 104.55, 104.51, 104.59, 104.49, 104.6, 104.61))
sdat <- st_as_sf(coord, coords = c("Lon", "Lat"),
crs = "+proj=longlat +datum=WGS84 +no_defs")
tmap_mode("view")
Map <- tm_basemap("Esri.WorldTopoMap") +
tm_shape(sdat) +
tm_dots(alpha = 1,
title = "Location") +
tm_view(set.zoom.limits = c(10, 20))
lf <- tmap_leaflet(Map)
mapshot(lf, file = "Map.png")