2015-08-23 60 views
10

我想问一些关于传单包的帮助。当你绘制交互式地图时,你可以做这样的事情。美国国家航空航天局瓷砖与传单在R

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

一些链接中的瓷砖的选择包括由美国航空航天局的瓷砖。我想用其中之一。所以我尝试了下面的代码。他们都不幸工作。

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

我的问题是这是否是一个潜在的错误,特别是美国宇航局的瓦片。或者,我需要在这些脚本中进行哪些修订?提前谢谢你的帮助。

UPDATE

我发现了一个website它使用相同的瓷砖美国航空航天局。我指定了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") 

enter image description here

更新2

今天,我给多一枪。此时,我设法得到以下图像。当我抓住它时,我缩小了一些。在UPDATE中,我提供了一张你无法看到美国和欧洲的地图。在新形象中,你看到美国的西海岸是黑色的。考虑到所有的观察结果,在我看来,人们可能无法一直获得NASA的位置图像。根据你询问美国宇航局的瓦片,你可能会/可能没有你想要的图像。

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

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

enter image description here

回答

6

你最后的结论是正确的:这取决于你要求什么位置的图像并在要求时,该卫星可能会或可能还没有采集的图像。所以你可能会得到一个真实的图像或只是一个空的。(这也在GIBS API documentation中说明。)

但是,您可以通过addProviderTiles()的'time'选项指定要求图像的日期。通过指定过去的日期,如果您喜欢,您可以为所有位置获取非空的图像。

这是语法:

> 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年8月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") 
+0

感谢您的这个时间选项!这是非常有用的知道。 :) – jazzurro

相关问题