【发布时间】:2020-02-10 23:35:56
【问题描述】:
我正在尝试使用传单显示比平时更小的地图,因此我不想使用普通的平铺系统。我不在乎平滑缩放和在需要时加载更高分辨率的图块。相反,我试图从图像文件中添加光栅图像。假设我在谷歌搜索“手绘地图”时出现的 file
所以我试试
download.file('https://external-preview.redd.it/7tYT__KHEh8FBKO6bsqPgC02OgLCHAFVPyjdVZI4bms.jpg?auto=webp&s=ff2fa2e448bb92c4ed6c049133f80370f306acb3',
destfile = 'map.jpg')
map = raster::raster('map.jpg')
# it seems like i need a projection to use a raster image.
# not sure what controls do I have over this, especially in
# absence of a proper map layer and it's likely
# part of the solution
crs(map) = CRS("+init=epsg:4326")
leaflet() %>%
leaflet::addRasterImage(map)
结果输出与输入图像完全不同
如何拍摄任意图像并将其放置在传单地图上?
【问题讨论】:
-
这能回答你的问题吗? Overlay image on R leaflet map
-
我投票决定将其作为副本关闭,但除了链接的解决方案之外,可能还有其他解决方案。据我猜测,尝试
addRasterImage()的colors=参数并更改投影。 -
不太有效,因为它仍然强制我添加法线贴图图块并将我锁定在该坐标系中。我想我需要使用
L.CRS.Simple才能为图像提供适当的边界 -
@brian 通过稍微修改该答案,我能够根据我的规范添加叠加图像。不确定它是否值得在这里单独回答。只需要做
leaflet(options = leafletOptions(crs = leafletCRS('L.CRS.Simple'))) %>% htmlwidgets::onRender("...并调用javascript -
您始终可以用您的解决方案回答您自己的问题。很好地记录问题对未来的读者很有用。