Плиты НАСА с лифтом в 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")
![введите описание изображения здесь]()
Некоторые из параметров плитки в ссылке включают плитки 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))
Моя последняя попытка состояла в следующем. Это показало карту по умолчанию, но дополнительная плитка тоже не появилась.
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. В качестве альтернативы, какая ревизия мне нужна в этих сценариях? Благодарим вас за помощь.
ОБНОВЛЕНИЕ
Я нашел веб-сайт , в котором используются те же фрагменты 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")
![введите описание изображения здесь]()
Ответы
Ответ 1
Ваш окончательный вывод верен: в зависимости от того, какое место вы запрашиваете для изображений и во время запроса, спутник может или не может получить изображение. Таким образом, вы можете получить фактическое изображение или просто пустую. (Это также указано в документации API GIBS.)
Однако вы можете указать, в какой день запросить изображение, используя опцию 'time' для 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)
мы получаем полное изображение:
![Указана дата в прошлом. Изображения везде alreadycacired.]()
Наконец, причина, по которой
m %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR")
не работает, вероятно, из-за опечатки. Это должно быть
m %>% addProviderTiles("NASAGIBS.ModisTerraTRUEColorCR")