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