Polygons not getting plotted in leaflet r map since update









up vote
2
down vote

favorite












I have a shiny app that has a leaflet map in it with two different polygons. The leaflet map was working all good and fine until I updated my leaflet package to 2.0.1. Now when I run the app... the polygons aren't getting plotted and there are no errors being thrown at me. I have looked around and haven't found anything that fixes my problem. I would appreciate it if anyone can give me some guidance or point me in the right direction!



Link to access shapefiles:
https://drive.google.com/drive/folders/1bPHrAu6Wae1y5uiZCsSMtSi6Rja157bj?usp=sharing



Code:



library(shiny)
library(shinydashboard)
library(leaflet)
library(sf)
library(rmapshaper)
### Read in shapefiles ###
NJ_Map_Road<-st_read(getwd(),layer="2014_NJ_Integrated_Report_AU")
Impaired_HUCS<-st_read(getwd(),layer = "Impaired_HUCS_Shapefile")
### Change projection to work with leaflet ###
map_df <- st_transform(NJ_Map_Road, crs="+init=epsg:4326")
map_impaired_df<-st_transform(Impaired_HUCS,crs="+init=epsg:4326")
###########################################################################################
### simplify shapefiles ###
map_df<-ms_simplify(map_df)
map_impaired_df<-ms_simplify(map_impaired_df)
###########################################################################################
### This drop Z and M dimensions
good_map_df<- st_zm(map_df, drop = T, what = "ZM")
good_imp_map_df<- st_zm(map_impaired_df, drop = T, what = "ZM")
#################################################################

ui<- dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
box(width=12,leafletOutput("leaf"))))
### Server ###
server<- function(input,output,session)
### This creates interactive map ###
output$leaf<- renderLeaflet(
leaflet(options = leafletOptions(minZoom = 7))%>%
addTiles()%>%
addTiles(group = "OSM (default)") %>%
addProviderTiles(providers$OpenStreetMap.BlackAndWhite, group = "Grey") %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Satellite") %>%
setView(lng = -74.4 ,lat =40, zoom = 7)%>%
addPolygons(data= good_map_df,color = "#636060",weight = 1,smoothFactor = 1,
opacity = 0.5, fillOpacity = 0.1,group = "HUCs",fillColor = "white",
highlightOptions = highlightOptions(color = "blue",
weight = 2,bringToFront = TRUE))%>%

addPolygons(data = good_imp_map_df,color = "#F3161B",weight = 1,smoothFactor = 1,
opacity = 0.5, fillOpacity = 2,
group = "Impaired HUCs",
highlightOptions = highlightOptions(color = "blue",
weight = 2,bringToFront = TRUE),
label = ~ paste(HUC14TXT,AU_name),
layerId = ~ good_imp_map_df$AU_name)%>%
addLayersControl(
baseGroups = c("OSM (default)", "Grey", "Satellite"),
overlayGroups = c("HUCs","Impaired HUCs"),
options = layersControlOptions(collapsed = FALSE))%>%
addLegend("bottomright",colors = c("#636060","#F3161B"),opacity = 2,
labels = c("HUC14s","Impaired HUCs"))
)
###########################################################################################
### Allows user to have map zoomed in when impaired HUC is clicked ###
observe(
click <- input$leaf_shape_click
if(is.null(click))
return()
else
leafletProxy("leaf")%>%
setView(lng = click$lng , lat = click$lat, zoom=10)
)



shinyApp(ui,server)









share|improve this question























  • Can someone please help me !!! I have been trying to figure this out for days !!!
    – KWANGER
    Nov 10 at 14:16










  • this may be related: github.com/r-spatial/sf/issues/880#issuecomment-435304536
    – lbusett
    Nov 10 at 19:12














up vote
2
down vote

favorite












I have a shiny app that has a leaflet map in it with two different polygons. The leaflet map was working all good and fine until I updated my leaflet package to 2.0.1. Now when I run the app... the polygons aren't getting plotted and there are no errors being thrown at me. I have looked around and haven't found anything that fixes my problem. I would appreciate it if anyone can give me some guidance or point me in the right direction!



