我想就传单包寻求帮助。绘制交互式 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")
链接中的某些平铺选项包括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")
我的下一个尝试是将自定义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")
更新2
今天,我又给了一个镜头。这时,我设法得到了以下图像。捕获时我将其缩小了一点。在
UPDATE
中,我提供了一张您看不到美国和欧洲的 map 。在新图像中,您会看到美国的西海岸是黑色的。考虑到所有观察结果,在我看来,人们可能并非一直都在获取某个位置的NASA图像。根据您询问NASA瓷砖的时间,您可能会/可能不会拥有想要的图像。m <- leaflet() %>%
setView(lng = -71.0589, lat = 42.3601, zoom = 8) %>%
addTiles()
m %>% addProviderTiles("NASAGIBS.ModisTerraBands367CR")
最佳答案
您的最终结论是正确的:根据您请求图像的位置和请求时间,卫星可能已经或可能尚未获取图像。因此,您可能会得到一张实际的图像,或者只是一张空的图像。 (这在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)我得到以下结果:
在英格兰多云,谁能猜到呢?
大多数数据碰巧已经存在,但是阿拉斯加尚无图像。另一方面,如果我指定昨天的日期
options = providerTileOptions(time = "2015-08-30", opacity = 0.5)
我们得到完整的图像:
最后,为什么
m %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR")
没有用,可能是因为有错字。它应该是
m %>% addProviderTiles("NASAGIBS.ModisTerraTrueColorCR")
关于r - 美国国家航空航天局瓷砖与R中的传单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32163722/