создать полигон на листе Rshiny - PullRequest
0 голосов
/ 22 мая 2018

Я хочу создать карту в блестящем приложении.Я использую пакет листовки, но не знаю, как я могу создать многоугольники за один раз (более 15000). Это часть моих данных:

ID_Area num LAT1    LONG1   LAT2    LONG2   latitude    longitude   categorie
102584  929 53.34   -6.27   53.35   -6.26   53.345  -6.265  More than 50
102053  549 53.33   -6.26   53.34   -6.25   53.335  -6.255  More than 50

Поэтому я хочу создать сетку накарты с множеством квадратов и где я могу видеть "номер".Я ищу в Интернете, как я могу сделать это, но весь учебник был сделан с пространственной-полигональной структурой данных, но я не понимаю.

Например, я хочу иметь такой многоугольник для первой строки:

a <-53.34,-6.27
b <-53.34,-6.26
c <-53.35,-6.26
d <-53.35,-6.27
poly <- a,b,c,d,NUM,Categorie

Извините, но я новичок в R, это возможно?и создать функцию для 15000 строк?Спасибо

1 Ответ

0 голосов
/ 22 мая 2018

Из вашего примера кода не ясно, что именно вы хотите, так как этот код не является исполняемым.Возможно, этот небольшой пример может проиллюстрировать вам основы SpatialObjects в R:

library(sp)
Sr1 = Polygon(cbind(c(2,4,4,2,2),c(2,2,5,5,2)))
Sr2 = Polygon(cbind(c(5,12,12,5),c(5,5,12,12)))
Sr3 = Polygon(cbind(c(4,4,5,5,4),c(5,3,3,5,5)))

Srs1 = Polygons(list(Sr1), "s1")
Srs2 = Polygons(list(Sr2), "s2")
Srs3 = Polygons(list(Sr3), "s3")
SpP = SpatialPolygons(list(Srs1,Srs2,Srs3), 1:3)

SpDf <- SpatialPolygonsDataFrame(SpP, data=data.frame(ID=c(1,2,3)), match.ID = F)

library(leaflet)
leaflet() %>% 
  addPolygons(data=SpDf, label= as.character(SpDf$ID))

Вы также можете проверить ответ здесь, так как он может быть очень похож на ваш запрос.( Как построить квадранты )

И вот как вы могли бы включить его в блестящее приложение:

library(shiny)
ui <- fluidPage(
  leafletOutput("map")
)

server <- function(input, output){
  output$map <- renderLeaflet({
    leaflet() %>% 
      addPolygons(data=SpDf, label= as.character(SpDf$ID))
  })
}
shinyApp(ui,server)
...