load("m3.RData") # Podzimní sběr výkazu M3 2022
load("ruian.RData")
# Set the coordinate reference systems (CRS)
sjtsk_crs <- 5514 # S-JTSK (EPSG:5514)
wgs84_crs <- 4326 # WGS 84 CRS code (EPSG:4326)
convert_coordinates <- function(data) {
data_inverted <- data %>% mutate(
`Souřadnice X` = as.double(`Souřadnice X`) * -1,
`Souřadnice Y` = as.double(`Souřadnice Y`) * -1
)
# Create an sf object from the dataset
data_sf <- st_as_sf(data_inverted, coords = c("Souřadnice Y", "Souřadnice X"), crs = sjtsk_crs)
# Transform the coordinates to WGS 84
data_wgs84 <- st_transform(data_sf, crs = wgs84_crs)
# Extract the transformed coordinates and add them as new columns
data_transformed <- data_wgs84 %>%
cbind(st_coordinates(data_wgs84)) %>%
as.data.frame() %>%
rename(x = X, y = Y) %>%
select(-geometry)
return(data_transformed)
}
okresy <- st_make_valid(st_read("Okresy___polygony.shp"))
## Reading layer `Okresy___polygony' from data source
## `/Users/yetty/Projects/Křesťanské školy - výzkum/Okresy___polygony.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 77 features and 34 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 12.09067 ymin: 48.55189 xmax: 18.85924 ymax: 51.05578
## Geodetic CRS: WGS 84
souradnice_obci <- ruian %>%
filter(!is.na(`Souřadnice X`) & !is.na(`Souřadnice Y`)) %>%
select(`Kód obce`, `Název obce`, `Souřadnice X`, `Souřadnice Y`) %>%
distinct(`Kód obce`, .keep_all = TRUE)
souradnice_obci_wgs <- convert_coordinates(souradnice_obci)
souradnice_obci_sf <- st_as_sf(souradnice_obci_wgs, coords = c("x", "y"), crs = wgs84_crs)
souradnice_obci_sf$okres <- st_within(souradnice_obci_sf, okresy)
obce_s_okresy <- st_drop_geometry(souradnice_obci_sf) %>% mutate(
okres = as.numeric(okres)
)
m3_s_okresy <- left_join(m3, obce_s_okresy, by=c('KodObce' = 'Kód.obce'))
souhrn_po_okresech <- m3_s_okresy %>%
filter(OrganizaceSkoly == 1, DruhZrizovatele %in% c(2, 5, 6)) %>% # Vyfiltrování pouze běžných škol
group_by(okres) %>%
summarize(
PomerZakuSVP_Mean = mean(PomerZakuSVP), # Výpočet průměrného počtu žáků se SVP na školách
PomerZakuSVP_SD = sd(PomerZakuSVP), # Výpočet směrodatné odchylky pro okres
ZaciCelkem = sum(ZaciCelkem),
ZaciSVP = sum(ZaciSVP),
PocetBudov = n()
)
okresy_s_daty <- left_join(okresy, souhrn_po_okresech, by=c("OBJECTID" = "okres"))
percentil_high <- quantile(okresy_s_daty$PomerZakuSVP_SD, 0.90)
okresy_nejvyssi_odchylka <- okresy_s_daty %>% filter(PomerZakuSVP_SD > percentil_high)
okresy_nejvyssi_odchylka <- okresy_nejvyssi_odchylka[order(-okresy_nejvyssi_odchylka$PomerZakuSVP_SD), ]
Okresy od 90. percentilu:
print(okresy_nejvyssi_odchylka[, c("NAZ_LAU1", "PomerZakuSVP_SD", "PocetBudov")])
## Simple feature collection with 8 features and 3 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 12.38244 ymin: 49.08281 xmax: 15.85797 ymax: 51.02328
## Geodetic CRS: WGS 84
## NAZ_LAU1 PomerZakuSVP_SD PocetBudov geometry
## 5 Louny 0.15269557 26 MULTIPOLYGON (((14.04154 50...
## 2 Mladá Boleslav 0.13644280 37 MULTIPOLYGON (((14.91391 50...
## 6 Most 0.12484385 26 MULTIPOLYGON (((13.55812 50...
## 7 Liberec 0.09970977 49 MULTIPOLYGON (((15.02023 51...
## 3 Tachov 0.09723306 14 MULTIPOLYGON (((12.794 49.9...
## 8 Jihlava 0.09637496 36 MULTIPOLYGON (((15.71774 49...
## 4 Sokolov 0.09449276 27 MULTIPOLYGON (((12.61711 50...
## 1 Kladno 0.08871702 47 MULTIPOLYGON (((14.02338 50...