Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Shining R中重新加载传单地图_R_Shiny_Leaflet_R Leaflet - Fatal编程技术网

如何在Shining R中重新加载传单地图

如何在Shining R中重新加载传单地图,r,shiny,leaflet,r-leaflet,R,Shiny,Leaflet,R Leaflet,我正在RStudio上做一个闪亮的应用程序。现在,我正在使用传单包创建地图。代码工作正常,并在我询问时显示了我的建模,除一点外,一切都很正常: 当我尝试进行另一个建模时,我单击按钮在传单图中显示我的新数据,但它只能显示最后一个建模的数据。如果我关闭应用程序,它会刷新信息,并显示新地图 如果氯大于/小于1,则地图划分为可能发生的情况。在循环if/else中写入的。该应用程序能够检测需要打印的传单地图,但在模拟后不会显示。我必须重新启动应用程序(或通过R中的按钮重新加载),我希望按钮有相关的响应:如

我正在RStudio上做一个闪亮的应用程序。现在,我正在使用传单包创建地图。代码工作正常,并在我询问时显示了我的建模,除一点外,一切都很正常: 当我尝试进行另一个建模时,我单击按钮在传单图中显示我的新数据,但它只能显示最后一个建模的数据。如果我关闭应用程序,它会刷新信息,并显示新地图

如果氯大于/小于1,则地图划分为可能发生的情况。在循环if/else中写入的。该应用程序能够检测需要打印的传单地图,但在模拟后不会显示。我必须重新启动应用程序(或通过R中的按钮重新加载),我希望按钮有相关的响应:如果我加入新的特征并尝试新的模拟,传单地图必须显示相关的结果

这段代码是:

ui <- fluidpage(
        tabItem(tabName = "resultats",
                wellPanel(  
                       actionButton("refresh", label = "Mostra Zona Simulada"),
                       leafletOutput("mymap", width = "500px", height = "250px")
                       )
                    )
                 )
