【问题标题】:Render custom tiles in R leaflet from local directory (i.e. not from a git repository)从本地目录(即不是来自 git 存储库)在 R 传单中渲染自定义图块
【发布时间】:2018-01-25 02:30:09
【问题描述】:

我使用 Qgis 中的 Qtiles 插件从一个非常大的栅格中创建了一些图块。我已将它们保存到计算机上的本地目录中,现在想使用 R 将它们呈现在传单地图中。

addTiles 函数传递一个 URL,但似乎不适用于本地文件路径。在另一篇文章 (How to render custom map tiles created with gdal2tiles in Leaflet for R?) 中,Lauren 建议在闪亮目录中使用 www 文件夹。首先,我不是 100% 确定这是什么意思,其次我不知道该解决方案是否适用于我正在尝试做的事情;我要做的就是在传单地图对象中渲染这些图块并将其保存为本地 html。有可能做我正在尝试的事情吗?

代码如下所示:

library(leaflet)

map <- leaflet()

map <- addProviderTiles(map, "CartoDB.Positron")

map <- addTiles(map, "C:/mapTiles/level100Tiles/{z}/{x}/{y}.png")

我不知道是否有针对此特定目的的不同传单功能?或者它只是没有完成?

谢谢:)

【问题讨论】:

  • 我的建议是打开一个免费的 github 存储库并将它们发布到那里供您的应用程序查询,因为当应用程序在网站上运行并且无法访问您的本地时,您需要托管它们驾驶。你可以让它在本地工作,但是地图只能在你的机器上工作。
  • 感谢您的回复!如果我只想在本地使用地图,我该怎么做?该地图不是用于应用程序,而是用于在内部共享信息(作为 html 小部件) - 即我认为我可以将图块保留在局域网上。基本上,我想知道如何使用传统的文件路径而不是 url 来获取图块。
  • 您需要设置本地图块的路径...我从来没有这样做过,所以它超出了我的范围...抱歉。
  • 您对在 Shiny App 中从本地目录渲染图块有答案吗?我得到的只是一张空白地图。使用 addTiles(urlTemplate = "map/tiles/{z}/{x}/{y}.png"),将瓦片数据放在 www 文件夹中。

标签: r leaflet mapping qgis jstilemap


【解决方案1】:

在服务器内添加一个 ResourcePath 就可以了,不需要任何地方的 www 文件夹。 Source.

server <- function(input, output, session) {
    addResourcePath("mytiles", "C:/Users/.../mapTiles")
    output$map <- renderLeaflet({
      leaflet() %>% 
        addTiles(urlTemplate = "/mytiles/{z}/{x}/{y}.png")
    })

【讨论】:

  • 嗨,山姆。源链接不再起作用。 “mytiles”只是一个文件夹名称吗?它不适合我。某处有可重现的例子吗?谢谢!
  • 嗨,这很烦人。将“mytiles”视为一个对象,它是addResourcePath 中的路径——该路径应该是包含磁贴结构的文件夹。在addTiles 函数中,您链接到包含图块的本地路径(格式应正确)。
  • 感谢您的回复,山姆。我添加了 SO 问题 stackoverflow.com/questions/59174298/… 。如果您手头有一点时间,我将不胜感激。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-11
  • 2019-08-29
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
  • 1970-01-01
相关资源
最近更新 更多