我想就传单包寻求帮助。绘制交互式 map 时,您可以执行以下操作。

library(leaflet)
library(magrittr)

m <- leaflet() %>%
     setView(lng = -71.0589, lat = 42.3601, zoom = 8) %>%
     addTiles()

m

如果要添加第三方磁贴,也可以这样做。以下链接提供了第三方磁贴(http://leaflet-extras.github.io/leaflet-providers/preview/index.html)的选项。下图是使用OpenWeatherMap.Precipitation创建的。
### They work
m %>% addProviderTiles("MtbMap")
m %>% addProviderTiles("HikeBike.HikeBike")
m %>% addProviderTiles("OpenWeatherMap.Precipitation")

r - 美国国家航空航天局瓷砖与R中的传单-LMLPHP

链接中的某些平铺选项包括NASA的平铺。我想使用其中之一。所以我尝试了以下代码。不幸的是,他们都没有工作。
### The default map appears, then a black layer appears on top of the default layer.
m %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR")
m %>% addProviderTiles("NASAGIBS.ModisTerraBands367CR")

唯一有效的选项如下。
m %>% addProviderTiles("NASAGIBS.ViirsEarthAtNight2012")

r - 美国国家航空航天局瓷砖与R中的传单-LMLPHP

我的下一个尝试是将自定义URL模板与addTiles()一起使用。 URL来自上面的链接。但是,这也不成功。没有出现错误消息,但磁贴没有变化。
m %>%addTiles(urlTemplate = "http://map1.vis.earthdata.nasa.gov/wmts-webmerc/MODIS_Terra_CorrectedReflectance_Bands367/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}",
              tileOptions(minZoom = 1, maxZoom = 8))

我最后的尝试是以下。这显示了默认 map ,但是也没有出现其他图块。
leaflet() %>%
addTiles() %>%
setView(lng = -71.0589, lat = 42.3601, zoom = 8) %>%
addTiles(urlTemplate = "http://map1.vis.earthdata.nasa.gov/wmts-webmerc/MODIS_Terra_CorrectedReflectance_Bands367/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}",
         tileOptions(minZoom = 1, maxZoom = 8))

我的问题是,这是否特别是与NASA瓷砖有关的潜在错误。另外,这些脚本需要什么版本?提前谢谢你的帮助。

更新

我发现一个website使用了相同的NASA磁贴。我指定了NASAGIBS.ModisTerraTRUEColorCR并得到了以下图像。该图显示了邮件是如何从美国发送到瑞典的。如您所见,美国和欧洲都没有图像。我认为这可能是我看到黑色瓷砖的原因。我想知道是否有人知道NASA磁贴的一些细节。我选择了可​​以看到NASA图像的区域。但是,我没有运气。
### I expected to see Japan area this time.
foo <- leaflet() %>%
       setView(lng = 137.37, lat = 35.93, zoom = 5) %>%
       addTiles()

foo %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR")

r - 美国国家航空航天局瓷砖与R中的传单-LMLPHP

更新2

今天,我又给了一个镜头。这时,我设法得到了以下图像。捕获时我将其缩小了一点。在UPDATE中,我提供了一张您看不到美国和欧洲的 map 。在新图像中,您会看到美国的西海岸是黑色的。考虑到所有观察结果,在我看来,人们可能并非一直都在获取某个位置的NASA图像。根据您询问NASA瓷砖的时间,您可能会/可能不会拥有想要的图像。
m <- leaflet() %>%
     setView(lng = -71.0589, lat = 42.3601, zoom = 8) %>%
     addTiles()

m %>% addProviderTiles("NASAGIBS.ModisTerraBands367CR")

r - 美国国家航空航天局瓷砖与R中的传单-LMLPHP

最佳答案

您的最终结论是正确的:根据您请求图像的位置和请求时间,卫星可能已经或可能尚未获取图像。因此,您可能会得到一张实际的图像,或者只是一张空的图像。 (这在GIBS API documentation中也有说明。)

但是,您可以通过addProviderTiles()的“时间”选项指定要请求图像的日期。通过指定最近的日期,可以根据需要获取所有位置的非空图像。

这是语法:

> library(leaflet)
> library(magrittr)

> m <- leaflet() %>%
       setView(lng = 4.5, lat = 51, zoom = 1) %>%
       addTiles() %>%
       addProviderTiles("NASAGIBS.ModisTerraTrueColorCR",
                        options = providerTileOptions(time = "2015-08-31", opacity = 0.5))

> m

在撰写本文时(2015-08-31)我得到以下结果:

r - 美国国家航空航天局瓷砖与R中的传单-LMLPHP

在英格兰多云,谁能猜到呢?

大多数数据碰巧已经存在,但是阿拉斯加尚无图像。另一方面,如果我指定昨天的日期
options = providerTileOptions(time = "2015-08-30", opacity = 0.5)

我们得到完整的图像:

r - 美国国家航空航天局瓷砖与R中的传单-LMLPHP

最后,为什么
m %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR")

没有用,可能是因为有错字。它应该是
m %>% addProviderTiles("NASAGIBS.ModisTerraTrueColorCR")

关于r - 美国国家航空航天局瓷砖与R中的传单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32163722/

10-11 19:42