server <- function(input, output, session) {
   observeEvent(input$refresh, {
    if(empty(Nodesover)){
      output$mymap <- renderLeaflet({
        leaflet(DadesNodesDibuix) %>%
          addTiles() %>%
          addCircleMarkers(
            lng = Nodesguai$ycoord, 
            lat = Nodesguai$xcoord, 
            color = 'green', 
            radius = 1,
            opacity = 100,
            popup = paste('<strong>', "ID node:", '</strong>', Nodesguai$idnode, "<br>", 
                          '<strong>', "Concentracio Clor:", '</strong>', round(Nodesguai$clor,3), "<br>")) %>% 
          addCircleMarkers(
            lng = Nodeslow$ycoord, 
            lat = Nodeslow$xcoord, 
            color = 'red', 
            radius = 1,
            opacity = 100,
            popup = paste('<strong>', "Informacio node:", '</strong>', Nodeslow$idnode, "<br>",
                          '<strong>', "Concentracio Clor:", '</strong>', round(Nodeslow$clor,3), "<br>")) %>%
          addLegend(
            position = c("bottomleft"), 
            colors = c("green","red"), 
            title = "Concentracio Clor",
            labels = c("Correcte", "Baix"))
      })
    }else{
      output$mymap <- renderLeaflet({
        leaflet() %>%
          addTiles() %>%
          addCircleMarkers(
            lng = Nodesguai$ycoord, 
            lat = Nodesguai$xcoord, 
            color = 'green', 
            radius = 1,
            opacity = 100,
            popup = paste('<strong>', "Informacio node:", '</strong>', Nodesguai$idnode, "<br>",
                          '<strong>', "Concentracio Clor:", '</strong>', round(Nodesguai$clor,3), "<br>")) %>% 
          addCircleMarkers(
            lng = Nodeslow$ycoord, 
            lat = Nodeslow$xcoord, 
            color = 'red', 
            radius = 1,
            opacity = 100,
            popup = Nodeslow$clor) %>%
          addCircleMarkers(
            lng = Nodesover$ycoord, 
            lat = Nodesover$xcoord, 
            color = 'black', 
            radius = 1,
            opacity = 100,
            popup = paste('<strong>', "Informacio node:", '</strong>', Nodesover$idnode, "<br>",
                          '<strong>', "Concentracio Clor:", '</strong>', round(Nodesover$clor,3), "<br>")) %>%
          addLegend(
            position = c("bottomleft"), 
            colors = c("green","red","black"), 
            title = "Concentracio Clor",
            labels = c("Correcte", "Baix","Sense"))
          })
            if(empty(Nodeslow)){
              output$mymap <- renderLeaflet({
                leaflet() %>%
                  addTiles() %>%
                  addCircleMarkers(
                    lng = Nodesguai$ycoord,
                    lat = Nodesguai$xcoord,
                    color = 'green',
                    radius = 1,
                    opacity = 100,
                    popup = paste('<strong>', "Informacio node:", '</strong>', Nodesguai$idnode, "<br>", 
                                  '<strong>', "Concentracio Clor:", '</strong>', round(Nodesguai$clor,3), "<br>")) %>%
                  addCircleMarkers(
                    lng = Nodesover$ycoord,
                    lat = Nodesover$xcoord,
                    color = 'black',
                    radius = 1,
                    opacity = 100,
                    popup = paste('<strong>', "Informacio node:", '</strong>', Nodesover$idnode, "<br>",
                                  '<strong>', "Concentracio Clor:", '</strong>', round(Nodesover$clor,3), "<br>")) %>%
                addLegend(
                    position = c("bottomleft"), 
                    colors = c("green","black"), 
                    title = "Concentracio Clor",
                    labels = c("Correcte", "Sense"))
                })
              }else{
                output$mymap <- renderLeaflet({
                  leaflet() %>%
                    addTiles() %>%
                    addCircleMarkers(
                      lng = Nodesguai$ycoord,
                      lat = Nodesguai$xcoord,
                      color = 'green',
                      radius = 1,
                      opacity = 100,
                      popup = paste('<strong>', "Informacio node:", '</strong>', Nodesguai$idnode, "<br>", 
                                    '<strong>', "Concentracio Clor:", '</strong>', round(Nodesguai$clor,3), "<br>")) %>%
                    addLegend(
                      position = c("bottomleft"), 
                      colors = c("green"), 
                      title = "Concentracio Clor",
                      labels = c("Correcte"))
                  })
                if(empty(Nodesguai)){
                  output$mymap <- renderLeaflet({
                    leaflet() %>%
                      addTiles() %>%
                      addCircleMarkers(
                        lng = Nodeslow$ycoord,
                        lat = Nodeslow$xcoord,
                        color = 'red',
                        radius = 1,
                        opacity = 100,
                        popup = paste('<strong>', "Informacio node:", '</strong>', Nodeslow$idnode, "<br>", 
                                      '<strong>', "Concentracio Clor:", '</strong>', round(Nodeslow$clor,3), "<br>")) %>%
                      addCircleMarkers(
                        lng = Nodesover$ycoord,
                        lat = Nodesover$xcoord,
                        color = 'black',
                        radius = 1,
                        opacity = 100,
                        popup = paste('<strong>', "Informacio node:", '</strong>', Nodesover$idnode, "<br>", 
                                      "<em>", "Concentracio Clor:", '</strong>', round(Nodesover$clor,3), "<br>")) %>%
                      addLegend(
                        position = c("bottomleft"), 
                        colors = c("red","black"), 
                        title = "Concentracio Clor",
                        labels = c("Baix", "Sense"))
                  })
                }
              }
         }
   }) 
}    

