带有时间滑块的R Leaflet choroplete地图?

时间:2016-06-08 13:41:26

标签: r csv leaflet geojson choropleth

我使用R和Leaflet-for-R-package在等值线图中显示时间相关数据(7年)。因此,对于几何体使用kmz文件,对属性使用csv数据。到目前为止,我使用本教程尝试了2年的数据:

http://journocode.com/2016/01/28/your-first-choropleth-map/

在示例之后,我在教程中使用了我的数据而不是给定的数据。一切都很好。但是长期来说,我想加上我所有的 7年的数据,因此用(时间)滑块替换基于单选按钮的图层控件会很有用 - 根据年份更改叠加。

在stackoverflow的一个类似案例中,有人使用geojson文件作为几何,以便使用Leaflet的timeslider插件: Leaflet slider group by year

所以我还需要将我的geom数据更改为geojson吗? 这样做,我如何将我的csv数据链接到geojson并且R能够覆盖所有? 我希望你可以提出一些建议......

https://github.com/Pippo87/R-leaflet-choropleth

这是我的R脚本:

library(rgdal)
berlin <- readOGR("LOR-Planungsraeume.kml","LOR_Planungsraum", encoding="utf-8")
plot(berlin)


Auslaender2007 <- read.csv("LOR_Auslaender_2007.csv", encoding="latin1", sep=",", dec=".")
Auslaender2008 <- read.csv("LOR_Auslaender_2008.csv", encoding="latin1", sep=",", dec=".")

library(leaflet)

palette <- colorBin(c('#fef0d9',
                  '#fdd49e',
                  '#fdbb84',
                  '#fc8d59',
                  '#e34a33',
                  '#b30000'),
                Auslaender2008$ANTEIL, bins = 6, pretty=TRUE, alpha = TRUE)

popup2007 <- paste0("<strong>Auslaender 2007</strong></span>",
             "<br><strong>LOR </strong></span>", 
             Auslaender2007$LORNAME, 
             "<br><strong> Relativer Auslaenderanteil </strong></span>", 
             Auslaender2007$ANTEIL
             ,"<br><strong>Absoluter Auslaenderanteil</strong></span>", 
             Auslaender2007$AUSLAENDER)

popup2008 <- paste0("<strong>Auslaender 2007</strong></span>",
             "<br><strong>LOR </strong></span>", 
             Auslaender2008$LORNAME, 
             "<br><strong> Relativer Auslaenderanteil </strong></span>", 
             Auslaender2008$ANTEIL
             ,"<br><strong>Absoluter Auslaenderanteil</strong></span>", 
             Auslaender2008$AUSLAENDER)

mymap <- leaflet() %>% 
addProviderTiles("Esri.WorldGrayCanvas", options = tileOptions(minZoom=10, maxZoom=16)) %>% 

addPolygons(data = berlin, 
          fillColor = ~palette(Auslaender2007$ANTEIL),  
          fillOpacity = 1,         
          color = "darkgrey",       
          weight = 1.5,           
          group="<span style='font-size: 11pt'><strong>2007</strong></span>")%>%  

addPolygons(data = berlin, 
          fillColor = ~palette(Auslaender2008$ANTEIL), 
          fillOpacity = 1, 
          color = "darkgrey", 
          weight = 1.5, 
          popup = popup2008, 
          group="<span style='font-size: 11pt'><strong>2008</strong></span>")%>%

addLayersControl(
baseGroups = c("<span style='font-size: 11pt'><strong>2007</strong></span>", "<span style='font-size: 11pt'><strong>2008</strong></span>"),
options = layersControlOptions(collapsed = FALSE))%>% 

addLegend(position = 'topleft', pal = palette, values = Auslaender2008$ANTEIL, opacity = 1, title = "Relativer<br>Auslaenderanteil") 


print(mymap)

0 个答案:

没有答案