如何渲染使用 gdal2tiles 创建的自定义地图图块?

问题描述 投票:0回答:1

我正在使用 ESA 的土地覆盖栅格图层,最终希望在 Leaflet Shiny 应用程序中显示地球的数据。渲染如此庞大的文件是不可能的,因此我决定创建地图图块来显示数据。

创建图块很简单——我使用了 QGIS 中的

gdal2tiles
工具。以下是输出的快速浏览,该输出位于我计算机上的本地目录中: enter image description here

当我单击

leaflet.html file
时,图块将在我的浏览器中呈现,如下所示:

enter image description here

显然瓷砖处于工作状态。 问题是我不知道如何在 R 的 Leaflet 中渲染这些图块。 我尝试按照 本教程进行操作,但是当我更改代码以适合示例时,没有渲染任何内容。我还探索了这个 StackOverflow 问题 的答案,但所有答案似乎都已经过时了好几年。

这是我用来尝试以任何方式渲染图块的 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 中渲染它们?看起来这应该很简单,但我无法弄清楚!

r shiny r-leaflet
1个回答
0
投票

想通了。您必须在 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))
© www.soinside.com 2019 - 2024. All rights reserved.