library(httr)
library(jsonlite)
Realizar la solicitud a la API
url <- "https://datosabiertos.regiondemurcia.es/api/action/datastore_search?resource_id=f057cae1-7590-4cc0-9713-7fa8b86b582e&limit=50"
response <- GET(url)
Convertir la respuesta a un dataframe
data <- fromJSON(content(response, "text"), flatten = TRUE)
datos <- data$result$records
Mostrar la tabla
head(datos)
## _id CODEST RED PARAJE MUNICIPIO FECHA DE ALTA LATITUD
## 1 1 AL31 SIAR Lebor Totana 01/09/99 37.73249722
## 2 2 AL41 SIAM La Calavera Alhama 01/01/96 37.79223611
## 3 3 AL51 SIAR La Egesa Librilla 23/07/99 37.89941944
## 4 4 AL52 SIAR Los Palomos Librilla 28/03/18 37.89045556
## 5 5 AL62 SIAM Cañada Gallego Mazarrón 01/01/96 37.56222222
## 6 6 AL91 SIAM Leiva Mazarrón 07/11/14 37.61444444
## LONGITUD ALTITUD
## 1 -1.51313611 236
## 2 -1.416775 169
## 3 -1.33833611 164
## 4 -1.30955833 125
## 5 -1.40097222 94
## 6 -1.37888889 112
str(datos)
## 'data.frame': 50 obs. of 9 variables:
## $ _id : int 1 2 3 4 5 6 7 8 9 10 ...
## $ CODEST : chr "AL31" "AL41" "AL51" "AL52" ...
## $ RED : chr "SIAR" "SIAM" "SIAR" "SIAR" ...
## $ PARAJE : chr "Lebor" "La Calavera" "La Egesa" "Los Palomos" ...
## $ MUNICIPIO : chr "Totana" "Alhama" "Librilla" "Librilla" ...
## $ FECHA DE ALTA: chr "01/09/99" "01/01/96" "23/07/99" "28/03/18" ...
## $ LATITUD : chr "37.73249722" "37.79223611" "37.89941944" "37.89045556" ...
## $ LONGITUD : chr "-1.51313611" "-1.416775" "-1.33833611" "-1.30955833" ...
## $ ALTITUD : chr "236" "169" "164" "125" ...
datos$LONGITUD<-as.numeric(datos$LONGITUD)
datos$LATITUD<-as.numeric(datos$LATITUD)
datos$ALTITUD<-as.numeric(datos$ALTITUD)
str(datos)
## 'data.frame': 50 obs. of 9 variables:
## $ _id : int 1 2 3 4 5 6 7 8 9 10 ...
## $ CODEST : chr "AL31" "AL41" "AL51" "AL52" ...
## $ RED : chr "SIAR" "SIAM" "SIAR" "SIAR" ...
## $ PARAJE : chr "Lebor" "La Calavera" "La Egesa" "Los Palomos" ...
## $ MUNICIPIO : chr "Totana" "Alhama" "Librilla" "Librilla" ...
## $ FECHA DE ALTA: chr "01/09/99" "01/01/96" "23/07/99" "28/03/18" ...
## $ LATITUD : num 37.7 37.8 37.9 37.9 37.6 ...
## $ LONGITUD : num -1.51 -1.42 -1.34 -1.31 -1.4 ...
## $ ALTITUD : num 236 169 164 125 94 112 30 227 138 84 ...
Creamos mapa
library(leaflet)
# Crear el mapa con leaflet
# Crear el mapa con leaflet
mapa <- leaflet(datos) %>%
addTiles() %>%
addCircleMarkers(
~LONGITUD, ~LATITUD,
radius = 5,
popup = ~paste("Codest:", CODEST, "<br>", "Paraje:", PARAJE, "<br>", "Municipio:", MUNICIPIO, "<br>"
)
)
# Mostrar el mapa
mapa