Síťové mapování má dlouhou tradici a velký význam v přírodních vědách – zejména faunistice. Ve Střední Evropě je nejrozšířenější technikou pro výpočet síťových polí metoda Kartierung der Flora Mitteleuropas (KFME).

Tato metodika dělí území Střední Evropy na pole o velikosti 6×10 úhlových minut, což v našich zeměpisných šířkách představuje lichoběžníky blízké čtvercům. Těmto “čtvercům” je pak přiřazeno čtyřmístné číslo podle sloupců a řádek, počítaných od severu k jihu a od západu k východu.

V našich podmínkách se s technikou KFME setkáme ve dvou mutacích:

  • hrubé čtverce, podle původní metodiky (4 ciferné značení)

  • jemné čtverce, kdy je čtverec navíc rozdělen do 4 podčtverců označených písmeny a až d

Obě variace metodiky KFME jsou od srpna 2019 (tj. od verze 1.4.2) podporovány v rámci erkové package RCzechia.

# krok první: načtení potřebných knihoven
library(tidyverse)
library(leaflet.extras)
library(RCzechia)
library(leaflet)
library(units)
library(knitr)
library(sf)

Čtverce jsou realizovány pomocí funkce KFME_grid(), která má jako argument rozlišení - buď nízké (low = 4 ciferné čtverce) nebo vysoké (high = 4 čísla a písmeno).

Čtverce vyvoláme a zobrazíme pomocí jednoduchého kódu, a můžeme je použít jak ve statických, tak dynamických mapách - zde v prostředí {ggplot2} a {leaflet} knihoven.

# statická mapa - {ggplot2}
ggplot() +
  geom_sf(data = RCzechia::republika("low")) +
  geom_sf(data = RCzechia::KFME_grid("low"), fill = "NA", color = "grey60")

# dynamická mapa - {leaflet}
leaflet(data = RCzechia::republika("low")) %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data = RCzechia::KFME_grid("low"),
              color = "red",
              weight = 1,
              fillOpacity = 0,
              popup = ~as.character(ctverec)) %>% 
  leaflet.extras::addResetMapButton() 



Zajímavá je kombinace čtverců s geokódovací funkcí RCzechia::geocode(), která dohledává bodové souřadnice přes API Českého zeměměřičského ústavu.

Tato funkce je vektorizovaná, a podporuje dohledávání souřadnic pro větší objemy adres.

Jakmile mám dohledanou adresu v datovém formátu dle balíčku {sf}, tak snadno a rychle dohledám hrubý či jemný čtverec pomocí funkce sf::st_join - tato funkce provede prostorové připojení dvou prostorových objektů (v mém případě bodových souřadnic a mapových čtverců).

Přitom, a to je podstatné, ve svém výstupu zkombinuje data z obou prostorových objektů. V konečném efektu tedy dojde k obohacení data framu souřadnic o číslo čtverce. QED.

# lokality Lasius myops; podle Dva nálezy mravence Lasius myops..., Pech 2010
lokality <- c("Kadaň", "Louny")

# geokódování lokalit - typ bodu = obec
myops <- RCzechia::geocode(lokality) %>% 
  filter(type == "Obec")

# data frame myops nyní obsahuje lokality a souřadnice
knitr::kable(myops)
address type result geometry
Kadaň Obec Kadaň POINT (13.28488 50.38336)
Louny Obec Louny POINT (13.80088 50.35918)
# snadno doplníme "hrubý" čtverec - standardní metodika 4 čísel
hrube <- sf::st_join(myops, RCzechia::KFME_grid("low"))

kable(hrube)
address type result ctverec geometry
Kadaň Obec Kadaň 5645 POINT (13.28488 50.38336)
Louny Obec Louny 5648 POINT (13.80088 50.35918)
# případně "jemný" čtverec - modifikovaná metodika 4 čísla + písmenko
jemne <- sf::st_join(myops, RCzechia::KFME_grid("high"))

kable(jemne)
address type result ctverec geometry
Kadaň Obec Kadaň 5645b POINT (13.28488 50.38336)
Louny Obec Louny 5648b POINT (13.80088 50.35918)

