mutate (Century_start_bce = parse_number (c))}) |> list_rbind () |> curat_names () |> mutate (lon = parse_lon (str_replace (longitude_e, „-„, „-„)), lat = parse_lat (str_replace (latitude_n, „,”, „.”))) | C („lon”, „lat”), crs = „Epsg: 4326”) mapează stratul rezultat, mapat pe un fundal natural al pământului, pare bun. World st_intersection (phoenician |> st_bbox () |> st_as_sfc () |> st_buffer (4, jeningstyle = „miter”, mitrelimit = 10)) phoenician |> ggplot () + geom_sf (date = lume) + geom_sf (AES (color = fct_rev (as_factor (Century_start_bce)))) + tema_void () + labs (title = „colonii phoenician”, subtitle = „10th c. î.Hr. https://r.iresmi.net/ {sys.date ()} „)) + tema_minimal () + tema (complot.caption = element_text (size = 6), complot.background = element_rect (fill =” alb „)) Figura 1: colonii fenician doriți mai multă interactivitate? Utilizarea {Leaflet} … Phoenician |> Leaflet () |> addtiles (atribuție = r „(r.iresmi.net. Date: Manzano-Agugliaro și colab. 2025. Doi: 10.1080/17445647.2025.2528876; MAP: OpenStretMap)”) | Glue („{decontare} de la {Century_Start_BCE} th C. BCE \ {if_else (! IS.na (Centure_Of_Subsequent_Permanence), paste0 (‘to’, Centure_Of_Subsequent_Permanence), ”)}”), ClusterOptions = MarkerClusterOptions ()) Figura 2: Fhoenicianss = MarkerClusterOptions ()) Figura 2: THOENYICIANSE = MARKERCLUSTEOPȚIONE (interactiv) Export putem construi un geopackage curat (și un CSV doar în caz): fenician |> st_write („date/phoenician_settlements.gpkg”, layer = „phoenician_settlements”, layer_options = c („identificator = colonizarea fenicianului de la originea sa la secolul al VII -lea BC”, Glue („Descrierea datelor de la originea: Manzano-Agugliaro, F., Marín-Buzón, C., Carpintero-Lozano, S., & López-Castro, JL (2025). https://doi.org/10.1080/17445647.2025.2528876 Available on https://doi.org/10.5281/zenodo.17141060 Extracted on {Sys.Date()} – https://r.iresmi.net/posts/2025/phoenician”)), delete_layer = true, liniștit = true) phoenician |> select (-c (latitude_n, longitude_e)) |> bind_cols (st_coordinates (phoenician)) |> redenumire (lon_wgs84 = x, lat_wgs84 = y) |> st_drop_geometry () |> write_csv („date/phoenician_settlements.csv”) și, în sfârșit, le stocăm într -un depozit public; Acum sunt disponibile pe Zenodo și, prin urmare, au chiar un DOI: 10.5281/zenodo.17141060 Referințe Manzano-Agugliaro, Francisco, Carmen Marín-Buzón, Susana Carpintero-Lozano și José López-Castro. 2025. „Colonizarea feniciană de la originea sa până la secolul al VII -lea î.Hr.”. Journal of Maps 21 (1): 2528876. Https://doi.org/10.1080/17445647.2025.2528876. ” />
(Acest articol a fost publicat pentru prima dată pe R.IRESMI.NETși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)
Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Citeam Colonizarea feniciană de la originea sa până la secolul al VII -lea î.Hr. (Manzano-Agugliaro și colab. 2025) Și am crezut că este un set de date interesant, dar din păcate: este împărțit în patru tabele, în spatele unei redirecții JavaScript (WTF Taylor și Francis?) Și cu coordonate DMS (inclusiv dactilografii și caractere speciale) … deci nu este ușor reutilizabil.
Să construim un set de date accesibil.
Configurare
library(readr) library(purrr) library(dplyr) library(stringr) library(ggplot2) library(forcats) library(janitor) library(sf) library(rnaturalearth) library(glue) library(parzer) library(leaflet) sf_use_s2(FALSE) knitr::knit_hooks$set(crop = knitr::hook_pdfcrop)
Trebuie să descărcăm manual CSV -urile (părțile 1, 2, 3 și 4), deoarece există un mecanism de antiscraping … apoi o mică curățare și coordonează analizarea cu pachetul foarte frumos {Parzer} Să construim un obiect spațial cu {SF}.
sources = list(
c_10_bce = "data_raw/T0001-10.1080_17445647.2025.2528876.csv",
c_09_bce = "data_raw/T0002-10.1080_17445647.2025.2528876.csv",
c_08_bce = "data_raw/T0003-10.1080_17445647.2025.2528876.csv",
c_07_bce = "data_raw/T0004-10.1080_17445647.2025.2528876.csv"
)
phoenician <- sources |>
imap((f, c) { read_csv(f) |>
mutate(century_start_bce = parse_number(c))}) |>
list_rbind() |>
clean_names() |>
mutate(lon = parse_lon(str_replace(longitude_e, "−", "-")),
lat = parse_lat(str_replace(latitude_n, ",", "."))) |>
st_as_sf(coords = c("lon", "lat"), crs = "EPSG:4326")
Stratul rezultat, cartografiat pe un fundal natural al Pământului, pare bun.
world <- ne_countries() |>
st_intersection(phoenician |>
st_bbox() |>
st_as_sfc() |>
st_buffer(4, joinStyle = "MITRE", mitreLimit = 10))
phoenician |>
ggplot() +
geom_sf(data = world) +
geom_sf(aes(color = fct_rev(as_factor(century_start_bce)))) +
theme_void() +
labs(title = "Phoenician colonies",
subtitle = "10th c. BCE - 7th c. BCE",
color = "fromn(century BCE)",
caption = glue("data doi:10.1080/17445647.2025.2528876
https://r.iresmi.net/ {Sys.Date()}")) +
theme_minimal() +
theme(plot.caption = element_text(size = 6),
plot.background = element_rect(fill = "white"))

Figura 1: Coloniile feniciene
Vrei mai multă interactivitate?
Folosind {pliant} …
phoenician |>
leaflet() |>
addTiles(attribution = r"(
r.iresmi.net.
data: Manzano-Agugliaro et al. 2025. doi:10.1080/17445647.2025.2528876;
map: OpenStreetMap)") |>
addCircleMarkers(popup = ~ glue("{settlement}
from {century_start_bce}th c. BCE \
{if_else(!is.na(centuries_of_subsequent_permanence),
paste0('
to ', centuries_of_subsequent_permanence), '')}"),
clusterOptions = markerClusterOptions())
Figura 2: Coloniile feniciene (interactive)
Putem construi un geopackage curat (și un CSV doar în caz):
phoenician |>
st_write(
"data/phoenician_settlements.gpkg",
layer = "phoenician_settlements",
layer_options = c(
"IDENTIFIER=Phoenician colonization from its origin to the 7th century BC",
glue("DESCRIPTION=Data from:
Manzano-Agugliaro, F., Marín-Buzón, C., Carpintero-Lozano, S., & López-Castro, J. L. (2025). \
Phoenician colonization from its origin to the 7th century BC. Journal of Maps, 21(1). \
https://doi.org/10.1080/17445647.2025.2528876
Available on https://doi.org/10.5281/zenodo.17141060
Extracted on {Sys.Date()} – https://r.iresmi.net/posts/2025/phoenician")),
delete_layer = TRUE,
quiet = TRUE)
phoenician |>
select(-c(latitude_n, longitude_e)) |>
bind_cols(st_coordinates(phoenician)) |>
rename(lon_wgs84 = X,
lat_wgs84 = Y) |>
st_drop_geometry() |>
write_csv("data/phoenician_settlements.csv")
Și în sfârșit le depozităm într -un depozit public; Acum sunt disponibile pe Zenodo și, prin urmare, au chiar un DOI: 10.5281/zenodo.17141060
Referințe
Manzano-Agugliaro, Francisco, Carmen Marín-Buzón, Susana Carpintero-Lozano și José Luis López-Castro. 2025. „Colonizarea feniciană de la originea sa până în secolul al VII -lea BC. ” Journal of Maps 21 (1): 2528876. Https://doi.org/10.1080/17445647.2025.2528876.
