Тема проекта: Анализ разнообразия Чешуекрылых на охраняемых, неохраняемых и урбанизированных территориях Европейской части России.
Цель: проанализировать видовое разнообразие Чешуекрылых на произвольно выбранных участках особо охраняемых природных территорий, урабанизированных и неурбанизированных территориях.
Задачи:
Рассмотреть распределение отряда Чешуекрылые на территории Европейской части РФ.
Рассмотреть соотношение семейств, выявить регионы с наибольшим числом особей, видов.
Выделить и рассмотреть полигоны для ООПТ, урбанизированных и неурбанизированных территорий.
Провести анализ видового разнообразия на территориях различного типа, выявить или опровергнуть закономерности распространения видов и особей на данных территориях.
Чешуекрылые, или ба́бочки, мотыльки, моли (Lepidóptera Linnaeu), — отряд с полным превращением, наиболее характерная особенность представителей которого — наличие густого покрова хитиновых чешуек (уплощённых волосков) на передних и задних крыльях (при этом чешуйки расположены как на жилках, так и на крыловой пластинке между ними). Для большинства видов характерен специализированный сосущий ротовой аппарат с хоботком, образованным удлинёнными лопастями нижней челюсти. Форма и размах крыльев весьма разнообразны: от 2 мм до 28 см.
Развитие — с полным превращением: имеются стадии яйца, личинки (называемой гусеницей), куколки и имаго. Личинка червеобразная, с недоразвитыми брюшными ногами, мощно склеротизованными покровами головы, грызущим ротовым аппаратом и парными шёлкоотделительными железами, выделения из которых, при соприкосновении с воздухом, образуют шёлковую нить.1
Раздел энтомологии, изучающий чешуекрылых, называется лепидоптерологией.
Домен: Эукариоты
Царство: Животные
Тип: Членистоногие
Класс: Насекомые
Отряд: Чешуекрылые
Рисунок1
На данном изображении представлено распространение отряда Чешуекрылых на Европейской части Российской Федерации (западнее 63 меридиана восточной долготы). Цвет точек с находками указан в зависимости от принадлежности особи к семейству. База данных включает сведения iNaturalist
Рисунок2
На данном изображении показаны находки, исключающие данные iNatralist.Точки имеют величину в зависимости от числа особей.
Всего в базе данных, взятой с gbif.org, имеются данные об обитающих на территории Европейской части РФ 2274 видах Чешуекрылых, принадлежащих к 994 роду и 67 семейству.
Представим данные в виде гистограмм:
library(tidyverse)
library(rgdal)
library(readxl)
library(sf)
library(sp)
ny <- read_excel("BabochkiEU.xlsx")
rnd1 <- ny %>%
filter(!is.na(stateProvince), !is.na(species)) %>%
group_by(stateProvince, species) %>%
distinct() %>%
summarise(rec = n(), .groups = "drop")
df <- data.frame(N = rep(1, nrow(rnd1)))
rnd1 <- rnd1 %>%
cbind(NN = df)
table1 <- rnd1 %>%
group_by(stateProvince) %>%
summarise(NN = sum(N), .groups = "drop") %>%
arrange(desc(NN)) %>%
slice(1:25) %>%
mutate(num = letters[25:1]) %>%
mutate(num = paste0(num, ". ", stateProvince))
table1 %>%
ggplot(aes(x = num, y = NN)) +
geom_col(fill = "green4") +
coord_flip() +
theme_bw() +
labs(title = "ТОП 25 регионов по числу видов Чешуекрылых", x = "", y = "Число видов")
Из гистограммы следует, что наибольшее число видов Чешуекрылых встречается в таких регионах, как Москва, республика Башкирия и Татарстан.
rnd2 <- ny %>%
group_by(species, stateProvince) %>%
summarise(nn = sum(individualCount), .groups = "drop")
table2 <- rnd2 %>%
group_by(stateProvince) %>%
summarise(nnn = sum(nn), .groups = "drop") %>%
filter(!is.na(stateProvince)) %>%
arrange(desc(nnn)) %>%
slice(1:25) %>%
mutate(num = letters[25:1]) %>%
mutate(num = paste0(num, ". ", stateProvince))
table2 %>%
ggplot(aes(x = num, y = nnn)) +
scale_y_log10() +
geom_col(fill = "indianred4") +
coord_flip() +
theme_bw() +
labs(title = "ТОП 25 регионов по числу особей Чешуекрылых", x = "", y = "Ось логарифмирована")
Несмотря на то, что в Москве отмечается наибольшее число видов, по числу находок лидирует Башкирия.
Рассмотрим также соотношение семейств Чешуекрылых в Европейской части РФ с учетом данных iNaturalist и без.
rnd3 <- ny %>%
filter(!is.na(family), !is.na(institutionCode), !is.na(individualCount),institutionCode != "iNaturalist") %>%
group_by(family) %>%
summarise(nn = sum(individualCount), .groups = "drop") %>%
filter(nn > 50) %>%
arrange(desc(nn))
rnd3 <- rnd3 %>%
slice(1:nrow(rnd3)) %>%
mutate(num = letters[nrow(rnd3):1]) %>%
mutate(num = paste0(num, ". ", family))
table3 <- rnd3
rnd3 %>%
ggplot(aes(x = nn, y = num)) +
geom_col(fill = "lightslateblue") +
ggtitle("Соотношение cемейств Чешуекрылых в Европейской части РФ") +
xlab ("Число особей") +
ylab ("Семейство")
rnd4 <- ny %>%
filter(!is.na(family), !is.na(individualCount),!is.na(institutionCode)) %>%
group_by(family) %>%
summarise(nn = sum(individualCount), .groups = "drop") %>%
filter(nn > 100) %>%
arrange(desc(nn))
rnd4 <- rnd4 %>%
slice(1:nrow(rnd4)) %>%
mutate(num = letters[nrow(rnd4):1]) %>%
mutate(num = paste0(num, ". ", family))
table4 <- rnd4
rnd4 %>%
ggplot(aes(x = nn, y = num)) +
geom_col(fill = "orchid3") +
ggtitle("Соотношение cемейств Чешуекрылых в Европейской части РФ (включая данные iNaturalist)") +
xlab ("Число особей") +
ylab ("Семейство")
Рассматривая данные гистограммы, можно сделать вывод о том, что среди Чешуекрылых в Европейской части РФ в наибольшей степени распространены представители таких семемейств, как Geometridae, Noctuidae, Nymphalidae, Lycaenidae и Erebidae. Причем, распределения семейств, с учетом данных iNaturalist и без, отличаются.
В ходе работы было рассмотрены 18 полигонов: 6 особо охраняемых природных территорий, 6 урбанизированных территорий (городов), а также 6 неурбанизированных территорий, находящихся вдали от крупных населенных пунктов, где воздействие человека на природу сведено к минимуму.
setwd("C:/Users/Andrey/Desktop/PR")
bab <- read_excel("BabochkiEU.xlsx") %>%
transmute(longitude = dLong, latitude = dLat, species,
inat = case_when(institutionCode == "iNaturalist" ~ "yes",
TRUE ~ "no" ), nn = individualCount,
type = NA, region = NA) %>%
mutate(latitude = round(latitude, 4), longitude = round(longitude, 4)) %>%
group_by(longitude, latitude, species, inat, type, region) %>%
summarise(nn = sum(nn), .groups = "drop")
oopt1 <- readOGR("OOPT.shp")
## OGR data source with driver: ESRI Shapefile
## Source: "C:\Users\Andrey\Desktop\PR\OOPT.shp", layer: "OOPT"
## with 6 features
## It has 3 fields
## Integer64 fields read as strings: id area
oopt2 <- sf::st_as_sf(oopt1)
name <- c("prioksk", "kizhskiy", "ilmenskiy", "chavash", "kymisnaya", "belogor")
O <- data.frame(type = NA, name = NA, longitude = NA, latitude = NA)
for (i in 1:6) {
pol <- data.frame(oopt2$geometry[[i]][1][1])
colnames(pol) <- c("longitude","latitude")
pol <- cbind(type = "OOPT", name = name[i], pol)
O <- rbind(O, pol)
}
O <- O[-1,]
kizh <- read_csv("kizh.csv")
ilm <- read_csv("ilm.csv")
chavash <- read_csv("chavash.csv")
kymis <- read_csv("kymis.csv")
belogor <- read_csv("belogor.csv")
prioksk <- read_csv("prioksk.csv")
ot <- rbind(kizh, ilm, chavash, kymis, belogor, prioksk) %>%
as_tibble() %>%
transmute(longitude, latitude, species, inat, type = "oopt", nn, name)
ot1 <- sp::SpatialPointsDataFrame(coords = ot[,1:2], data = ot)
ot2 <- sf::st_as_sf(ot1)
ggplot() +
geom_polygon(data = O, mapping =aes(x = longitude, y = latitude), fill = "palegreen3", color = "black", alpha = 0.2, size = 0.75)+
geom_point(data = ot, mapping =aes(x = longitude, y = latitude, color = species), size = 0.9) +
theme(legend.position="none") +
facet_wrap(~name, scales = "free") +
ggtitle('Распространение Чешуекрылых на особо охраняемых территориях')
В качестве рассматриваемых особо охраняемых природных территорий были выбраны: Кижский заказник, находящийся на берегу Онежского озера,Приокско-Террасный государственный природный биосферный заповедник под Серпуховым, Государственный природный заповедни “Белогорье” участок “Ямская степь”, под городом Старый Оскол, Кумысная поляна близ Саратова,Национальный парк "Чаваш Вармане под Ульяновском и Ильменский государственный заповедник под Миассом.
Ekat <- read_csv("Ekat.csv")
Volgograd <- read_csv("Volgograd.csv")
Taganrog <- read_csv("Taganrog.csv")
Narofom <- read_csv("Narofom.csv")
Kuvandik <- read_csv("Kuvandik.csv")
Pechori <- read_csv("Pechori.csv")
U <- rbind(Ekat, Volgograd, Taganrog, Narofom, Kuvandik, Pechori) %>%
as_tibble() %>%
transmute(longitude, latitude, species, inat, type = "urban", nn, name)
U1 <- readOGR("City.shp")
## OGR data source with driver: ESRI Shapefile
## Source: "C:\Users\Andrey\Desktop\PR\City.shp", layer: "City"
## with 6 features
## It has 2 fields
## Integer64 fields read as strings: id
U2 <- sf::st_as_sf(U1)
name <- c("Pechori", "Narofom", "Volgograd", "Ekat", "Kuvandik", "Taganrog")
URBAN <- data.frame(type = NA, name = NA, longitude = NA, latitude = NA)
for (i in 1:6) {
pol <- data.frame(U2$geometry[[i]][1][1])
colnames(pol) <- c("longitude","latitude")
pol <- cbind(type = "urban", name = name[i], pol)
URBAN <- rbind(URBAN, pol)
}
URBAN <- URBAN[-1,]
ggplot() +
geom_polygon(data = URBAN, mapping =aes(x = longitude, y = latitude), fill = "red2", color = "black", alpha = 0.2, size = 0.75)+
geom_point(data = U, mapping =aes(x = longitude, y = latitude, color = species), size = 0.9) +
theme(legend.position="none") +
facet_wrap(~name, scales = "free") +
ggtitle('Распространение Чешуекрылых на урбанизированных территориях')
В работе были рассмотрены такие урбанизированные территории, как Печоры, Наро-Фоминск, Волгоград, Екатеринбург, Кувандык и Таганрог.
neur <- readOGR("Neurban.shp")
## OGR data source with driver: ESRI Shapefile
## Source: "C:\Users\Andrey\Desktop\PR\Neurban.shp", layer: "Neurban"
## with 6 features
## It has 2 fields
## Integer64 fields read as strings: id
neur2 <- sf::st_as_sf(neur)
izborsk <- read_csv("izborsk.csv")
megrozero <- read_csv("megrozero.csv")
pinega <- read_csv("pinega.csv")
olgino <- read_csv("olgino.csv")
verhneoz <- read_csv("verhneoz.csv")
shakva <- read_csv("shakva.csv")
NU <- rbind(izborsk, megrozero, pinega, olgino, verhneoz, shakva) %>%
as_tibble() %>%
transmute(longitude, latitude, species, inat, type = "neurban", nn, name)
name <- c("Megrozero", "Pinega", "Verhneoz", "Izborsk", "Shakva", "Olgino")
NEURBAN <- data.frame(type = NA, name = NA, longitude = NA, latitude = NA)
for (i in 1:6) {
pol <- data.frame(neur2$geometry[[i]][1][1])
colnames(pol) <- c("longitude","latitude")
pol <- cbind(type = "neurban", name = name[i], pol)
NEURBAN <- rbind(NEURBAN, pol)
}
NEURBAN <- NEURBAN[-1,]
ggplot() +
geom_polygon(data = NEURBAN, mapping =aes(x = longitude, y = latitude), fill = "deepskyblue1", color = "black", alpha = 0.2, size = 0.75)+
geom_point(data = NU, mapping =aes(x = longitude, y = latitude, color = species), size = 1.1) +
theme_bw() +
theme(legend.position="none") +
facet_wrap(~name, scales = "free") +
ggtitle('Распространение Чешуекрылых на неурбанизированных территориях')
В качестве полигонов с неурбанизированными землями были выбраны территории: Ольгино близ Н.Новгорода,Шаква на реке Шаква под Кунгуром,Пинега, Архангельская область,Мегрозеро неподалеку от Петрозаводска, Изборск близ Пскова, Верхнеозерное, Оренбуржская область.
Ниже представлены таблицы с данными по полигонам (в первой учитываются данные iNaturalist), где nn - число находок, nsp - число видов, ar - площадь полигона в квадратных километрах.
ar <- data.frame(name = c("belogor", "chavash", "ilmenskiy", "kizhskiy", "kymisnaya","prioksk","Taganrog","Kuvandik",
"Narofom","Pechori","Ekat","Volgograd", "Megrozero", "Pinega","Verhneoz","Izborsk","Shakva","Olgino"),
ar = c(8, 267, 324, 500, 39, 50, 298, 26, 34, 10, 372, 364, 24, 216, 140, 45, 3, 23)
)
in.yes <- rbind(ot, U, NU) %>%
group_by(type, name, species) %>%
summarise(nn = sum(nn), .groups = "drop_last") %>%
summarise(nn = sum(nn), nsp = n(), .groups = "drop") %>%
full_join(., ar, by = "name")
in.no <- rbind(ot, U, NU) %>%
filter(inat != "yes") %>%
group_by(type, name, species) %>%
summarise(nn = sum(nn), .groups = "drop_last") %>%
summarise(nn = sum(nn), nsp = n(), .groups = "drop") %>%
full_join(., ar, by = "name")
in.yes
## # A tibble: 18 x 5
## type name nn nsp ar
## <chr> <chr> <dbl> <int> <dbl>
## 1 neurban Izborsk 302 164 45
## 2 neurban Megrozero 1681 150 24
## 3 neurban Olgino 16 10 23
## 4 neurban Pinega 887 106 216
## 5 neurban Shakva 29 17 3
## 6 neurban Verhneoz 34 22 140
## 7 oopt belogor 28 14 8
## 8 oopt chavash 314 98 267
## 9 oopt ilmenskiy 92 31 324
## 10 oopt kizhskiy 319 111 500
## 11 oopt kymisnaya 17 13 39
## 12 oopt prioksk 414 122 50
## 13 urban Ekat 303 134 372
## 14 urban Kuvandik 53 37 26
## 15 urban Narofom 436 26 34
## 16 urban Pechori 228 116 10
## 17 urban Taganrog 66 30 298
## 18 urban Volgograd 182 100 364
in.no %>% filter(!is.na(type))
## # A tibble: 14 x 5
## type name nn nsp ar
## <chr> <chr> <dbl> <int> <dbl>
## 1 neurban Izborsk 302 164 45
## 2 neurban Megrozero 1681 150 24
## 3 neurban Pinega 887 106 216
## 4 neurban Verhneoz 34 22 140
## 5 oopt ilmenskiy 90 29 324
## 6 oopt kizhskiy 15 6 500
## 7 oopt kymisnaya 2 1 39
## 8 oopt prioksk 338 94 50
## 9 urban Ekat 204 83 372
## 10 urban Kuvandik 50 34 26
## 11 urban Narofom 436 26 34
## 12 urban Pechori 228 116 10
## 13 urban Taganrog 54 20 298
## 14 urban Volgograd 161 86 364
Для оценки уровня видового разнообразия был использован индекс Менхиника.
in.yes %>% mutate(var1 = nsp / ar, var2 = nsp/sqrt(nn)) %>%
ggplot(aes(x = var2, fill = type)) +
geom_boxplot() +
coord_flip()+
xlab("Menchinik index")+
labs(title = "Видовое разнообразие на территориях различного типа (Inat)")+
theme_bw() +
theme(axis.text.x=element_blank())
in.no %>% mutate(var1 = nsp / ar, var2 = nsp/sqrt(nn)) %>%
filter(!is.na(type)) %>%
ggplot(aes(x = var2, fill = type)) +
geom_boxplot() +
coord_flip() +
xlab("Menchinik index") +
labs(title = "Видовое разнообразие на территориях различного типа") +
theme_bw() +
theme(axis.text.x=element_blank())
in.yes %>% mutate(var1 = nsp / ar, var2 = nsp/sqrt(nn)) %>%
ggplot(aes(x = var1, fill = type)) +
geom_boxplot() +
coord_flip()+
xlab("nsp / ar") +
labs(title = "Отношение числа видов к площади(Inat)") +
theme_bw() +
theme(axis.text.x=element_blank())
in.no %>% mutate(var1 = nsp / ar, var2 = nsp/sqrt(nn)) %>%
filter(!is.na(type)) %>%
ggplot(aes(x = var1, fill = type)) +
geom_boxplot() +
coord_flip() +
xlab("nsp / ar") +
labs(title = "Отношение числа видов к площади") +
theme_bw() +
theme(axis.text.x=element_blank())
Нулевая гипотеза: не существует зависимости между числом видов и числом находок.
A1 <- in.yes
a <- cor.test(A1$nn, A1$nsp, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 3))
ggplot(A1, aes(x = nn, y = nsp)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Общее распределение видов и числа особей(Inat)", subtitle = b) +
ylab("n.species")+
xlab("n.count")+
theme_bw()
Вывод: p-value<0,01, cor = 0,6, следовательно, мы отколоняем нулевую гипотезу. Зависимость между числом видов и числом находок существует.
Нулевая гипотеза: не существует зависимости между числом видов и числом находок.
A2 <- in.no %>%
filter(!is.na(type))
a <- cor.test(A2$nn, A2$nsp, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 3))
ggplot(A2, aes(x = nn, y = nsp)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Общее распределение видов и числа особей", subtitle = b) +
ylab("n.species")+
xlab("n.count")+
theme_bw()
Вывод: p-value >0,01, cor = 0,63, следовательно, мы принимаем нулевую гипотезу.
Нулевая гипотеза: на ООПТ не существует зависимости между числом видов и числом находок.
B1 <- in.yes %>%
filter(type == "oopt")
a <- cor.test(B1$nn, B1$nsp, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 4))
ggplot(B1, aes(x = nn, y = nsp)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Распределение видов и числа особей на ООПТ(Inat)", subtitle = b) +
ylab("n.species")+
xlab("n.count")+
theme_bw()
Вывод: p-value<0,005, cor = 0,994, следовательно, мы отколоняем нулевую гипотезу. Зависимость между числом видов и числом находок на ООПТ существует.
Нулевая гипотеза: на ООПТ не существует зависимости между числом видов и числом находок.
B2 <- in.no %>%
filter(type == "oopt", !is.na(type))
a <- cor.test(B2$nn, B2$nsp, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 4))
ggplot(B2, aes(x = nn, y = nsp)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Распределение видов и числа особей на ООПТ", subtitle = b) +
ylab("n.species")+
xlab("n.count")+
theme_bw()
Вывод: p-value<0,005, cor = 0,999, следовательно, мы отколоняем нулевую гипотезу. Зависимость между числом видов и числом находок на ООПТ существует.
Нулевая гипотеза: на урбанизированных территориях не существует зависимости между числом видов и числом находок.
D1 <- in.yes %>%
filter(type == "urban")
a <- cor.test(D1$nn, D1$nsp, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 3))
ggplot(D1, aes(x = nn, y = nsp)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Распределение видов и числа особей на урбанизированных территориях(Inat)", subtitle = b) +
ylab("n.species")+
xlab("n.count")+
theme_bw()
Вывод: p-value>0,01, cor = 0,196, следовательно, мы принимаем нулевую гипотезу. Зависимости между числом видов и числом находок на урбанизированных территориях не существует.
Нулевая гипотеза: на урбанизированных территориях не существует зависимости между числом видов и числом находок.
D2 <- in.no %>%
filter(type == "urban", !is.na(type))
a <- cor.test(D2$nn, D2$nsp, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 3))
ggplot(D2, aes(x = nn, y = nsp)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Распределение видов и числа особей на урбанизированных территориях", subtitle = b) +
ylab("n.species")+
xlab("n.count")+
theme_bw()
Вывод: p-value>0,01, cor = 0,086, следовательно, мы принимаем нулевую гипотезу. Зависимости между числом видов и числом находок на урбанизированных территориях не существует.
Нулевая гипотеза: на неурбанизированных территориях не существует зависимости между числом видов и числом находок.
E1 <- in.yes %>%
filter(type == "neurban")
a <- cor.test(E1$nn, E1$nsp, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 3))
ggplot(E1, aes(x = nn, y = nsp)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Распределение видов и числа особей на неурбанизированных территориях(Inat)", subtitle = b) +
ylab("n.species")+
xlab("n.count")+
theme_bw()
Вывод: p-value>0,01, cor = 0,704, следовательно, мы принимаем нулевую гипотезу. Зависимости между числом видов и числом находок на неурбанизированных территориях не существует.
Нулевая гипотеза: на неурбанизированных территориях не существует зависимости между числом видов и числом находок.
E2 <- in.no %>%
filter(type == "neurban",!is.na(type))
a <- cor.test(E2$nn, E2$nsp, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 3))
ggplot(E2, aes(x = nn, y = nsp)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Распределение видов и числа особей на неурбанизированных территориях", subtitle = b) +
ylab("n.species")+
xlab("n.count")+
theme_bw()
Вывод: p-value>0,01, cor = 0,54, следовательно, мы принимаем нулевую гипотезу. Зависимости между числом видов и числом находок на неурбанизированных территориях не существует.
##Отношение числа особей к площади полигона
Нулевая гипотеза: не существует зависимости между числом особей и площадью полигона.
G <- in.yes
a <- cor.test(G$nn, G$ar, method = "pearson")
b <- paste0("Pearson correlation = ",
round(a$estimate, 3),
"; p-value = ",
round(a$p.value, 3))
ggplot(G, aes(x = nn, y = ar)) +
geom_point() +
geom_smooth(formula = y ~ x, method = "lm") +
labs(title = "Отношение числа особей к площади полигона", subtitle = b) +
ylim(0,500)+
theme_bw()
Вывод: p-value>0,01, cor = - 0,054, следовательно, мы принимаем нулевую гипотезу. Зависимости между числом особей и площадью полигона не существует.
В ходе работы было рассмотрено распределение отряда Чешуекрылые на территории Европейской части РФ, а также соотношение семейств, были выявлены регионы с наибольшим числом особей, видов.
Мы рассмотрели полигоны для особо охраняемых природный территорий, урбанизированных и неурбанизированных территорий и провели их анализ.
Цели и задачи проекта достигнуты.
Чешуекрылые [Электронный ресурс] // Свободная энциклопедия «Википедия» - URL: https://ru.wikipedia.org/wiki/Чешуекрылые↩︎