Link to access shapefiles:
https://drive.google.com/drive/folders/1bPHrAu6Wae1y5uiZCsSMtSi6Rja157bj?usp=sharing



Code:



library(shiny)
library(shinydashboard)
library(leaflet)
library(sf)
library(rmapshaper)
### Read in shapefiles ###
NJ_Map_Road<-st_read(getwd(),layer="2014_NJ_Integrated_Report_AU")
Impaired_HUCS<-st_read(getwd(),layer = "Impaired_HUCS_Shapefile")
### Change projection to work with leaflet ###
map_df <- st_transform(NJ_Map_Road, crs="+init=epsg:4326")
map_impaired_df<-st_transform(Impaired_HUCS,crs="+init=epsg:4326")
###########################################################################################
### simplify shapefiles ###
map_df<-ms_simplify(map_df)
map_impaired_df<-ms_simplify(map_impaired_df)
###########################################################################################
### This drop Z and M dimensions
good_map_df<- st_zm(map_df, drop = T, what = "ZM")
good_imp_map_df<- st_zm(map_impaired_df, drop = T, what = "ZM")
#################################################################

ui<- dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
box(width=12,leafletOutput("leaf"))))
### Server ###
server<- function(input,output,session)
### This creates interactive map ###
output$leaf<- renderLeaflet(
leaflet(options = leafletOptions(minZoom = 7))%>%
addTiles()%>%
addTiles(group = "OSM (default)") %>%
addProviderTiles(providers$OpenStreetMap.BlackAndWhite, group = "Grey") %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Satellite") %>%
setView(lng = -74.4 ,lat =40, zoom = 7)%>%
addPolygons(data= good_map_df,color = "#636060",weight = 1,smoothFactor = 1,
opacity = 0.5, fillOpacity = 0.1,group = "HUCs",fillColor = "white",
highlightOptions = highlightOptions(color = "blue",
weight = 2,bringToFront = TRUE))%>%

addPolygons(data = good_imp_map_df,color = "#F3161B",weight = 1,smoothFactor = 1,
opacity = 0.5, fillOpacity = 2,
group = "Impaired HUCs",
highlightOptions = highlightOptions(color = "blue",
weight = 2,bringToFront = TRUE),
label = ~ paste(HUC14TXT,AU_name),
layerId = ~ good_imp_map_df$AU_name)%>%
addLayersControl(
baseGroups = c("OSM (default)", "Grey", "Satellite"),
overlayGroups = c("HUCs","Impaired HUCs"),
options = layersControlOptions(collapsed = FALSE))%>%
addLegend("bottomright",colors = c("#636060","#F3161B"),opacity = 2,
labels = c("HUC14s","Impaired HUCs"))
)
###########################################################################################
### Allows user to have map zoomed in when impaired HUC is clicked ###
observe(
click <- input$leaf_shape_click
if(is.null(click))
return()
else
leafletProxy("leaf")%>%
setView(lng = click$lng , lat = click$lat, zoom=10)
)



shinyApp(ui,server)









share|improve this question























  • Can someone please help me !!! I have been trying to figure this out for days !!!
    – KWANGER
    Nov 10 at 14:16










  • this may be related: github.com/r-spatial/sf/issues/880#issuecomment-435304536
    – lbusett
    Nov 10 at 19:12












up vote
2
down vote

favorite









up vote
2
down vote

favorite











I have a shiny app that has a leaflet map in it with two different polygons. The leaflet map was working all good and fine until I updated my leaflet package to 2.0.1. Now when I run the app... the polygons aren't getting plotted and there are no errors being thrown at me. I have looked around and haven't found anything that fixes my problem. I would appreciate it if anyone can give me some guidance or point me in the right direction!



Link to access shapefiles:
https://drive.google.com/drive/folders/1bPHrAu6Wae1y5uiZCsSMtSi6Rja157bj?usp=sharing



