(Acest articol a fost publicat pentru prima dată pe r.iresmi.netși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.

Ziua 1 din 30DayMapChallenge: « Puncte ».
Cartografierea vârfurilor de peste 8000 m, cunoscute și sub numele de opt mii.
Config
library(httr) library(glue) library(dplyr) library(tidyr) library(purrr) library(tibble) library(stringr) library(sf) library(leaflet)
Mai multe opțiuni non-triviale pentru obținerea datelor:
- Wikipedia în engleză nu are coordonatele geografice pentru a răzui (deși Wikipedia în alte limbi au);
- Nu pot obține o interogare SPARQL funcțională pe Wikidata (lipsa de cunoștințe de la mine) chiar și cu ajutorul SPINACH Wikidata Agent;
- nu există o relație ușoară cu OpenStreetMap de importat;
- așa că în cele din urmă am recurs să fac un apel direct API Overpass, deși și {osmdata} ar fi trebuit să funcționeze.
Folosind o cutie de delimitare Himalaya și Karakoram, menținem vârfurile peste 8000 m având o proeminență > 500 m (vârfuri majore, altfel am obține câteva vârfuri secundare).
Ar trebui să dureze aproximativ 1 minut…
overpass_query <- URLencode(r"((out:json)(timeout:250);
node
("natural"="peak")
(25,70,38,98)
("ele")
("prominence")
(if:number(t("prominence")) > 500 && number(t("ele")) > 8000);
out body;)", reserved = TRUE)
summits <- GET(glue("https://overpass-api.de/api/interpreter?data={overpass_query}"))
summits_sf <- content(summits) |>
pluck("elements") |>
map(unlist) |>
map(enframe) |>
map(pivot_wider) |>
list_rbind() |>
rename_with((x) str_replace(x, "^tags\.", "")) |>
st_as_sf(coords = c("lon", "lat"), crs = "EPSG:4326")
Tabelul 1: Cei opt mii
Simple feature collection with 14 features and 2 fields Geometry type: POINT Dimension: XY Bounding box: xmin: 74.58954 ymin: 27.70301 xmax: 88.14748 ymax: 35.88168 Geodetic CRS: WGS 84 # A tibble: 14 × 3 name elevation geometry1 Mount Everest 8848.86 (86.92521 27.98806) 2 K2 8611 (76.51333 35.88168) 3 Kangchenjunga 8586 (88.14748 27.70301) 4 Lhotse 8516 (86.9325 27.96199) 5 Mount Makalu 8485 (87.08844 27.89144) 6 Cho Oyu 8201 (86.65963 28.09675) 7 Dhaulagiri 8167 (83.48949 28.69761) 8 Manaslu 8163 (84.55973 28.54998) 9 Nanga Parbat 8126 (74.58954 35.23846) 10 Annapurna I 8091 (83.81992 28.59581) 11 Gasherbrum I 8080 (76.69762 35.72468) 12 Broad Peak 8051 (76.56556 35.81369) 13 Gasherbrum II 8034 (76.65327 35.75773) 14 Shishapangma 8027 (85.78207 28.35176)
summits_sf |>
leaflet() |>
addTiles(attribution = r"(
r.iresmi.net.
data and map: OpenStreetMap)") |>
addCircleMarkers(popup = ~ glue("{name} ({`name:en`})
{ele} m"),
clusterOptions = markerClusterOptions())
Figura 1: Cei opt mii
