Ostatnimi czasy coraz częściej docierają niepokojące sygnały o tym, że próbuje się, celem partykularnych interesów, zmniejszyć powierzchnię terenów stanowiących formy ochrony przyrody. Takim ostatnim głośnym przypadkiem jest choćby próba wydarcia blisko 5 hektarów ziemi z obszaru Świętokrzyskiego Parku Narodowego na rzecz Klasztoru Misjonarzy Oblatów Maryi Niepokalanej.
Czy w Polsce mamy tak dużo obszarów stanowiących formy ochrony przyrody by móc je uszczuplać? Zainteresowanych odnośnie form ochrony przyrody kieruję do ustawy z dnia 16 kwietnia 2004 r. o ochronie przyrody (Dz.U.2004.92.880) oraz świetnie przygotowanego i prowadzonego przez Generalną Dyrekcję Ochrony Środowiska centralnego rejestru form ochrony przyrody. Wspomnę tylko, że w rozdziale II art. 6 ust 1. wspomnianej wyżej ustawy wymieniono formy ochrony przyrody. Wśród tych form, które w sposób trwały zabezpieczają walory przyrodnicze są między innymi wymienione parki narodowe. Zgodnie z definicją Park Narodowy (PN) obejmuje obszar wyróżniający się szczególnymi wartościami przyrodniczymi, naukowymi, społecznymi, kulturowymi i edukacyjnymi, o powierzchni nie mniejszej niż 1000 ha, na którym ochronie podlega cała przyroda oraz walory krajobrazowe. Park narodowy jest państwową osobą prawną z określonymi zadaniami. Wykaz parków narodowych stanowi załącznik do ustawy. W Polsce utworzono dotychczas 23 parki narodowe, ostatni powstał w 2001 roku, kiedy to utworzono Park Narodowy „Ujście Warty” o powierzchni 80,74 km2. Lokalizację parków narodowych w Polsce przedstawiono poniżej na rysunku.
Jak można się z niego zorientować w skali kraju i w skali mapy są to niewielkie obszary, czasami wręcz ledwo dostrzegalne. Korzystając z wspominanego centralnego rejestru form ochrony przyrody GDOŚ lub z Wikipedii można o nich przeczytać do czego zachęcam, a przede wszystkim zachęcam do odwiedzin i bezpośredniego kontaktu z naturą.
Celem tego wpisu jest jednak obliczeniowe sprawdzenie jaki procent obszaru Polski stanowią parki narodowe, i jak to przedstawia się na tle innych krajów Europy. W tym celu skorzystam z danych pobranych z Wikipedii (chyba była to najbardziej pracowita część tego wpisu). Niestety tym razem Wikipedia nie popisała się, brakuje ujednoliconej formy danych o parkach. Dla części krajów forma ta przybiera kształt tabeli (z czego się cieszymy najbardziej). Niestety układ tabel dla poszczególnych krajów różni się dość znacząco między sobą, więc trudno było napisać w pełni automatyczny skrypt, który by nam dane o parkach szybciutko pobierał. W dodatku dla części krajów parki narodowe mają charakter opisowy.
Przykładowy fragment kodu do pobierania danych przedstawiono poniżej:
library("rvest")
# Parki narodowe w Polsce
wiki <- "https://pl.wikipedia.org/wiki/Parki_narodowe_w_Polsce"
webpage <- read_html(wiki)
table_links <- html_nodes(webpage, ".wikitable")
tables <- html_table(table_links, fill = TRUE)
# jest jedna tabela na stronie, usuwamy zbedne kolumny
pn_tmp_df <- tables[[1]]
pn_tmp_df <- pn_tmp_df[,c(2,6)]
colnames(pn_tmp_df) <- c('Nazwa','Powierzchnia')
pn_tmp_df['Kraj'] <- 'Polska'
# oczyszczenie danych
pn_tmp_df <- pn_tmp_df[-nrow(pn_tmp_df),]
pn_tmp_df$Powierzchnia <- gsub(",",".", pn_tmp_df$Powierzchnia, perl = TRUE)
# dołaczamy do ramki głównej
pn_df <- rbind(pn_df,pn_tmp_df)
W rezultacie utworzona została ramka danych (obiekt Data Frame), w której zebrane zostały dane, w szczególności powierzchnia, parków narodowych znajdujących się w krajach Europy. Ramka została zapisana lokalnie w pliku.
pn_df <- pn_df[,c(3,1,2)]
colnames(pn_df) <- c('Kraj','Nazwa_parku','Powierzchnia_parku')
write.table(pn_df,file="parkiEuropy.txt",sep=",", row.names = FALSE, col.names = TRUE, fileEncoding = "UTF-8")
Posiadając przygotowane dane można się wreszcie zabrać do analizy. Aha, aby zestawić powierzchnię parków narodowych potrzebować będziemy jeszcze powierzchnie krajów. Je także pobierzemy z Wikipedii i po oczyszczeniu zapiszemy w ramce kraje_df.
library("rvest")
# pobieramy powierzchnie państw Europy z Wikipedii
wiki <- "https://pl.wikipedia.org/wiki/Pa%C5%84stwa_Europy"
webpage <- read_html(wiki)
table_links <- html_nodes(webpage, ".wikitable")
tables <- html_table(table_links, fill = TRUE)
# pierwsza tabela to kraje
kraje_df <- tables[[1]]
kraje_df <- kraje_df[,c(3,7)]
colnames(kraje_df) <- c('Nazwa','Powierzchnia')
kraje_df$Nazwa <- gsub("\\[.*","", kraje_df$Nazwa)
kraje_df$Powierzchnia <- gsub("[[:space:]]","", kraje_df$Powierzchnia)
Teraz odczytamy nasze dane o parkach, połączymy z informacjami o powierzchni poszczególnych krajów i obliczymy procent powierzchni jaki zajmują parki narodowe. Następnie przedstawimy to graficznie korzystając z biblioteki ggplot2.
# odczytujemy parki narodowe z pliku
parki_narodowe_df <- read.table(file="parkiEuropy.txt", header = TRUE, sep=",", na.strings = "NA", stringsAsFactors = FALSE, fileEncoding = "UTF-8")
# obliczamy sumę powierzchni parków narodowych w poszczególnych krajach
parki_narodowe_df %>%
group_by(Kraj) %>%
summarise(
n = n(),
pow = sum(Powierzchnia_parku, na.rm = TRUE)
) -> parki.kraj.df
# łączymy informacje z obu ramek danych
parki_n_df <- left_join(parki.kraj.df, kraje_df, by=c("Kraj"="Nazwa"))
parki_n_df[parki_n_df$Kraj == "Szkocja", "Powierzchnia" ] <- 78782
parki_n_df[parki_n_df$Kraj == "Anglia i Walia", "Powierzchnia" ] <- 151174
parki_n_df$Powierzchnia <- as.numeric(as.character(parki_n_df$Powierzchnia))
# obliczamy procent jaki stanowią parki narodowe w poszczególnych krajach
parki_n_df['Procent'] <- parki_n_df$pow/parki_n_df$Powierzchnia * 100
# i następnie prezentujemy graficznie
parki_n_df %>%
arrange(Procent) %>%
mutate(Kraj = fct_inorder(Kraj)) %>%
ggplot(aes(Kraj,Procent)) +
geom_col(fill="orange") +
coord_flip() +
labs(title = "Parki narodowe w Europie",
subtitle = "Dane źródłowe: Wikipedia",
x = "", y = "Procentowy udział powierzchni parków narodowych w powierzchni kraju")
W rezultacie mamy:
Lp. | Kraj | Ilość parków narodowych | Powierzchnia parków (km2) | Powierzchnia kraju (km2) | Procent |
---|---|---|---|---|---|
1 | Islandia | 3 | 12407.0 | 103125.0 | 12.03% |
2 | Anglia i Walia | 13 | 16270.0 | 151174.0 | 10.76% |
3 | Szkocja | 2 | 6393.0 | 78782.0 | 8.11% |
4 | Albania | 11 | 2291.3 | 28748.0 | 7.97% |
5 | Czarnogóra | 5 | 1001.8 | 13812.0 | 7.25% |
6 | Słowacja | 9 | 3178.5 | 49035.0 | 6.48% |
7 | Włochy | 24 | 16260.4 | 301300.0 | 5.40% |
8 | Estonia | 6 | 2439.1 | 45226.0 | 5.39% |
9 | Węgry | 10 | 4819.1 | 93030.0 | 5.18% |
10 | Słowenia | 1 | 838.1 | 20273.0 | 4.13% |
11 | Rumunia | 14 | 8971.2 | 238391.0 | 3.76% |
12 | Białoruś | 8 | 7202.4 | 207600.0 | 3.47% |
13 | Holandia | 20 | 1353.3 | 41526.0 | 3.26% |
14 | Łotwa | 4 | 2084.1 | 64589.0 | 3.23% |
15 | Niemcy | 16 | 10478.6 | 357114.0 | 2.93% |
16 | Finlandia | 40 | 9883.4 | 338145.0 | 2.92% |
17 | Francja | 7 | 16178.0 | 675417.0 | 2.40% |
18 | Litwa | 5 | 1528.0 | 65200.0 | 2.34% |
19 | Austria | 2 | 1869.3 | 83871.0 | 2.23% |
20 | Dania | 5 | 858.0 | 43094.0 | 1.99% |
21 | Chorwacja | 8 | 1065.9 | 56542.0 | 1.89% |
22 | Czechy | 4 | 1371.7 | 78866.0 | 1.74% |
23 | Szwecja | 30 | 7359.5 | 449964.0 | 1.64% |
24 | Bułgaria | 3 | 1804.7 | 110910.0 | 1.63% |
25 | Polska | 23 | 3168.2 | 312679.0 | 1.01% |
26 | Bośnia i Hercegowina | 3 | 412.1 | 51129.0 | 0.81% |
27 | Portugalia | 1 | 702.9 | 92931.0 | 0.76% |
28 | Hiszpania | 15 | 3770.4 | 504645.0 | 0.75% |
29 | Irlandia | 6 | 317.0 | 70273.0 | 0.45% |
30 | Szwajcaria | 1 | 172.4 | 41290.0 | 0.42% |
31 | Belgia | 1 | 57.0 | 30528.0 | 0.19% |
Parki narodowe w Polsce zajmują niewiele ponad 1% obszaru naszego kraju, czy to dużo? Odpowiedzią niech będzie powyższe zestawienie i miejsce 25 pod względem powierzchni przeznaczonej na tą formę ochrony przyrody, jaką są parki narodowe wśród 31 krajów europejskich. Od siebie dodam, że z pewnością myślenie w kategoriach partykularnych interesów różnych grup na temat możliwości wycięcia przyrodniczo cennych obszarów uważam za niedopuszczalne, stąd apel nie odbierajcie nam dziedzictwa.
Apel
Zachęcam do oficjalnego przeciwstawieniu się zapisom projektowi tzw. ustawy środowiskowej wyrażonej w petycji. Skutki jej przyjęcia wypunktował między innymi Rzecznik Praw Obywatelskich. Dotychczasowe przepisy z pewnością nie są idealne, inwestorzy skarżą się na czasochłonne procedury środowiskowe, ale najgorszą rzeczą jest wpadanie z jednej skrajności w drugą.
W jakim języku jest napisany skrypt do pobierania danych z Wikipedii?
Zgodnie z częścią tematu bloga R acjonalnie. Jest to język R.