ui%
addCircleMarkers(
液化天然气=Nodeslow$ycoord,
lat=Nodeslow$xcoord,
颜色='红色',
半径=1,
不透明度=100,
popup=paste(“”,“Informacio节点:”,“”,节点流$idnode,“
”, “”,“Concentracio Clor:”,“”,四舍五入(Nodeslow$Clor,3),“
”)%% addLegend( 位置=c(“左下”), 颜色=c(“绿色”、“红色”), title=“Concentracio Clor”, 标签=c(“更正”、“Baix”)) }) }否则{ 输出$mymap% addTiles()%>% addCircleMarkers( 液化天然气=Nodesguai$ycoord, lat=Nodesguai$xcoord, 颜色='绿色', 半径=1, 不透明度=100, popup=paste(“”,“Informacio节点:”,“”,节点Guai$idnode,“
”, “”、“Concentracio Clor:”、“”、四舍五入(Nodesguai$Clor,3),“
”)%% addCircleMarkers( 液化天然气=Nodeslow$ycoord, lat=Nodeslow$xcoord, 颜色='红色', 半径=1, 不透明度=100, 弹出窗口=节点低$clor)%>% addCircleMarkers( 液化天然气=超过$ycoord的节点, lat=节点超过$xcoord, 颜色='黑色', 半径=1, 不透明度=100, popup=paste(“”,“Informacio节点:”,“”,Nodesover$idnode,“
”, “”、“Concentracio Clor:”、“”,四舍五入(节点超过$Clor,3),“
”)%% addLegend( 位置=c(“左下”), 颜色=c(“绿色”、“红色”、“黑色”), title=“Concentracio Clor”, 标签=c(“更正”、“保留”、“感知”)) }) if(空(Nodeslow)){ 输出$mymap% addTiles()%>% addCircleMarkers( 液化天然气=Nodesguai$ycoord, lat=Nodesguai$xcoord, 颜色='绿色', 半径=1, 不透明度=100, popup=paste(“”,“Informacio节点:”,“”,节点Guai$idnode,“
”, “”、“Concentracio Clor:”、“”、四舍五入(Nodesguai$Clor,3),“
”)%% addCircleMarkers( 液化天然气=超过$ycoord的节点, lat=节点超过$xcoord, 颜色='黑色', 半径=1, 不透明度=100, popup=paste(“”,“Informacio节点:”,“”,Nodesover$idnode,“
”, “”、“Concentracio Clor:”、“”,四舍五入(节点超过$Clor,3),“
”)%% addLegend( 位置=c(“左下”), 颜色=c(“绿色”、“黑色”), title=“Concentracio Clor”, 标签=c(“纠正”、“感知”)) }) }否则{ 输出$mymap% addTiles()%>% addCircleMarkers( 液化天然气=Nodesguai$ycoord, lat=Nodesguai$xcoord, 颜色='绿色', 半径=1, 不透明度=100, popup=paste(“”,“Informacio节点:”,“”,节点Guai$idnode,“
”, “”、“Concentracio Clor:”、“”、四舍五入(Nodesguai$Clor,3),“
”)%% addLegend( 位置=c(“左下”), 颜色=c(“绿色”), title=“Concentracio Clor”, 标签=c(“更正”)) }) if(空(Nodesguai)){ 输出$mymap% addTiles()%>% addCircleMarkers( 液化天然气=Nodeslow$ycoord, lat=Nodeslow$xcoord, 颜色='红色', 半径=1, 不透明度=100, popup=paste(“”,“Informacio节点:”,“”,节点流$idnode,“
”, “”,“Concentracio Clor:”,“”,四舍五入(Nodeslow$Clor,3),“
”)%% addCircleMarkers( 液化天然气=超过$ycoord的节点, lat=节点超过$xcoord, 颜色='黑色', 半径=1, 不透明度=100, popup=paste(“”,“Informacio节点:”,“”,Nodesover$idnode,“
”, “,”浓度Clor:“,””,四舍五入(节点超过$Clor,3),“
”)%% addLegend( 位置=c(“左下”),
 observeEvent(input$Refresh, {
        output$mymap <- renderLeaflet({
        #You have to add the files inside the output. This files are changing in
        #every simulation I did in my shiny app, and now the loop CAN READ the 
        #changes!
          DadesNodes<-read.csv("./data/DadesNodes.csv",header = TRUE)
          DadesNodesLow<-read.csv("./results/Nodeslow.csv",header = TRUE)
          DadesNodesOver<-read.csv("./results/Nodesover.csv",header = TRUE)
          DadesNodesGuai<-read.csv("./results/Nodesguai.csv",header = TRUE)
          DadesNodesTreball<-read.csv("./data/DadesNodesTreball.csv",header = TRUE)
          Nodeslow  <- DadesNodesLow
          Nodesover <- DadesNodesOver
          Nodesguai <- DadesNodesGuai
        if(empty(Nodesover)){
            leaflet("mymap") %>%
              addTiles() %>%
              addCircleMarkers(
                lng = Nodesguai$ycoord, 
                lat = Nodesguai$xcoord, 
                color = 'green', 
                radius = 1,
                opacity = 100,
                popup = paste('<strong>', "ID node:", '</strong>', Nodesguai$idnode, "<br>", 
                              '<strong>', "Concentracio Clor:", '</strong>', round(Nodesguai$clor,3), "<br>")) %>% 
              addCircleMarkers(
                lng = Nodeslow$ycoord, 
                lat = Nodeslow$xcoord,  
                color = 'red', 
                radius = 1,
                opacity = 100,
                popup = paste('<strong>', "Informacio node:", '</strong>', Nodeslow$idnode, "<br>",
                              '<strong>', "Concentracio Clor:", '</strong>', round(Nodeslow$clor,3), "<br>")) %>%
              addLegend(
                position = c("bottomleft"), 
                colors = c("green","red","black"), 
                title = "Concentracio Clor (mg/L)",
                opacity = 100,
                labels = c("Correcte", "Baix","Alt"))
          #})
        }else{
          if(empty(Nodeslow)){
            leaflet("mymap") %>%
                  addTiles() %>%
                  addCircleMarkers(
                    lng = Nodesguai$ycoord, 
                    lat = Nodesguai$xcoord,
                    color = 'green',
                    radius = 1,
                    opacity = 100,
                    popup = paste('<strong>', "Informacio node:", '</strong>', Nodesguai$idnode, "<br>",
                                  '<strong>', "Concentracio Clor:", '</strong>', round(Nodesguai$clor,3), "<br>")) %>%
                  addCircleMarkers(
                    lng = Nodesover$ycoord, 
                    lat = Nodesover$xcoord, 
                    color = 'black',
                    radius = 1,
                    opacity = 100,
                    popup = paste('<strong>', "Informacio node:", '</strong>', Nodesover$idnode, "<br>",
                                  '<strong>', "Concentracio Clor:", '</strong>', round(Nodesover$clor,3), "<br>")) %>%
                  addLegend(
                    position = c("bottomleft"),
                    colors = c("green","red","black"),
                    title = "Concentracio Clor (mg/L)",
                    opacity = 100,
                    labels = c("Correcte", "Baix","Alt"))
            }else{
              if(empty(Nodesguai)){
                leaflet("mymap") %>%
                    addTiles() %>%
                    addCircleMarkers(
                      lng = Nodeslow$ycoord, 
                      lat = Nodeslow$xcoord,
                      color = 'red',
                      radius = 1,
                      opacity = 100,
                      popup = paste('<strong>', "Informacio node:", '</strong>', Nodeslow$idnode, "<br>",
                                    '<strong>', "Concentracio Clor:", '</strong>', round(Nodeslow$clor,3), "<br>")) %>%
                    addCircleMarkers(
                      lng = Nodesover$ycoord, 
                      lat = Nodesover$xcoord,
                      color = 'black',
                      radius = 1,
                      opacity = 100,
                      popup = paste('<strong>', "Informacio node:", '</strong>', Nodesover$idnode, "<br>",
                                    "<em>", "Concentracio Clor:", '</strong>', round(Nodesover$clor,3), "<br>")) %>%
                    addLegend(
                      position = c("bottomleft"),
                      colors = c("green","red","black"),
                      title = "Concentracio Clor (mg/L)",
                      opacity = 100,
                      labels = c("Correcte", "Baix","Alt"))
              }else{
                leaflet("mymap") %>%
                  addTiles() %>%
                  addCircleMarkers(
                    lng = Nodesguai$ycoord,
                    lat = Nodesguai$xcoord,
                    color = 'green',
                    radius = 1,
                    opacity = 100,
                    popup = paste('<strong>', "Informacio node:", '</strong>', Nodesguai$idnode, "<br>",
                                  '<strong>', "Concentracio Clor:", '</strong>', round(Nodesguai$clor,3), "<br>")) %>%
            addCircleMarkers(
              lng = Nodeslow$ycoord, 
              lat = Nodeslow$xcoord, 
              color = 'red',
              radius = 1,
              opacity = 100,
              popup = Nodeslow$clor) %>%
            addCircleMarkers(
              lng = Nodesover$ycoord, 
              lat = Nodesover$xcoord, 
              color = 'black',
              radius = 1,
              opacity = 100,
              popup = paste('<strong>', "Informacio node:", '</strong>', Nodesover$idnode, "<br>",
                            '<strong>', "Concentracio Clor:", '</strong>', round(Nodesover$clor,3), "<br>")) %>%
            addLegend(
              position = c("bottomleft"),
              colors = c("green","red","black"),
              title = "Concentracio Clor (mg/L)",
              opacity = 100,
              labels = c("Correcte", "Baix","Alt"))

            }
          }
        }     
      })
    })