Code:



library(shiny)
library(shinydashboard)
library(leaflet)
library(sf)
library(rmapshaper)
### Read in shapefiles ###
NJ_Map_Road<-st_read(getwd(),layer="2014_NJ_Integrated_Report_AU")
Impaired_HUCS<-st_read(getwd(),layer = "Impaired_HUCS_Shapefile")
### Change projection to work with leaflet ###
map_df <- st_transform(NJ_Map_Road, crs="+init=epsg:4326")
map_impaired_df<-st_transform(Impaired_HUCS,crs="+init=epsg:4326")
###########################################################################################
### simplify shapefiles ###
map_df<-ms_simplify(map_df)
map_impaired_df<-ms_simplify(map_impaired_df)
###########################################################################################
### This drop Z and M dimensions
good_map_df<- st_zm(map_df, drop = T, what = "ZM")
good_imp_map_df<- st_zm(map_impaired_df, drop = T, what = "ZM")
#################################################################

ui<- dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
box(width=12,leafletOutput("leaf"))))
### Server ###
server<- function(input,output,session)
### This creates interactive map ###
output$leaf<- renderLeaflet(
leaflet(options = leafletOptions(minZoom = 7))%>%
addTiles()%>%
addTiles(group = "OSM (default)") %>%
addProviderTiles(providers$OpenStreetMap.BlackAndWhite, group = "Grey") %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Satellite") %>%
setView(lng = -74.4 ,lat =40, zoom = 7)%>%
addPolygons(data= good_map_df,color = "#636060",weight = 1,smoothFactor = 1,
opacity = 0.5, fillOpacity = 0.1,group = "HUCs",fillColor = "white",
highlightOptions = highlightOptions(color = "blue",
weight = 2,bringToFront = TRUE))%>%

addPolygons(data = good_imp_map_df,color = "#F3161B",weight = 1,smoothFactor = 1,
opacity = 0.5, fillOpacity = 2,
group = "Impaired HUCs",
highlightOptions = highlightOptions(color = "blue",
weight = 2,bringToFront = TRUE),
label = ~ paste(HUC14TXT,AU_name),
layerId = ~ good_imp_map_df$AU_name)%>%
addLayersControl(
baseGroups = c("OSM (default)", "Grey", "Satellite"),
overlayGroups = c("HUCs","Impaired HUCs"),
options = layersControlOptions(collapsed = FALSE))%>%
addLegend("bottomright",colors = c("#636060","#F3161B"),opacity = 2,
labels = c("HUC14s","Impaired HUCs"))
)
###########################################################################################
### Allows user to have map zoomed in when impaired HUC is clicked ###
observe(
click <- input$leaf_shape_click
if(is.null(click))
return()
else
leafletProxy("leaf")%>%
setView(lng = click$lng , lat = click$lat, zoom=10)
)



shinyApp(ui,server)









share|improve this question















I have a shiny app that has a leaflet map in it with two different polygons. The leaflet map was working all good and fine until I updated my leaflet package to 2.0.1. Now when I run the app... the polygons aren't getting plotted and there are no errors being thrown at me. I have looked around and haven't found anything that fixes my problem. I would appreciate it if anyone can give me some guidance or point me in the right direction!



Link to access shapefiles:
https://drive.google.com/drive/folders/1bPHrAu6Wae1y5uiZCsSMtSi6Rja157bj?usp=sharing



Code:



library(shiny)
library(shinydashboard)
library(leaflet)
library(sf)
library(rmapshaper)
### Read in shapefiles ###
NJ_Map_Road<-st_read(getwd(),layer="2014_NJ_Integrated_Report_AU")
Impaired_HUCS<-st_read(getwd(),layer = "Impaired_HUCS_Shapefile")
### Change projection to work with leaflet ###
map_df <- st_transform(NJ_Map_Road, crs="+init=epsg:4326")
map_impaired_df<-st_transform(Impaired_HUCS,crs="+init=epsg:4326")
###########################################################################################
### simplify shapefiles ###
map_df<-ms_simplify(map_df)
map_impaired_df<-ms_simplify(map_impaired_df)
###########################################################################################
### This drop Z and M dimensions
good_map_df<- st_zm(map_df, drop = T, what = "ZM")
good_imp_map_df<- st_zm(map_impaired_df, drop = T, what = "ZM")
#################################################################

