Read-only mirror of https://github.com/statistikZH/zhGebiete — Kanton Zürich. Issues & pull requests at the source.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-27 11:01:33 +02:00
.github/workflows Remove non functional badge. 2026-07-03 15:41:34 +02:00
man Closes #3 2026-07-24 10:53:07 +02:00
R Closes #3 2026-07-24 10:53:07 +02:00
tests Closes #3 2026-07-24 10:53:07 +02:00
.gitignore Ensure that the license is on GitHub. 2026-07-01 18:01:40 +02:00
.Rbuildignore Update the readme with a coverage badge 2026-07-03 15:06:23 +02:00
DESCRIPTION closes #4; Add serch term to the name_selector 2026-07-24 09:28:20 +02:00
LICENSE Commit all content to the GitHub repo. 2026-07-01 17:56:05 +02:00
LICENSE.md Ensure that the license is on GitHub. 2026-07-01 18:01:40 +02:00
NAMESPACE Commit all content to the GitHub repo. 2026-07-01 17:56:05 +02:00
NEWS.md Closes #3 2026-07-24 10:53:07 +02:00
README.md Merge pull request #5 from statistikZH/Issue_4 2026-07-27 11:01:33 +02:00
README.Rmd Closes #3 2026-07-24 10:53:07 +02:00
tic.R Add content to the file. 2026-07-02 09:09:27 +02:00
zhGebiete.Rproj First commit 2026-07-01 17:11:47 +02:00

📦 zhGebiete

Lifecycle:
experimental

Das R-Paket zhGebiete bietet Nutzenden benutzerfreundliche und standardisierte Abfragen der Gebietsstammdaten-API aus R.

Die API ermöglicht den einfachen Zugriff auf aktuelle und qualitätsgesicherte Stammdaten der Gemeinden, Bezirke und Raumplanungsregionen des Kantons Zürich.

🚀 Installation

Das Paket wird über GitHub installiert:

# install.packages("remotes")
remotes::install_github("statistikZH/zhGebiete")

Beispiele

Ein möglicher Use-Case ist das Harmonisieren und Anreichern von Gemeindennamen. ⚠️ Ein Datensatz lässt sich nur validieren, wenn die automatische Suche ein Resultat liefert.

# Pakete laden
library("zhGebiete")
#install.packages("dplyr")
library("dplyr")


# Test Datensatz erstellen
test_daten <- data.frame(
  "validieren" = c(
    "Hausen am Albis",
    "Hedingen",
    "Kappel am A",
    "Wädenswil",
    "Elgg",
    "Horgen",
    "Illnau-Effretikon",
    "Bauma",
    "Wiesendangen",
    "Bülack",
    "Oetwil",
    "Langnau a. A.",
    "Will",
    "flurlingen",
    "züri",
    "Büla"
  )
)

# Gemeinde Namen Harmonisieren
test_harmonized <- bind_cols(
  "validieren" = test_daten$validieren,
  get_gemeinden(auswahl = TRUE, gemeinde_name = test_daten$validieren)
) |>
  select(validieren, gemeinde_name, gemeinde_code)

View(test_harmonized)

# Harmonisierte Namen und Anreichern
test_enriched <- left_join(
  test_harmonized,
  get_gemeindezuweisungen(),
  by = "gemeinde_code"
) |>
  select(-gemeinde_name.y) |>
  rename(gemeinde_name = gemeinde_name.x)

View(test_enriched)

Diese Funktionen rufen Basis-Tabellen über die API ab.

get_gebiete() # Alle Gebiete abrufen
get_gebietstypen() # Alle Gebietstypen abrufen
get_gemeindemutationen() # Alle Gemeindemutationen abrufen

get_gemeinden() # Alle Gemeinden abrufen
get_bezirke() # Alle Bezirke abrufen
get_raumplanungsregionen() # Alle Raumplanungsregionen abrufen

get_gemeindezuweisungen() # Alle Gemeindezuweisungen abrufen

get_gemeindenhist() # Alle Jahresstände von Gemeinden abrufen

Gemeinde, Bezirk und Raumplanungsregionn-Tabelle lassen sich via Code oder Name filtern. Die Namensabfrage erfolgt dabei harmonisiert.

# Filtern nach einem oder mehreren Codes
get_gemeinden(gemeinde_code = 111)
get_bezirke(bezirk_code = c(101, 104, 112))
get_raumplanungsregionen(raumplanungsregion_code = c(104:110))

# Filtern nach einem oder mehreren Namen mit oder ohne Auswahl
get_gemeinden(auswahl = TRUE, gemeinde_name = "am Albis")
get_bezirke(bezirk_name = c("Horgn", "Züri"))

Gemeindezuweisungen lassen sich nach Gemeindecode filtern.

# Filtern nach einem oder mehreren Gemeindecodes
get_gemeindezuweisungen(gemeinde_code = 111)
get_gemeindezuweisungen(gemeinde_code = c(111, 113))

Jahresstände von Gemeinden lassen sich nach Gemeindecode und Jahr filtern.

# Filtern nach einem oder mehreren Jahren
get_gemeindenhist(jahr = 2026)
get_gemeindenhist(jahr = c(2021:2026))

# Filtern nach einem oder mehreren Gemeindecodes
get_gemeindenhist(gemeinde_code = 111)
get_gemeindenhist(gemeinde_code = c(111, 113))

# Filtern nach Jahr und Gemeindecode
get_gemeindenhist(jahr = c(2021:2026), gemeinde_code = c(111, 113))