Я пытаюсь создать блестящее приложение с mapedit, которое позволит мне загрузить функцию (в данном примере это nc.shp из пакета sf), а затем отредактировать эту же функцию с помощью mapedit. В настоящее время я не могу редактировать исходную функцию, но я могу редактировать новые функции, которые я создаю. Может ли mapedit редактировать оригинальную функцию? Это может показаться прискорбным, если не удастся, и если да, есть ли способ обойти это, используя mapedit?
Воспроизводимый код, приведенный ниже в качестве примера. Большое спасибо!
library(shiny)
library(leaflet)
library(mapedit)
library(sf)
# Load the sf object
nc <- st_read(
system.file(
"shape/nc.shp",
package = "sf"
)
)
# Project transformation
nc <- st_transform(
nc,
crs = 4326
)
map <- leaflet() %>%
leaflet::addPolylines(
data = nc,
weight = 3,
opacity = 1,
fill = FALSE,
color = 'black',
fillOpacity = 1,
smoothFactor = 0.01
)
ui <- fluidPage(
# Application title
titlePanel("Test Shiny Leaflet Mapedit"),
sidebarLayout(
sidebarPanel(
actionButton('save', 'Save edits')
),
mainPanel(
editModUI("map")
)
)
)
server <- function(input, output) {
edits <- callModule(
editMod,
leafmap = map,
id = "map"
)
observeEvent(input$save, {
geom <- edits()$finished
if (!is.null(geom)) {
assign('new_geom', geom, envir = .GlobalEnv)
sf::write_sf(
geom,
'new_geom.geojson',
delete_layer = FALSE,
delete_dsn = TRUE
)
}
})
}
# Run the application
shinyApp(ui = ui, server = server)