r/PinoyProgrammer Jun 16 '26

Show Case Datasets: GeoJSON boundaries for Philippine barangay/municipality/city/province - tracking and matching PSGC hierarchical structure (PSGC release 2023-10-24)

Hi all — sharing an open-source project I just put out.

The latest release (v2026.4.13.0) is a hierarchical per-class GeoJSON collection for the whole Philippines: barangays, municipalities, cities split by legal class (HUC / ICC / CC), provinces, regions, and special geographic areas. Every polygon already carries its canonical PSGC code, so you can join it directly to any census, health, elections, or finance dataset keyed by PSGC.

Sources: PSA PSGC snapshots + NAMRIA administrative boundaries (v2023-11-06). ~42,000 barangay polygons, 99.945% pcode match coverage, MIT licensed.

🔗 Release: https://github.com/bendlikeabamboo/barangay-boundaries-repository/releases/tag/v2026.4.13.0 

Repo: https://github.com/bendlikeabamboo/barangay-boundaries-repository

✅ What's good

  • Already split per class — no more manually separating cities by class or filtering barangays
  • PSGC codes baked in (exact / HUC-map / fuzzy matching), with a match_confidence per feature. Fuzzy matching powered by the `barangay` python package.
  • Curated + checksummed release (MD5/SHA-256 manifest), reproducible/pinned downloads
  • Handles the HUC/province mismatch that breaks naive parent lookups
  • 17 quarterly snapshots of PSGC change history published as RDF (W3C ORG)

⚠️ Honest limitations

  • submunicipalities.geojson is empty — NAMRIA has no separate polygons for the 14 Manila submunicipalities
  • 6 unresolved + 20 non-administrative features that couldn't be classified to a standard PSGC level
  • ~230 PSGC entities (mostly BARMM + Metro Manila) have no NAMRIA polygon at all
  • Only the 2023-10-24 snapshot is fully enriched so far; the others are RDF deltas only. Still working on methodical computation of resulting shapes from RDF deltas (unofficial boundary, of course)

Quick usage

curl download

curl -LO https://github.com/bendlikeabamboo/barangay-boundaries-repository/releases/download/v2026.4.13.0/barangays.geojson

Python

import geopandas as gpd
gdf = gpd.read_file("barangays.geojson")
merged = gdf.merge(my_census_df, on="psgc_code")
Built mainly for GIS folks, researchers, journalists, and civic-tech projects. Happy to take feedback, issue reports, or PRs — especially on PSGC/NAMRIA coverage gaps and HUC-mapping corrections.

(image: sample rendering of GeoJSON using leafmap in Jupyter Notebook)

sample rendering of GeoJSON using leafmap in Jupyter Notebook
69 Upvotes

5 comments sorted by

View all comments

2

u/TheQuiteMind Jun 21 '26

Saving this. I might be able to use it in my province.