Skip to content

Commit

Permalink
Merge pull request #2 from svraka/kulterulet
Browse files Browse the repository at this point in the history
Külterület jelölése a település-irányítószám táblában egy új release-ben
  • Loading branch information
svraka authored Apr 12, 2019
2 parents 284509c + 41c8c5b commit 4f5938f
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 17 deletions.
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package: teroszt
Type: Package
Title: Magyarországon használt területi osztályozások adattáblái
Version: 0.2.0
Version: 0.2.1
Authors@R: person("András", "Svraka", email = "svraka.andras@gmail.com",
role = c("aut", "cre"))
Description: Ez az R csomag a KSH Területi számjelrendszerének
Expand Down
7 changes: 7 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# teroszt 0.2.1

## Új adatok

* `irsz_2018` kiegészítése egy `csak_kulterulet` oszloppal: Vannak olyan irányítószámok, amelyek több településhez is tartoznak. Ez az oszlop azt jelöli, hogy az adott irányítószám és település páros csak külterületként fordul-e elő. Ez az oszlop segít besorolni egyéb területi egységekbe a nem egyértelmű irányítószámokat.


# teroszt 0.2.0

## Új adatok
Expand Down
9 changes: 6 additions & 3 deletions R/teroszt.R
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,12 @@
#' nyilvántartásában szereplő irányítószámhoz megadja a települést.
#'
#' \describe{
#' \item{torzsszam}{A település KSH-s településazonosító törzsszáma}
#' \item{telepules}{Település neve}
#' \item{irsz}{Irányítószám}
#' \item{torzsszam}{A település KSH-s településazonosító törzsszáma.}
#' \item{telepules}{Település neve.}
#' \item{irsz}{Irányítószám.}
#' \item{csak_kulterulet}{Vannak olyan irányítószámok, amelyek több
#' településhez is tartoznak. Ez az oszlop azt jelöli, hogy az adott
#' irányítószám és település páros csak külterületként fordul-e elő.}
#' }
#'
#' @source
Expand Down
45 changes: 35 additions & 10 deletions data-raw/irsz_2018.R
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,9 @@ irsz_posta_2018 <- bind_rows(
# Margit-szigetnek sajat iranyitoszama van
telepules = if_else(irsz == "1007", "Budapest", telepules)
) %>%
select(-telepulesresz) %>%
group_by(telepules) %>%
summarise(irsz = list(irsz))
nest(.key = "irsz")


# Iranyitoszamok a HNT-bol
Expand Down Expand Up @@ -88,11 +89,27 @@ hnt_irsz_2018_kieg <- read_excel(
load("data/hnt_telepulesreszek_2018.rda")

hnt_telepulesreszek_2018 <- hnt_telepulesreszek_2018 %>%
select(torzsszam, telepules, irsz) %>%
select(torzsszam, telepules, irsz, kulterulet_jellege) %>%
mutate(
kulterulet = !is.na(kulterulet_jellege),
# Budapesten minden utcajegyzekkel megy, nem kell a kulteruletekkel
# foglalkozni.
kulterulet = replace(
kulterulet,
str_detect(telepules, "Budapest"),
FALSE
)
) %>%
select(-kulterulet_jellege) %>%
distinct %>%
# Zalaszentgróton van egy dupla iranyitoszamos telepulesresz. Mindket iranyitszam hasznalt mas telepulesreszen is, igy dobjuk
# Zalaszentgróton van egy dupla iranyitoszamos telepulesresz. Mindket
# iranyitoszam hasznalt mas telepulesreszen is, igy dobjuk.
filter(irsz != "8790/8795") %>%
mutate(irsz = if_else(irsz == "*", NA_character_, irsz))
mutate(irsz = if_else(irsz == "*", NA_character_, irsz)) %>%
# Megjeloljuk azokat a telepulesreszeket, amiknek sajat iranyitoszamuk van, de
# ezen a telepulesen ez az iranyitoszam csak hozzajuk tartozik.
group_by(torzsszam, telepules, irsz) %>%
summarise(csak_kulterulet = as.logical(min(kulterulet)))

# Egybe

Expand All @@ -104,8 +121,7 @@ hnt_irsz_2018 <- hnt_telepulesreszek_2018 %>%
ungroup %>%
arrange(telepules) %>%
group_by(torzsszam, telepules) %>%
summarise(irsz = list(irsz)) %>%
ungroup
nest(.key = "irsz")


# Postai es KSH osszeolvasztasa
Expand All @@ -117,14 +133,23 @@ stopifnot(nrow(irsz_posta_2018) == nrow(hnt_irsz_2018))
# Minden telepulesnek van parja nev szerint, de vannak kulonbozo iranyitoszamok.
# Ezeket egysegesitjuk

collapse_irsz <- function(df) {
df %>%
filter(!is.na(irsz)) %>%
mutate(
csak_kulterulet = replace_na(csak_kulterulet, FALSE)
) %>%
group_by(irsz) %>%
summarise(csak_kulterulet = as.logical(min(csak_kulterulet)))
}


irsz_2018 <- hnt_irsz_2018 %>%
full_join(irsz_posta_2018, by = "telepules") %>%
group_by(torzsszam, telepules) %>%
mutate(
irsz = list(append(irsz.x, irsz.y, after = length(irsz.x))),
irsz = list(unlist(irsz)),
irsz = map(irsz, ~discard(., is.na)),
irsz = map(irsz, unique)
irsz = map2(irsz.x, irsz.y, bind_rows),
irsz = map(irsz, collapse_irsz)
) %>%
select(-irsz.x, -irsz.y) %>%
unnest %>%
Expand Down
Binary file modified data/irsz_2018.rda
Binary file not shown.
9 changes: 6 additions & 3 deletions man/irsz_2018.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 4f5938f

Please sign in to comment.