2017-05-08 56 views
1

我正在繪製整個美國每個縣的ACS數據(低收入兒童數)。我沒有任何標記,只有一個縣的shapefile和每個縣在不同層次的6個值。使用包含大量數據的傳單 - 美國所有縣的ACS數據

不出所料,這對瀏覽器來說太大了。我在這裏看到了一些與聚類有關的類似問題,但由於我沒有任何關於聚類的問題,所以我開始提出一個新問題。

我試過把它分解成6個區域地圖,但是即使那些太多了。

有沒有辦法降低佔地面積,但仍然有所有縣的具體數據?

我已經看過tilemill和其他選項僅用於加載用戶當前正在查看的數據並基於縮放級別,但我找不到任何有關如何從R生成的小冊子地圖到某些東西的信息像那樣。使用此路線的替代方案也很有用。

+1

我假設'縣shapefile'你的意思是多邊形數據?如何閱讀這些圖層並將它們合併爲一個(假設幾何圖形在整個圖層中是恆定的)。如果這還不夠,可以嘗試使用[rmapshaper包](https://github.com/ateucher/rmapshaper)來簡化多邊形,然後嘗試用[mapview](https://github.com/)對其進行可視化R-空間/ MapView類)。前者將幫助擺脫「不必要的」多邊形頂點,而後者具有專用的功能以使大量數據的小葉渲染(根據複雜性,大約有100k個特徵)。 – TimSalabim

+0

當我向地圖添加6層時,您是否建議傳單製作6個多邊形副本?你是正確的,每個圖層中的幾何圖形都是一樣的。唯一的區別取決於正在查看的圖層是popup和fillColor。如果是這樣的話,我感到驚訝的是傳單效率太低。看着'addPolgygons'函數,我沒有看到一種明顯的方法來從幾何中分離數據。任何人都可以建議如何改變傳單中的這種行爲? – jzadra

+0

傳單不會執行任何操作,但會在地圖上呈現您的數據。決定處理多少層的步驟是'rgdal :: readOGR'或'sf :: st_read'部分。當你說6層時,我假設6層(每層都有自己的幾何圖形)。如果您指的是具有6個屬性表列的圖層,則只需要一次幾何圖形。 – TimSalabim

回答

2

您可以嘗試使用rmapshaper package來簡化多邊形,然後嘗試用mapview將其可視化。前者將幫助擺脫「不必要的」多邊形頂點,而後者具有專用的功能以使大量數據的小葉渲染(根據複雜性,大約有100k個特徵)。

+0

rmapshaper做到了!我不需要使用mapview。我使用了rmapshaper :: ms_simplify(mydata),其中mydata是從Geo_join()生成的Large SpatialPolygonsDataFrame() – jzadra

1

您也可以考慮底格里斯河包,它可以讓你R內部直接訪問低分辨率縣shape文件:

library(tigris) 
library(leaflet) 

cty <- counties(cb = TRUE, resolution = "20m") 

leaflet(cty) %>% addTiles() %>% addPolygons() 

這應該讓你的單張地圖,瀏覽器內的多邊形表現良好是預先簡化的,如果你選擇去這條路線。

+0

如果shapefile來自底格里斯(或者可以通過這種方式獲得),這絕對是更好的解決方案,因爲它提供了相同的結果,不需要經過大數據幀的中間步驟和大量的處理時間來減少它們(即使用rmapshaper :: ms_simplify的方法),就可以更好地控制分辨率。 – jzadra

相關問題