Day 10: Why Hexagons for Population Density – Romania H3

Day 10: Uber H3 at ~400 m for Romania’s population density. Hex columns in the browser via QGIS and Qgis2threejs, without admin borders. #100DayMapChallenge.
Day 10: Romania population density as 3D H3 hexagonal columns - #100DayMapChallenge

Day 10: Why hexagons for population density 🔶

Administrative boundaries rarely reflect how people actually occupy space. Counties and cities draw neat boxes, but settlement patterns are continuous and uneven. To explore this, I used Uber’s H3 hierarchical hexagonal index to visualize Romania’s population density at 400-meter resolution, where each hexagon represents the number of people living within it.

Hexagons offer advantages over squares or triangles. Each cell touches six neighbors at equal distance, minimizing directional bias. They reduce edge effects and approximate circular distance relationships while still tessellating perfectly. 📐

The workflow combined QGIS for H3 grid processing and Qgis2threejs to export a 3D web visualization. The result is a browser scene of semitransparent hexagonal columns, where height and color both encode density. Urban peaks emerge immediately, without relying on administrative borders. 🏔️

H3 also supports hierarchical aggregation, allowing smooth zooming from neighborhood to national scale while preserving spatial relationships. That matters when analyzing patterns that ignore political boundaries.

Live demo: Romania hex population · Video: YouTube

The project

Day 8 mapped built-up footprint beyond Cluj’s admin line. Day 10 asks the same kind of question at national scale: where do people actually live, if we ignore county boxes?

Grid: Uber H3, ~400 m cells. Value per cell: number of people. Release note in the project mapping: 2022-06-30. Visualization: semitransparent hexagonal columns in the browser, height and color both carrying density.

Why hexagons

PropertyWhy it helps density maps
Six equal neighborsLess directional bias than squares
Near-circular distanceBetter approximation of equal reach
Perfect tessellationFull coverage without gaps
H3 hierarchyAggregate up/down resolution while keeping lineage

Squares are simpler to store. Hexes are often fairer for neighborhood relationships on a continuous surface.

Workflow

StepTool
Build / join H3 population gridQGIS
Export interactive 3D sceneQgis2threejs
Explore urban peaks vs sparse cellsBrowser (Three.js under the hood)

No choropleth of județe. The peaks are where the people are.

Why this day matters in the series

Week 2 keeps pushing interactivity and spatial honesty: settlement from orbit (Day 8), perception on Gravity Hill (Day 9), then density without political polygons (Day 10). H3 is the technical hinge for later hierarchical and 3D cartography work.

How to follow


#100DayMapChallenge · Day 10/100 · Romania H3 population · LinkedIn

Previous: Day 9: A Ball That Rolls Uphill

Next: Day 11: When Geography Lies About Votes

Leave a Reply

Your email address will not be published. Required fields are marked *