Я пытаюсь получить простое изображение, которое можно экспортировать. Мне нужно, чтобы это была базовая карта из OpenStreetMaps (или тычинка). Затем у меня есть проекция растра на EPSG: 27700. В идеале мне нужно добавить заголовок и масштабную линейку. И я действительно изо всех сил пытаюсь это сделать.
Учитывая следующий растр в ascii:
ncols 3
nrows 3
xllcorner 548886.
yllcorner 96639.
cellsize 3000.
NODATA_value -999.0
3 -999.000 -999.000
-999.000 1 2
-999.000 3 4
я могу построить его:
library(ggplot2)
library(ggmap)
library(ggspatial)
library(ggrepel)
library(raster)
library(rasterVis)
library(rgdal)
crs_27700 = "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 +units=m +no_defs"
example = "C:/Users/x0x0x0x/Desktop/example.asc"
ex_ras = raster(example, crs= crs_27700)
pts_file = rasterToPoints(ex_ras)
pts_df = data.frame(pts_file)
colnames(pts_df) <- c("Easting","Northing","MAP")
ggplot(data=pts_df, aes(y=Northing, x=Easting))+
geom_raster(aes(fill=MAP)) +
#geom_point(data=sites, aes(x=x, y=y), color="white", size=3, shape=4) +
theme_bw() +
coord_equal() +
scale_fill_gradient("Level [mAOD]", limits=c(0,4)) +
theme(axis.title.x = element_text(size=16),
axis.title.y = element_text(size=16, angle=90),
axis.text.x = element_text(size=14),
axis.text.y = element_text(size=14),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "right",
legend.key = element_blank()
)
Но я невозможно построить базовую карту под растром. Но я могу получить базовую карту.
library(rosm)
library(prettymapr)
crs_4326 = "+proj=longlat +datum=WGS84 +no_defs"
wgs84_extent = projectExtent(ex_ras, crs_4326)@extent
ns <- makebbox(w=wgs84_extent@xmin ,e=wgs84_extent@xmax , s=wgs84_extent@ymin , n=wgs84_extent@ymax)
bsmp <- osm.raster(ns, projection=CRS(crs_27700), crop=TRUE)
Я могу экспортировать ее как tif, и я вижу ее, если открываю с помощью Q-gis. Но я понятия не имею, как построить базовую карту, а затем поверх моего растра.
Я также пробовал использовать ggmap, но столкнулся с множеством проблем, связанных с необходимостью конвертировать все в WGS84, хотя я хотел бы чтобы построить все, сохраняя исходную проекцию и координаты.
Как я могу построить базовую карту, а затем растр.
Спасибо