0

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

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

按照示例,我使用了我的数据而不是教程中给定的数据。一切正常。但从长远来看,我想添加我所有 7 年的数据,因此将基于单选按钮的图层控件替换为(时间)滑块会很有用 - 根据年份更改叠加层。

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

那么我是否也需要将我的 geom 数据更改为 geojson ?这样做,我如何将我的 csv-data 链接到 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)
4

0 回答 0