2016-11-09 68 views
0

我有一個非常小的SpatialLinesDataFrame,我需要與LeafletR單張折線不顯示

不幸的是,由於某種原因,我無法這樣做。 This是數據(它是12KB)。

我嘗試這樣做:

library(leaflet) 
load("mylines.Rdata") 
leaflet() %>% addTiles() %>% addPolylines(data=mylines) 

但是生成的地圖沒有什麼意義,我只能看到在屏幕上方一條線,這不是什麼應該被繪製。 這是結果: enter image description here

相反,如果我做的:

library(mapview) 
mapview(mylines) 

結果: enter image description here 它完美,儘管使用mapviewleaflet下方。 我在Leaflet語法中做錯了什麼?

+0

你可以發佈一個屏幕截圖:「屏幕頂部的行」是什麼樣的?縮小地圖時會發生什麼? – IvanSanchez

+0

@IvanSanchez完成後,我添加了兩個截圖來說明問題。謝謝參觀! – AF7

+0

是的,當點的緯度大於〜85.5度時(因爲地圖投影不是微不足道的),看起來像是一個神器。我無法閱讀'.rdata'文件,所以我希望在R方面有更多知識的人可以仔細看看你的文件,並檢查你的數據的緯度是否合理。 – IvanSanchez

回答

1

我用來與leaflet提供raster s工作,所以通常使用addRasterImage功能,這需要投射過來leaflet的顯示器投影(EPSG:3857)的數據。但是,對於多邊形和線條,正如@TimSalabim正確指出的那樣,情況並非如此。

因此,這種情況下的解決方案是不預先將數據重投影到leaflet投影,並以經緯度座標(EPSG:4326)提供。

mapview因爲它自動執行此操作而工作。