Indonesia Province Boundaries 2023
ST_READ('s3://trase-storage/indonesia/spatial/BOUNDARIES/auriga/out/province_boundaries_2023.geojson')
Dbt path: trase_production.main.indonesia_province_boundaries_2023
Explore on Metabase: Full table; summary statistics
Containing yaml file link: trase/data_pipeline/models/indonesia/spatial/boundaries/auriga/out/_schema.yml
Model file link: trase/data_pipeline/models/indonesia/spatial/boundaries/auriga/out/indonesia_province_boundaries_2023.py
Calls script: trase/data/indonesia/spatial/boundaries/auriga/out/province_boundaries_2023.R
Dbt test runs & lineage: Test results ยท Lineage
Full dbt_docs page: Open in dbt docs (includes lineage graph -at the bottom right-, tests, and downstream dependencies)
Tags: mock_model, indonesia, spatial, province
indonesia_province_boundaries_2023
Description
No description
Details
| Column | Type | Description |
|---|---|---|
Models / Seeds
model.trase_duckdb.indonesia_kabupaten_boundaries_2023model.trase_duckdb.indonesia_spatial_boundaries_auriga_out_kabupaten_boundaries_2016_2023_alignment
# Time created: 2025-10-17 10:35
## ---------------------------
## Title: "Province boundary
## Author: "Adelina Chandra"
## Notes:
## Create province boundary from full res kabupaten boundaries
##
## ---------------------------
# -------------------- Preparation -------------------- #
# Load required packages
library(dplyr)
library(ggplot2)
library(tidyverse)
library(sf)
library(fs)
library(aws.signature)
library(aws.s3)
library(arrow)
# Sign into S3
aws.signature::use_credentials()
Sys.setenv("AWS_DEFAULT_REGION" = "eu-west-1")
bucket <- "trase-storage"
# -------------------- Read data -------------------- #
obj <- get_object("/indonesia/spatial/BOUNDARIES/auriga/out/kabupaten_boundaries_2023.geojson", bucket)
kab_23 <- read_sf(rawToChar(obj))
id_track <- s3read_using(read_csv, object = "indonesia/spatial/BOUNDARIES/auriga/out/kabupaten_boundaries_2016_2023_alignment.csv", bucket = "trase-storage")
# -------------------- Dissolving kabupaten boundaries -------------------- #
kab <- st_make_valid(kab_23)
# summarize
prov <- kab %>%
group_by(prov_code) %>%
summarise(.groups = "drop")
prov_diss <- prov %>%
left_join(kab %>% as_tibble() %>% distinct(prov, prov_code)) %>%
mutate(trase_id = paste0("ID-", prov_code)) %>%
select(trase_id, prov_code, prov, geometry)
st_is_valid(prov_diss)
st_make_valid(prov_diss)
quartz(width = 12, height = 8)
ggplot(prov_diss) +
geom_sf() +
labs(title = "Province Boundaries (dissolved from Kabupaten)",
subtitle = "Grouped by prov_code",
x = NULL, y = NULL)
ggplot(kab) +
geom_sf() +
labs(title = "Kab Boundaries",
x = NULL, y = NULL)
# -------------------- Save file to s3 -------------------- #
tmp <- dir_create(file_temp())
prov_diss %>%
st_as_sf() %>%
st_write(path(tmp, "province_boundaries_2023.geojson"))
aws.s3::put_object(
file = path(tmp, "province_boundaries_2023.geojson"),
object = "indonesia/spatial/BOUNDARIES/auriga/out/province_boundaries_2023.geojson",
bucket = "trase-storage"
)
import pandas as pd
def model(dbt, cursor):
dbt.ref("indonesia_kabupaten_boundaries_2023")
dbt.ref(
"indonesia_spatial_boundaries_auriga_out_kabupaten_boundaries_2016_2023_alignment"
)
raise NotImplementedError()
return pd.DataFrame({"hello": ["world"]})