我想在闪亮的应用上创建地图。我使用传单包,但我不知道如何一次创建多个多边形(超过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
所以我想在一个有很多正方形的地图上创建一个网格,在那里我可以看到" num"。我在网上搜索我怎么能做到这一点,但所有的教程都是用spacepolygonsdataframe制作的,但我不明白。
例如,我希望第一行有一个类似的多边形:
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行的功能? 感谢
答案 0 :(得分:0)
从您的示例代码中不清楚您想要什么,因为代码不可执行。也许这个小例子可以向您展示R中的SpatialObjects的基础知识:
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))
您也可以在这里查看答案,因为它可能与您的请求非常相似。 (How to build Quadrants)
这就是你将它包含在shinyApp中的方式:
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)