Mapa bƔsico

#La clave es temporal de google
apiKey <- "AIzaSyBPxhDW9_bUJ1juxXEGvY_QcNIZNJPUy7A"

#install.packages("ggplot2")
#install.packages("ggmap")
library("ggplot2")
library("ggmap")
## Google's Terms of Service: https://cloud.google.com/maps-platform/terms/.
## Please cite ggmap if you use it! See citation("ggmap") for details.
register_google(apiKey)

#Generar mapas con coordenadas o nombres
qmap(c(-76.5, 3.43), zoom=12, maptype="hybrid")
## Source : https://maps.googleapis.com/maps/api/staticmap?center=3.43,-76.5&zoom=12&size=640x640&scale=2&maptype=hybrid&language=en-EN&key=xxx

#qmap("Unicentro Cali, Valle", zoom=12, maptype="hybrid")

Mapa de paradas del MIO en Cali

#Cargar archivo
library(readr)
Paradas_Mio <- read_delim("MIO_STOPS.txt", 
    "\t", escape_double = FALSE, trim_ws = TRUE)
## 
## -- Column specification --------------------------------------------------------
## cols(
##   STOPID = col_double(),
##   PLANVERSIONID = col_double(),
##   SHORTNAME = col_character(),
##   LONGNAME = col_character(),
##   GPS_X = col_double(),
##   GPS_Y = col_double(),
##   DECIMALLONGITUDE = col_double(),
##   DECIMALLATITUDE = col_double(),
##   PASSANGERS_NUM = col_double(),
##   TYPE_BUS = col_double()
## )
#Generar mapa
#mapa <- ggplot(Paradas_Mio, aes(DECIMALLONGITUDE, DECIMALLATITUDE, color=TYPE_BUS))

city <- get_map(c(-76.5, 3.43), zoom=12)
## Source : https://maps.googleapis.com/maps/api/staticmap?center=3.43,-76.5&zoom=12&size=640x640&scale=2&maptype=terrain&language=en-EN&key=xxx
mapa <- ggmap(city)
mapa <- mapa + geom_point(data=Paradas_Mio, aes(x=DECIMALLONGITUDE, y=DECIMALLATITUDE), color=Paradas_Mio$TYPE_BUS, size=Paradas_Mio$PASSANGERS_NUM*0.02)
mapa

Mapa con agrupamiento

#Adicional columna de agrupamiento
k <- 7
nIter <- 100

grupos <- kmeans(Paradas_Mio[,c(7, 8)], k, iter.max = nIter, nstart = 1)

Paradas_Mio$grupos <- grupos$cluster

city <- get_map(c(-76.5, 3.43), zoom=12)
## Source : https://maps.googleapis.com/maps/api/staticmap?center=3.43,-76.5&zoom=12&size=640x640&scale=2&maptype=terrain&language=en-EN&key=xxx
mapa <- ggmap(city)
mapa <- mapa + geom_point(data=Paradas_Mio, aes(x=DECIMALLONGITUDE, y=DECIMALLATITUDE), color=Paradas_Mio$grupos, size=Paradas_Mio$PASSANGERS_NUM*0.02)
mapa

Mapa con polĆ­gono

#Adicional columna de agrupamiento (errado)
k <- 7
nIter <- 100

grupos <- kmeans(Paradas_Mio[,c(7, 8)], k, iter.max = nIter, nstart = 1)

Paradas_Mio$grupos <- grupos$cluster

#Poligono
indicesC1 <- chull(Paradas_Mio$grupos==1)
poligono <- Paradas_Mio[indicesC1,]

city <- get_map(c(-76.5, 3.43), zoom=12)
## Source : https://maps.googleapis.com/maps/api/staticmap?center=3.43,-76.5&zoom=12&size=640x640&scale=2&maptype=terrain&language=en-EN&key=xxx
mapa <- ggmap(city)
mapa <- mapa + geom_point(data=Paradas_Mio, aes(x=DECIMALLONGITUDE, y=DECIMALLATITUDE), color=Paradas_Mio$grupos, size=Paradas_Mio$PASSANGERS_NUM*0.02)
mapa <- mapa + geom_polygon(data=poligono, aes(x=DECIMALLONGITUDE, y=DECIMALLATITUDE), color= "black", alpha=0.2)
mapa