美国宇航局瓷砖与R的传单

时间:2015-08-23 06:07:43

标签: r leaflet

我想请一些关于传单包的帮助。当您绘制交互式地图时,您可以执行以下操作。

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")

enter image description here

链接中的一些图块选项包括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")

enter image description here

我的下一次尝试是将自定义网址模板与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")

enter image description here

更新2

今天,我再拍了一次。此时,我设法得到以下图像。当我抓住它时,我缩小了一点。在UPDATE中,我提供了一张您无法看到美国和欧洲的地图。在新图像中,您看到美国西海岸是黑色的。鉴于所有观察结果,在我看来,人们似乎无法一直获得NASA的位置图像。根据您询问NASA瓷砖的时间,您可能/可能没有您想要的图像。

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

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

enter image description here

1 个答案:

答案 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),我得到了这个结果:

Specified today's date (or no date). Some images are not yet acquired.

在英格兰是多云,谁会想到?

大多数数据已经存在,但阿拉斯加还没有图像。另一方面,如果我指定昨天的日期

options = providerTileOptions(time = "2015-08-30", opacity = 0.5)

我们得到完整的图片:

Specified a date in the past. Imagery everywhere alreadycacquired.

最后,之所以

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

没有工作可能是因为拼写错误。它应该是

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