2015-08-23 15 views
10

Ich würde gerne etwas Hilfe in Bezug auf die Broschüre Paket fragen. Wenn Sie eine interaktive Karte zeichnen, können Sie so etwas tun.NASA Fliesen mit Prospekt in R

library(leaflet) 
library(magrittr) 

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

m 

Wenn Sie eine Kachel von Drittanbietern hinzufügen möchten, können Sie das auch tun. Der folgende Link bietet Optionen für Kacheln von Drittanbietern (http://leaflet-extras.github.io/leaflet-providers/preview/index.html). Das folgende Bild wird mit OpenWeatherMap.Precipitation erstellt.

### They work 
m %>% addProviderTiles("MtbMap") 
m %>% addProviderTiles("HikeBike.HikeBike") 
m %>% addProviderTiles("OpenWeatherMap.Precipitation") 

enter image description here

Einige der Kachel-Optionen in der Verbindung sind Fliesen von der NASA. Ich wollte einen von ihnen benutzen. Also habe ich die folgenden Codes ausprobiert. Keiner von ihnen hat leider funktioniert.

### The default map appears, then a black layer appears on top of the default layer. 
m %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR") 
m %>% addProviderTiles("NASAGIBS.ModisTerraBands367CR") 

Die einzige Option, die funktioniert, ist die folgende.

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

enter image description here

Mein nächster Versuch war mit addTiles() benutzerdefinierten URL-Vorlage zu verwenden. Die URL stammt vom obigen Link. Aber das war auch nicht erfolgreich; Es wurde keine Fehlermeldung angezeigt, aber keine Änderung in der Kachel.

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

Mein letzter Versuch war folgender. Dies zeigte die Standardkarte, aber eine zusätzliche Kachel wurde ebenfalls nicht angezeigt.

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

Meine Frage ist, ob dies ein potenzieller Fehler speziell mit NASA-Kacheln ist. Oder welche Revision brauche ich in diesen Skripten? Danke im Voraus für Ihre Hilfe.

UPDATE

fand ich eine website die gleiche NASA Fliesen verwendet. Ich spezifizierte NASAGIBS.ModisTerraTRUEColorCR und erhielt das folgende Bild. Das Bild zeigt, wie eine Post von den USA nach Schweden reiste. Wie Sie sehen, gibt es kein Bild für die USA und Europa. Ich denke, das könnte der Grund sein, warum ich eine schwarze Kachel gesehen habe. Ich würde gerne wissen, ob jemand irgendwelche Details von NASA-Fliesen kennt. Ich wählte das Gebiet aus, in dem ich das NASA-Bild sehen kann. Aber ich hatte kein Glück.

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

UPDATE 2

Heute habe ich einen weiteren Schuss. In diesem Moment gelang es mir, das folgende Bild zu bekommen. Ich habe ein bisschen gezoomt, als ich es gefangen habe. In UPDATE stellte ich eine Karte zur Verfügung, die Sie die USA und Europa nicht sehen können. In dem neuen Bild sieht man die Westküste der Staaten in Schwarz. Angesichts aller Beobachtungen scheint es mir, dass man die NASA-Bilder eines Ortes nicht ständig bekommen kann. Je nachdem, wann Sie NASA-Kacheln fragen, haben Sie möglicherweise ein Bild, das Sie haben möchten.

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

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

enter image description here

Antwort

6

Ihre Schlussfolgerung ist richtig: je nachdem, welche Position Sie anfordern Bilder für und über die Zeit der Anforderung kann der Satellit oder noch nicht das Bild erworben haben. So können Sie ein tatsächliches Bild oder nur ein leeres Bild erhalten.(Dies wird auch in der GIBS API documentation angegeben.)

Sie können jedoch festlegen, an welchem ​​Tag das Bild über die Option 'time' für addProviderTiles() angefordert werden soll. Wenn Sie ein Datum in der nahen Vergangenheit angeben, können Sie nicht leere Bilder für alle Standorte erhalten, wenn Sie dies bevorzugen.

Dies ist die Syntax:

> 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 

Zum Zeitpunkt des Schreibens (2015.08.31) bekomme ich dieses Ergebnis:

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

Es ist bewölkt in England, der hätte erraten?

Die meisten Daten sind schon da, aber es gibt noch keine Bilder für Alaska. Wenn auf der anderen Seite, ich die gestrige Datum

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

bekommen wir das ganze Bild angeben:

Specified a date in the past. Imagery everywhere alreadycacquired.

schließlich der Grund, warum

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

Arbeit nicht wahrscheinlich war wegen eines Tippfehlers. Es sollte

sein
m %>% addProviderTiles("NASAGIBS.ModisTerraTrueColorCR") 
+0

Danke für diese Zeitoption! Das ist etwas sehr hilfreiches zu wissen. :) – jazzurro