#library(data.table)

# Data analysis

#train <- fread("../input/train.csv", integer64 = "character", showProgress = FALSE)
train <- read.csv("../input/train.csv")

library(dplyr)
library(leaflet)
library(sp)


a=min(train$x) # 10
b=max(train$x) # 10
c=min(train$y) #  0
d=max(train$y) #  0

rectangulos <- train %>% 
  group_by(place_id) %>% 
  summarise(
    a=min(x),
    b=max(x),
    c=min(y),
    d=max(y)
  )

x=list()
for(i in 1:108390)
{
  x[i]<-Polygons(list(
    Polygon(
      cbind(
        c(
          as.numeric(rectangulos[i,"a"]),
          as.numeric(rectangulos[i,"a"]),
          as.numeric(rectangulos[i,"b"]),
          as.numeric(rectangulos[i,"b"])
        ),
        c(
          as.numeric(rectangulos[i,"c"]),
          as.numeric(rectangulos[i,"d"]),
          as.numeric(rectangulos[i,"d"]),
          as.numeric(rectangulos[i,"c"])
        )
      )
    )
  ),rectangulos[i,"place_id"]
  )
}

SPs<-SpatialPolygons(x)

SPDF <- SpatialPolygonsDataFrame(SPs,data=data.frame(lugar=rectangulos$place_id,row.names = row.names(SPs)))

popup_name <- paste0("<strong>Lugar: </strong>", 
                     SPDF$lugar)


leaflet(height = "1000px", width = "1000px" ) %>%
  addPolygons(data=subset(SPDF,lugar <= 1016187636),
              fillColor = "transparent",
              popup = popup_name
  )