Jako příklad použití v mapě uvádím ogeokódovanou lokalitu kanceláře České společnosti entomologické, včetně zařazení do čtverce a podčtverce dle metodiky KFME.

# geokódování lokalit - typ bodu = konkrétní adresa (kancelář ČSE)
spolecnost <- RCzechia::geocode("Viničná 7, Praha 2") %>% 
  filter(type == "AdresniMisto")

# velký čtverec = 4 čísla; join nebude levý = bude filtrační (vrátí 1 čtverec)
velky_ctverec <- st_join(KFME_grid("low"), spolecnost, left = F) 

# malý čtverec = 4 čísla + písmenko
maly_ctverec <- st_join(KFME_grid("high"), spolecnost, left = F)

# hranice Prahy - pro kontext...
praha <- RCzechia::kraje() %>% # objekt všech všechny krajů ...
  filter(NAZ_CZNUTS3 == "Hlavní město Praha") # ... a z nich Praha

# pražský kus Vltavy - s řekou vypadá město líp...
vltava <- RCzechia::reky("Praha") 

ggplot() +
  geom_sf(data = vltava, color = "steelblue", size = 1.25, alpha = .5) +
  geom_sf(data = praha, fill = NA, size = 1, alpha = .5) +
  geom_sf(data = velky_ctverec, color = "darkorchid4", fill = NA) + 
  geom_sf(data = maly_ctverec, color = "goldenrod2", fill = NA) + 
  geom_sf(data = spolecnost, col = "red", pch = 4, size = 2.5) +
  geom_sf_text(data = velky_ctverec, aes(label = ctverec), color = "darkorchid4") +
  geom_sf_text(data = maly_ctverec, aes(label = ctverec), color = "goldenrod2") +
  theme(axis.title = element_blank())

Typický use case faunistických čtverců je zakreslení nálezů do mapy ČR; pro ilustraci použiji opět mravence Lasius myops Forel 1894, volně podle https://pavelpech.webpark.cz/Pech_Lasius_m.pdf

# lokality Lasius myops; podle Dva nálezy mravence Lasius myops..., Pech 2010
lokality <- c("Kadaň", "Louny")

# geokódování lokalit - typ bodu = obec
myops <- RCzechia::geocode(lokality) %>% 
  filter(type == "Obec")

# zjistíme "hrubý" čtverec jako vektor - standardní metodika 4 čísel
hrube <- sf::st_join(myops, RCzechia::KFME_grid("low"))$ctverec

# pro hrubé čtverce zjistíme souřadnice středobodů (v nich bude střed kolečka)
stredobody <- sf::st_centroid(subset(RCzechia::KFME_grid(), ctverec %in% hrube))

# o výsledku podáme zprávu
ggplot() +
  # kompletní síťová pole pro orientaci
  geom_sf(data = KFME_grid(), fill = NA, color = "gray65", size = .25) +
  # hranice republiky v nízkém (= elegantním) rozlišení
  geom_sf(data = republika("low"), fill = NA, color = "gray40", size = 1) +
  # významné řeky pro snazší orientaci
  geom_sf(data = subset(reky(), Major), color = "steelblue", size = .66, alpha = 1/2) +
  # nalezené čtverce jako body
  geom_sf(data = stredobody, color = "firebrick", size = 3) +
  # omáčka pro hezčí graf
  theme_void() + 
  labs(title = "Lokality mravence *Lasius myops* Forel 1894 v ČR",
       caption = "podle Pech 2010") +
  theme(plot.title = ggtext::element_markdown(size = 15))


Pro zájemce o využití čtverců mimo erko – například v rámci QGIS nebo jiného GISu – dále nabízím polygony čtverců ke stažení ve formátu GeoPackage.

Soubor kfme_czechia.gpkg obsahuje dvě vrstvy:

  • vrstva puvodni představuje čtverce podle původní metodiky (4 číslice)

  • vrstvajemne jsou čtverce podle modifikované metodiky (4 číslice + písmeno)