2015-08-23 28 views
10

Tôi muốn hỏi một số trợ giúp liên quan đến gói tờ rơi. Khi bạn vẽ một bản đồ tương tác, bạn có thể làm một cái gì đó như thế này.Gạch của NASA với tờ rơi trong R

library(leaflet) 
library(magrittr) 

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

m 

Nếu bạn muốn thêm lát xếp của bên thứ ba, bạn cũng có thể làm như vậy. Liên kết sau đây cung cấp các tùy chọn cho gạch của bên thứ ba (http://leaflet-extras.github.io/leaflet-providers/preview/index.html) Hình ảnh sau được tạo với OpenWeatherMap.Precipitation.

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

enter image description here

Một số tùy chọn gạch trong liên kết bao gồm gạch bởi NASA. Tôi muốn sử dụng một trong số họ. Vì vậy, tôi đã thử các mã sau đây. Không ai trong số họ không may làm việc.

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

Tùy chọn duy nhất hoạt động như sau.

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

enter image description here

nỗ lực tiếp theo của tôi là sử dụng mẫu URL tùy chỉnh với addTiles(). URL là từ liên kết ở trên. Nhưng, điều này cũng không thành công; không có thông báo lỗi nào xuất hiện, nhưng không có thay đổi về ô xếp.

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

Cố gắng cuối cùng của tôi là như sau. Điều này cho thấy bản đồ mặc định, nhưng một gạch bổ sung cũng không xuất hiện.

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

Câu hỏi của tôi là cho dù đây là một lỗi tiềm năng đặc biệt với gạch NASA. Ngoài ra, tôi cần bản sửa đổi nào trong các tập lệnh này? Trước tiên xin cảm ơn sự giúp đỡ của bạn.

CẬP NHẬT

Tôi tìm thấy một website trong đó sử dụng cùng một gạch NASA. Tôi đã chỉ định NASAGIBS.ModisTerraTRUEColorCR và có hình ảnh sau đây. Hình ảnh này cho thấy một thư đi từ Mỹ đến Thụy Điển như thế nào. Như bạn thấy, không có hình ảnh cho cả Mỹ và châu Âu. Tôi nghĩ rằng đây có thể là lý do tại sao tôi nhìn thấy một gạch đen. Tôi muốn biết liệu có ai biết một số chi tiết về gạch của NASA không. Tôi đã chọn khu vực mà tôi có thể nhìn thấy hình ảnh của NASA. Nhưng, tôi không có may mắn.

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

Hôm nay, tôi đã đưa ra một shot hơn. Tại thời điểm này, tôi quản lý để có được hình ảnh sau đây. Tôi thu nhỏ một chút khi tôi chụp. Trong UPDATE, tôi đã cung cấp một bản đồ mà bạn không thể thấy Hoa Kỳ và Châu Âu. Trong hình ảnh mới, bạn thấy Bờ biển phía Tây của Hoa Kỳ có màu đen. Với tất cả các quan sát, có vẻ như với tôi rằng người ta không thể có được hình ảnh của NASA về một địa điểm mọi lúc. Tùy thuộc vào thời điểm bạn hỏi gạch của NASA, bạn có thể/có thể không có hình ảnh bạn muốn.

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

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

enter image description here

Trả lời

6

kết luận cuối cùng của bạn là chính xác: tùy thuộc vào những gì vị trí bạn yêu cầu hình ảnh cho và vào thời gian yêu cầu, các vệ tinh có thể có hoặc chưa có mua lại hình ảnh. Vì vậy, bạn có thể nhận được một hình ảnh thực tế hoặc chỉ là một sản phẩm nào.(Điều này cũng được nêu trong số GIBS API documentation.)

Tuy nhiên, bạn có thể chỉ định ngày nào yêu cầu hình ảnh qua tùy chọn 'thời gian' cho addProviderTiles(). Bằng cách chỉ định một ngày trong quá khứ gần, bạn có thể nhận được các hình ảnh không trống cho tất cả các vị trí nếu đó là những gì bạn thích.

Đây là cú pháp:

> 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 

Tại thời điểm viết (2015/08/31) tôi nhận được kết quả này:

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

Đó là mây tại Anh, những người sẽ có đoán sao?

Hầu hết dữ liệu đều đã có sẵn nhưng chưa có hình ảnh nào cho Alaska. Nếu mặt khác, tôi chỉ định ngày hôm qua

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

chúng tôi nhận được hình ảnh đầy đủ:

Specified a date in the past. Imagery everywhere alreadycacquired.

Cuối cùng, lý do tại sao

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

không làm việc có lẽ vì lỗi đánh máy. Phải là

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

Cảm ơn bạn đã chọn tùy chọn này! Đây là một cái gì đó rất hữu ích để biết. :) – jazzurro

Các vấn đề liên quan