【问题标题】:ggmap stamen watercolor png errorggmap雄蕊水彩png错误
【发布时间】:2015-02-17 19:18:31
【问题描述】:

对于我在 ggmap 和 stamen 水彩画中遇到的问题,我非常感谢一些帮助/想法。

每次尝试创建雄蕊水彩图时,我都会收到相同的错误消息:

"Error in readPNG(destfile) : file is not in PNG format"

以下是一些返回此错误的简单代码示例:

qmap("new-york", zoom=13, source="stamen", maptype="watercolor")

get_map(location='Auckland', source="stamen", maptype="watercolor", zoom=13)

我使用的是r版本:[默认] [64-bit] C:\Program Files\R\R-3.0.2在windows 8下

我意识到有一些人发布了同样的问题 - 但只有少数人 - 我还没有看到任何解释/建议。我很沮丧和沮丧,我真的希望比我更有经验的人遇到(并解决)这个问题。在此先感谢或您可以提供的任何帮助

【问题讨论】:

    标签: png ggmap stamen-maps


    【解决方案1】:

    作为临时修复,您可以自己进行更改。输入

    get_stamenmap 
    

    在 R 终端。这将转储加载地图的代码。您将需要编辑此代码并替换命名空间中的函数。

    将代码复制到文本编辑器中,并通过更改第一行再次创建函数:

    get_stamenmap <- function (bbox = 
    

    然后你需要切换到加载 jpegs。在 png 上搜索并将文本更改为 jpg。我有两个实例,它们看起来像您在文件扩展名中需要的文本,它们在我的第 64 行和第 71 行。

    64: urls <- paste(urls, ".jpg", sep = "")
    71: destfile <- paste(filename, "jpg", sep = ".")
    

    在第 75 行有函数 readPNG,您需要将其更改为 readJPEG。

    tile <- readJPEG(destfile)
    

    您还需要确保加载 jpeg 包,即 library(jpeg),因为 ggmap 没有意识到现在需要这样做。我还需要 library(plyr),但我不知道为什么 - 我这样做是因为我后来收到了关于 ldply() 的错误消息,我在那个包中找到了。

    现在将这个“全新”功能粘贴回终端。之后,需要覆盖包中嵌入的函数,这与刚才粘贴到终端的本地副本不同,所以需要输入:

    assignInNamespace("get_stamenmap",get_stamenmap,ns="ggmap")
    

    现在您应该准备好再次使用 qmap。此过程对我有用,并且比使用相同更改重新编译包或下载具有这些修复和编译的最新源更简单。

    【讨论】:

      【解决方案2】:

      我也遇到了同样的问题。请注意,如果您运行

      get_map(location='Auckland', source="stamen", maptype="watercolor", zoom=13)
      

      您将获得您尝试在 R 中加载的图块的 URL。当我访问给定的其中一个 URL 时,它会重定向到 .jpg 而不是 .png。因此错误是准确的 - 提供的图块不是 PNG 格式 - 它们是 JPG。

      看起来这是 ggmap 中的一个错误,由 Stamen 的 API 更改引入。看来 2.4 版将解决这个问题;在此处查看 GitHub 提交:https://github.com/dkahle/ggmap/commit/c7c48947360351f2e86ba13d0457aa3894b51d46

      【讨论】:

        【解决方案3】:

        在库中发布 2.4 之前,另一种方法是加载存储库中可用的函数并替换 ggmap 包中已经存在的函数(正如迈克尔回答的那样)。我刚刚加载了 get_stamenmap.Rfiledrawer.R 的内容(url_lookup() 需要),这与水彩地图相得益彰。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-30
          • 1970-01-01
          • 2012-06-15
          • 2021-10-10
          相关资源
          最近更新 更多