我想请一些关于传单包的帮助。当您绘制交互式地图时,您可以执行以下操作。
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")
链接中的一些图块选项包括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")
我的下一次尝试是将自定义网址模板与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))
我的最后一次尝试如下。这显示了默认地图,但是没有出现额外的图块。
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图像的区域。但是,我没有运气。
### I expected to see Japan area this time.
foo <- leaflet() %>%
setView(lng = 137.37, lat = 35.93, zoom = 5) %>%
addTiles()
foo %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR")
更新2
今天,我再拍了一次。此时,我设法得到以下图像。当我抓住它时,我缩小了一点。在UPDATE
中,我提供了一张您无法看到美国和欧洲的地图。在新图像中,您看到美国西海岸是黑色的。鉴于所有观察结果,在我看来,人们似乎无法一直获得NASA的位置图像。根据您询问NASA瓷砖的时间,您可能/可能没有您想要的图像。
m <- leaflet() %>%
setView(lng = -71.0589, lat = 42.3601, zoom = 8) %>%
addTiles()
m %>% addProviderTiles("NASAGIBS.ModisTerraBands367CR")
答案 0 :(得分:6)
您的最终结论是正确的:根据您请求图像的位置以及请求时间,卫星可能已经或可能尚未获取图像。所以你可能得到一个实际的图像或只是一个空的图像。 (这也在GIBS API documentation中说明。)
但是,您可以通过&#39; time&#39;指定请求图片的日期。 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),我得到了这个结果:
在英格兰是多云,谁会想到?
大多数数据已经存在,但阿拉斯加还没有图像。另一方面,如果我指定昨天的日期
options = providerTileOptions(time = "2015-08-30", opacity = 0.5)
我们得到完整的图片:
最后,之所以
m %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR")
没有工作可能是因为拼写错误。它应该是
m %>% addProviderTiles("NASAGIBS.ModisTerraTrueColorCR")