如何在 Leaflet for R 中渲染使用 gdal2tiles 创建的自定义地图图块?
How to render custom map tiles created with gdal2tiles in Leaflet for R?
我正在使用 ESA's landcover raster layer 并最终想在 Leaflet Shiny 应用程序中显示全球数据。渲染如此庞大的文件是不可能的,所以我决定创建地图图块来显示数据。
创建图块很简单——我使用了 QGIS 中的 gdal2tiles
工具。下面是输出的快速浏览,它位于我计算机的本地目录中:
当我单击 leaflet.html file
时,图块会在我的浏览器中呈现,如下所示:
很明显,瓷砖处于正常工作状态。 问题是我不知道如何在 Leaflet for R 中渲染这些图块。 我试过 this tutorial, but nothing is rendered when I altered my code to fit the example. I also explored answers from this Whosebug question,但所有答案似乎都过时了好几年。
这是我用来尝试让图块以任何方式呈现的 R 代码:
library(leaflet)
leaflet() %>%
setView(0, 0, zoom = 1) %>%
addTiles(urlTemplate = "http://my-username.github.io/tiles/{z}/{x}/{y}.png",
options = tileOptions(minZoom = 1, maxZoom = 2, tms = TRUE)) %>%
addCircles(lat = 0, lng = 0, radius = 100) #just to see if anything is rendering
这段代码渲染了我画的圆,但没有别的。
有没有办法直接从我的本地机器渲染这些图块?如果没有,我如何托管这些图块,以便它们可以在 Leaflet for R 中呈现?看起来这应该很简单,但我想不通!
想通了。您必须在 Shiny 目录中使用 "www" 文件夹。所以在这个问题中,我只有文件夹 "Tiles" 和其中列出的所有平铺文件夹 (0 - 7)。相反,将 Tiles 文件夹移动到 www 目录中(在我的示例中,它们进一步移动到名为 "map" 的文件夹中)。
所以不是上面的结构Tiles > x
,而是需要www > map > Tiles > x
leaflet() %>%
addTiles(urlTemplate = "map/Tiles/{z}/{x}/{y}.png",
option = tileOptions(tms = T, minZoom = 5, maxZoom = 9))
我正在使用 ESA's landcover raster layer 并最终想在 Leaflet Shiny 应用程序中显示全球数据。渲染如此庞大的文件是不可能的,所以我决定创建地图图块来显示数据。
创建图块很简单——我使用了 QGIS 中的 gdal2tiles
工具。下面是输出的快速浏览,它位于我计算机的本地目录中:
当我单击 leaflet.html file
时,图块会在我的浏览器中呈现,如下所示:
很明显,瓷砖处于正常工作状态。 问题是我不知道如何在 Leaflet for R 中渲染这些图块。 我试过 this tutorial, but nothing is rendered when I altered my code to fit the example. I also explored answers from this Whosebug question,但所有答案似乎都过时了好几年。
这是我用来尝试让图块以任何方式呈现的 R 代码:
library(leaflet)
leaflet() %>%
setView(0, 0, zoom = 1) %>%
addTiles(urlTemplate = "http://my-username.github.io/tiles/{z}/{x}/{y}.png",
options = tileOptions(minZoom = 1, maxZoom = 2, tms = TRUE)) %>%
addCircles(lat = 0, lng = 0, radius = 100) #just to see if anything is rendering
这段代码渲染了我画的圆,但没有别的。
有没有办法直接从我的本地机器渲染这些图块?如果没有,我如何托管这些图块,以便它们可以在 Leaflet for R 中呈现?看起来这应该很简单,但我想不通!
想通了。您必须在 Shiny 目录中使用 "www" 文件夹。所以在这个问题中,我只有文件夹 "Tiles" 和其中列出的所有平铺文件夹 (0 - 7)。相反,将 Tiles 文件夹移动到 www 目录中(在我的示例中,它们进一步移动到名为 "map" 的文件夹中)。
所以不是上面的结构Tiles > x
,而是需要www > map > Tiles > x
leaflet() %>%
addTiles(urlTemplate = "map/Tiles/{z}/{x}/{y}.png",
option = tileOptions(tms = T, minZoom = 5, maxZoom = 9))