Я создал наложение для карты Leaflet, отображающей температуру в Альпах.
Это объявление для позиционирования карты (JS):
var imageUrl = 'https://skiweather.eu/gfx/temphi_tomorrow_trans_test.png?dt=2020-05-09&hr=7',
imageBounds = L.latLngBounds([[43.4,16.5], [48.4, 4.88]]);
Я получил границы из растра.
Однако наложение неправильно в позиция. Он должен быть немного левее. Как я могу получить правильные границы?
см .:
https://skiweather.eu/alpenwetter/
Растр в R:
bbox min max x 3605539 4471451 y 1886482 2428298
Formal class 'RasterLayer' [package "raster"] with 12 slots
..@ file :Formal class '.RasterFile' [package "raster"] with 13 slots
.. .. ..@ name : chr ""
.. .. ..@ datanotation: chr "FLT4S"
.. .. ..@ byteorder : chr "little"
.. .. ..@ nodatavalue : num -Inf
.. .. ..@ NAchanged : logi FALSE
.. .. ..@ nbands : int 1
.. .. ..@ bandorder : chr "BIL"
.. .. ..@ offset : int 0
.. .. ..@ toptobottom : logi TRUE
.. .. ..@ blockrows : int 0
.. .. ..@ blockcols : int 0
.. .. ..@ driver : chr ""
.. .. ..@ open : logi FALSE
..@ data :Formal class '.SingleLayerData' [package "raster"] with 13 slots
.. .. ..@ values : num [1:250000] NA NA NA NA NA NA NA NA NA NA ...
.. .. ..@ offset : num 0
.. .. ..@ gain : num 1
.. .. ..@ inmemory : logi TRUE
.. .. ..@ fromdisk : logi FALSE
.. .. ..@ isfactor : logi FALSE
.. .. ..@ attributes: list()
.. .. ..@ haveminmax: logi TRUE
.. .. ..@ min : num 0.271
.. .. ..@ max : num 26.2
.. .. ..@ band : int 1
.. .. ..@ unit : chr ""
.. .. ..@ names : chr "var1.pred"
..@ legend :Formal class '.RasterLegend' [package "raster"] with 5 slots
.. .. ..@ type : chr(0)
.. .. ..@ values : logi(0)
.. .. ..@ color : logi(0)
.. .. ..@ names : logi(0)
.. .. ..@ colortable: logi(0)
..@ title : chr(0)
..@ extent :Formal class 'Extent' [package "raster"] with 4 slots
.. .. ..@ xmin: num 4.88
.. .. ..@ xmax: num 16.5
.. .. ..@ ymin: num 43.4
.. .. ..@ ymax: num 48.4
..@ rotated : logi FALSE
..@ rotation:Formal class '.Rotation' [package "raster"] with 2 slots
.. .. ..@ geotrans: num(0)
.. .. ..@ transfun:function ()
..@ ncols : int 500
..@ nrows : int 500
..@ crs :Formal class 'CRS' [package "sp"] with 1 slot
.. .. ..@ projargs: chr "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
..@ history : list()
..@ z : list()
Процедура создания оверлейного изображения png
plot.nme = paste0('PLOTS/','temphi_tomorrow_trans_test.png')
pred <- ggplot() +
#geom_raster(data = nnmsk_df , aes(x = x, y = y, fill = var1.pred,alpha = as.numeric(var1.pred > 5)),interpolate = FALSE) +
geom_raster(data = nnmsk_df , aes(x = x, y = y, fill = var1.pred,alpha = as.numeric(var1.pred > -5)),interpolate = FALSE) +
theme_void() + # Empty theme without axis lines and texts
scale_fill_viridis(option = "viridis", direction = 1, limits = c(-30,30),breaks=mybreaks, na.value = "transparent",guide=FALSE) +
guides(alpha = "none")
# scale_alpha_continuous(range = c(0.1, 1),guide=FALSE)
pred_snow <- pred +
geom_contour(aes(x = x, y = y, z = var1.pred),data = nnmsk_df, na.rm = TRUE,bins = 6,colour = "white", alpha = 0.3,size=0.1) +
theme(
plot.margin = margin(0, 0, 0, 0, "cm"),
panel.background = element_rect(fill = "transparent", colour = NA),
plot.background = element_rect(fill = "transparent", colour = NA)
)
pred_snow
ggsave(plot.nme, height = graph_height , width = graph_height * aspect_ratio,bg = "transparent",dpi = 300)