ui<- dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
box(width=12,leafletOutput("leaf"))))
### Server ###
server<- function(input,output,session)
### This creates interactive map ###
output$leaf<- renderLeaflet(
leaflet(options = leafletOptions(minZoom = 7))%>%
addTiles()%>%
addTiles(group = "OSM (default)") %>%
addProviderTiles(providers$OpenStreetMap.BlackAndWhite, group = "Grey") %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Satellite") %>%
setView(lng = -74.4 ,lat =40, zoom = 7)%>%
addPolygons(data= good_map_df,color = "#636060",weight = 1,smoothFactor = 1,
opacity = 0.5, fillOpacity = 0.1,group = "HUCs",fillColor = "white",
highlightOptions = highlightOptions(color = "blue",
weight = 2,bringToFront = TRUE))%>%

addPolygons(data = good_imp_map_df,color = "#F3161B",weight = 1,smoothFactor = 1,
opacity = 0.5, fillOpacity = 2,
group = "Impaired HUCs",
highlightOptions = highlightOptions(color = "blue",
weight = 2,bringToFront = TRUE),
label = ~ paste(HUC14TXT,AU_name),
layerId = ~ good_imp_map_df$AU_name)%>%
addLayersControl(
baseGroups = c("OSM (default)", "Grey", "Satellite"),
overlayGroups = c("HUCs","Impaired HUCs"),
options = layersControlOptions(collapsed = FALSE))%>%
addLegend("bottomright",colors = c("#636060","#F3161B"),opacity = 2,
labels = c("HUC14s","Impaired HUCs"))
)
###########################################################################################
### Allows user to have map zoomed in when impaired HUC is clicked ###
observe(
click <- input$leaf_shape_click
if(is.null(click))
return()
else
leafletProxy("leaf")%>%
setView(lng = click$lng , lat = click$lat, zoom=10)
)



shinyApp(ui,server)






r shiny leaflet shinydashboard sf






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 9 at 14:09

























asked Nov 9 at 14:04









KWANGER

1579




1579











  • Can someone please help me !!! I have been trying to figure this out for days !!!
    – KWANGER
    Nov 10 at 14:16










  • this may be related: github.com/r-spatial/sf/issues/880#issuecomment-435304536
    – lbusett
    Nov 10 at 19:12
















  • Can someone please help me !!! I have been trying to figure this out for days !!!
    – KWANGER
    Nov 10 at 14:16










  • this may be related: github.com/r-spatial/sf/issues/880#issuecomment-435304536
    – lbusett
    Nov 10 at 19:12















Can someone please help me !!! I have been trying to figure this out for days !!!
– KWANGER
Nov 10 at 14:16




Can someone please help me !!! I have been trying to figure this out for days !!!
– KWANGER
Nov 10 at 14:16












this may be related: github.com/r-spatial/sf/issues/880#issuecomment-435304536
– lbusett
Nov 10 at 19:12




this may be related: github.com/r-spatial/sf/issues/880#issuecomment-435304536
– lbusett
Nov 10 at 19:12












1 Answer
1






active

oldest

votes

















up vote
2
down vote



accepted










Digging a bit more, the problem seems related to the fact that ms_simplify() adds names to the geometry column:



polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>% 
st_transform(crs="+init=epsg:4326") %>%
ms_simplify(.)

names(st_geometry(polys_sf))

[1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25"
[27] "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51"
[53] "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77"
[79] "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98" "99"


as suggested in https://github.com/r-spatial/sf/issues/880#issuecomment-435304536, removing the names will solve the issue. Therefore, this works:



library(shiny)
library(shinydashboard)
library(leaflet)
library(sf)
library(rmapshaper)
### Read in shapefiles ###
polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>%
st_transform(crs="+init=epsg:4326") %>%
ms_simplify(.)

names(st_geometry(polys_sf)) = NULL

ui<- dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
box(width=12,leafletOutput("leaf"))))
### Server ###
server<- function(input,output,session)
### This creates interactive map ###
output$leaf<- renderLeaflet(
leaflet(options = leafletOptions(minZoom = 7))%>%
addPolygons(data= polys_sf)
)


shinyApp(ui,server)


, while if you comment out the names(st_geometry(polys_sf)) = NULL line the polygons are not shown.



HTH!



(BTW, as a sidenote/suggestion: building a minimal reproducible example based on "test" datasets available in "R" packages can help both in pinpointing the problem and in allowing others to easily reproduce/understand it.






share|improve this answer




















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













     

    draft saved


    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53227205%2fpolygons-not-getting-plotted-in-leaflet-r-map-since-update%23new-answer', 'question_page');

    );

    Post as a guest






























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    2
    down vote



    accepted










    Digging a bit more, the problem seems related to the fact that ms_simplify() adds names to the geometry column:



    polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>% 
    st_transform(crs="+init=epsg:4326") %>%
    ms_simplify(.)

    names(st_geometry(polys_sf))

    [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25"
    [27] "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51"
    [53] "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77"
    [79] "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98" "99"


    as suggested in https://github.com/r-spatial/sf/issues/880#issuecomment-435304536, removing the names will solve the issue. Therefore, this works:



    library(shiny)
    library(shinydashboard)
    library(leaflet)
    library(sf)
    library(rmapshaper)
    ### Read in shapefiles ###
    polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>%
    st_transform(crs="+init=epsg:4326") %>%
    ms_simplify(.)

    names(st_geometry(polys_sf)) = NULL

    ui<- dashboardPage(
    header = dashboardHeader(),
    sidebar = dashboardSidebar(),
    body = dashboardBody(
    box(width=12,leafletOutput("leaf"))))
    ### Server ###
    server<- function(input,output,session)
    ### This creates interactive map ###
    output$leaf<- renderLeaflet(
    leaflet(options = leafletOptions(minZoom = 7))%>%
    addPolygons(data= polys_sf)
    )


    shinyApp(ui,server)


    , while if you comment out the names(st_geometry(polys_sf)) = NULL line the polygons are not shown.



    HTH!



    (BTW, as a sidenote/suggestion: building a minimal reproducible example based on "test" datasets available in "R" packages can help both in pinpointing the problem and in allowing others to easily reproduce/understand it.






    share|improve this answer
























      up vote
      2
      down vote



      accepted










      Digging a bit more, the problem seems related to the fact that ms_simplify() adds names to the geometry column:



      polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>% 
      st_transform(crs="+init=epsg:4326") %>%
      ms_simplify(.)

      names(st_geometry(polys_sf))

      [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25"
      [27] "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51"
      [53] "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77"
      [79] "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98" "99"


      as suggested in https://github.com/r-spatial/sf/issues/880#issuecomment-435304536, removing the names will solve the issue. Therefore, this works:



      library(shiny)
      library(shinydashboard)
      library(leaflet)
      library(sf)
      library(rmapshaper)
      ### Read in shapefiles ###
      polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>%
      st_transform(crs="+init=epsg:4326") %>%
      ms_simplify(.)

      names(st_geometry(polys_sf)) = NULL

      ui<- dashboardPage(
      header = dashboardHeader(),
      sidebar = dashboardSidebar(),
      body = dashboardBody(
      box(width=12,leafletOutput("leaf"))))
      ### Server ###
      server<- function(input,output,session)
      ### This creates interactive map ###
      output$leaf<- renderLeaflet(
      leaflet(options = leafletOptions(minZoom = 7))%>%
      addPolygons(data= polys_sf)
      )


      shinyApp(ui,server)


      , while if you comment out the names(st_geometry(polys_sf)) = NULL line the polygons are not shown.



      HTH!



      (BTW, as a sidenote/suggestion: building a minimal reproducible example based on "test" datasets available in "R" packages can help both in pinpointing the problem and in allowing others to easily reproduce/understand it.






      share|improve this answer






















        up vote
        2
        down vote



        accepted







        up vote
        2
        down vote



        accepted






        Digging a bit more, the problem seems related to the fact that ms_simplify() adds names to the geometry column:



        polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>% 
        st_transform(crs="+init=epsg:4326") %>%
        ms_simplify(.)

        names(st_geometry(polys_sf))

        [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25"
        [27] "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51"
        [53] "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77"
        [79] "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98" "99"


        as suggested in https://github.com/r-spatial/sf/issues/880#issuecomment-435304536, removing the names will solve the issue. Therefore, this works:



        library(shiny)
        library(shinydashboard)
        library(leaflet)
        library(sf)
        library(rmapshaper)
        ### Read in shapefiles ###
        polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>%
        st_transform(crs="+init=epsg:4326") %>%
        ms_simplify(.)

        names(st_geometry(polys_sf)) = NULL

        ui<- dashboardPage(
        header = dashboardHeader(),
        sidebar = dashboardSidebar(),
        body = dashboardBody(
        box(width=12,leafletOutput("leaf"))))
        ### Server ###
        server<- function(input,output,session)
        ### This creates interactive map ###
        output$leaf<- renderLeaflet(
        leaflet(options = leafletOptions(minZoom = 7))%>%
        addPolygons(data= polys_sf)
        )


        shinyApp(ui,server)


        , while if you comment out the names(st_geometry(polys_sf)) = NULL line the polygons are not shown.



        HTH!



        (BTW, as a sidenote/suggestion: building a minimal reproducible example based on "test" datasets available in "R" packages can help both in pinpointing the problem and in allowing others to easily reproduce/understand it.






        share|improve this answer












        Digging a bit more, the problem seems related to the fact that ms_simplify() adds names to the geometry column:



        polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>% 
        st_transform(crs="+init=epsg:4326") %>%
        ms_simplify(.)

        names(st_geometry(polys_sf))

        [1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25"
        [27] "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51"
        [53] "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77"
        [79] "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98" "99"


        as suggested in https://github.com/r-spatial/sf/issues/880#issuecomment-435304536, removing the names will solve the issue. Therefore, this works:



        library(shiny)
        library(shinydashboard)
        library(leaflet)
        library(sf)
        library(rmapshaper)
        ### Read in shapefiles ###
        polys_sf<-st_read(system.file("shape/nc.shp", package="sf") ) %>%
        st_transform(crs="+init=epsg:4326") %>%
        ms_simplify(.)

        names(st_geometry(polys_sf)) = NULL

        ui<- dashboardPage(
        header = dashboardHeader(),
        sidebar = dashboardSidebar(),
        body = dashboardBody(
        box(width=12,leafletOutput("leaf"))))
        ### Server ###
        server<- function(input,output,session)
        ### This creates interactive map ###
        output$leaf<- renderLeaflet(
        leaflet(options = leafletOptions(minZoom = 7))%>%
        addPolygons(data= polys_sf)
        )


        shinyApp(ui,server)


        , while if you comment out the names(st_geometry(polys_sf)) = NULL line the polygons are not shown.



        HTH!



        (BTW, as a sidenote/suggestion: building a minimal reproducible example based on "test" datasets available in "R" packages can help both in pinpointing the problem and in allowing others to easily reproduce/understand it.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 10 at 21:24









        lbusett

        2,95921327




        2,95921327



























             

            draft saved


            draft discarded















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53227205%2fpolygons-not-getting-plotted-in-leaflet-r-map-since-update%23new-answer', 'question_page');

            );

            Post as a guest














































































            Popular posts from this blog

            Kleinkühnau

            Makov (Slowakei)

            Peter Parker: The Spectacular Spider-Man #308