Skip to content

Indonesian street network morphology — the driving network and the walking network, measured separately for the same place.

Method

Method reference

Boeing, G. 2019. Urban Spatial Order: Street Network Orientation, Configuration, and Entropy. Applied Network Science 4(1):67. DOI 10.1007/s41109-019-0189-1

Boeing measures the street network morphology of a hundred cities using OpenStreetMap: the entropy of street bearings, typical segment length, average circuity, average node degree, and the proportions of four-way intersections and dead-ends — plus the orientation-order indicator φ. What is done here is not simply applying that method to Indonesia; it is computing both networks for the same place and showing the gap.

Parameters

Sampling radius
800 m
Bin count
36
Weighting
segment length
Tag mapping
default
Extract version
2026-08-20T01:27:20Z / 2026-08-20T01:28:18Z / 2026-08-20T01:31:17Z / 2026-08-20T02:19:04Z / 2026-08-20T02:20:05Z / 2026-08-26T04:27:37Z / 2026-08-26T07:41:41Z / 2026-08-26T07:46:47Z / 2026-08-26T07:56:57Z / 2026-08-26T07:57:59Z / 2026-08-26T08:04:06Z / 2026-08-27T01:55:06Z
Sites
33

Service roads count as drivable; gang (footway, path, steps) enter the walking network only.

Definitions

Orientation entropy — H
Shannon entropy of street bearings binned into 36 bins of 10°, length-weighted. H = −Σ P(i)·ln P(i). Its maximum is ln 36 ≈ 3.584 when every bin is equally occupied; a perfect grid gives ln 4 ≈ 1.386.
φ — orientation-order
φ = 1 − ((H − H_g) / (H_max − H_g))², with H_g = ln 4 and H_max = ln 36. φ = 1 is a single perfect grid, φ = 0 a perfectly disordered network. It measures how closely a network follows the logic of one grid — it is not a quality.
Circuity
Mean network distance over straight-line distance across a seeded sample of node pairs. It is ≥ 1 by definition; below 1 means the distance calculation is broken.
Average node degree
Degree sum over node count, counting edge ends. Ways are split at every junction, so node degree means intersection degree.
Four-way · dead-end
Proportion of nodes of degree exactly four, and of degree one. The degree proportions sum to exactly one, and that is asserted in the test suite.
Intersection density
Count of nodes of degree ≥ 3 per square kilometre of the sampling disc.
Footway coverage
Share of walking-network length carried by pedestrian-only classes — footway, path, pedestrian, steps, corridor. Below 15% a site is flagged thin; above 35% it is called good.

How the numbers are tested

There is no data oracle, but networks with known properties can be constructed. A perfect grid must give four populated bins and minimum entropy; the same grid rotated 29° must give identical entropy with shifted bins; a random geometric graph must approach maximum entropy; a pure tree must give its constructed dead-end proportion exactly. Every histogram must be 180°-symmetric — if it is not, the bearing computation is wrong. Circuity must be ≥ 1 on every sampled pair. All of it gates the build.

Limitations

The headline finding depends on gang being mapped. 9 of the 33 sites here carry a thin-coverage flag, and for those the drive/walk gap cannot be read as a finding about the place. It is a finding about the data.

Tag interpretation is a modelling choice. The Assumptions page shows how far the numbers move when it is changed.

The sampling radius changes results, so it is fixed across the whole set and printed on every card.

No site is rated good or bad. Different morphologies serve different things; high connectivity is not universally better, and kampung-versus-perumahan carries class overtones in Indonesia that a scoring system would inflame. This describes; it does not score.

No routing, navigation or travel-time estimates. No demographic, income or land-value overlay. No policy recommendation.

How these sites were chosen

Candidates are measured before they are adopted, at the same radius (800 m) and under the same tag mapping (“default”) the pipeline uses — a survey that sampled differently would predict nothing. Selection is on data completeness only, never on the metrics: picking sites by their entropy would be choosing the finding in advance.

33 of 126 surveyed candidates clear the thin-coverage threshold (15%). Of the 6 candidates sought as gated perumahan, not one does — 0.9%–4.4%. The one that did reach the set came from the density search rather than from a list of guesses: 2 of the 3 gated sites now have adequate coverage. The kampung-versus-perumahan comparison rests on a number that small. And it is a statement about OpenStreetMap rather than about the places: the gang are unmapped, not absent.

Surveyed candidates, sorted by footway coverage, with whether each was adopted.
CandidateTypeFootway coverageConfidenceStatus
jakarta-gambirGambir, Jakarta — found by density search: 11.0 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search46.4%goodThe best-covered candidate ever surveyed, and 78% of its pedestrian length is inside Medan Merdeka. This measures a park, not a fabric.
bogor-suryakencanaBogor, the Suryakencana pecinanKampung kota40.9%goodAround a third of the footway length inside this disc is inside the Kebun Raya. Garden paths are tagged like gang and counted like gang, so the figure measures the botanical garden rather than the fabric. Bogor is in the set at Empang, 1.4 km south, where the garden is 7% of the pedestrian length.
bandung-simpangSimpang, Bandung — found by density search: 10.2 km of mapped footway in the cell, 1% of it tagged path, park in cellFrom the density search37.5%goodA quarter of its pedestrian length is inside green space, which is enough to make the coverage figure a statement about parks rather than about gang.
ubud-ubudUbud, Ubud — found by density search: 3.9 km of mapped footway in the cell, 54% of it tagged pathFrom the density search36.6%goodUbud is already in the set. This centre is better covered and 1.7 km away.
depok-medina-town-houseMedina Town House, Depok — found by density search: 9.5 km of mapped footway in the cell, 100% of it tagged pathFrom the density search36.4%goodadopted
kampung-braga-bandungBandung, behind BragaKampung kota35.4%goodadopted
bogor-panaraganPanaragan, Bogor — found by density search: 6.7 km of mapped footway in the cell, 9% of it tagged path, park in cellFrom the density search31.6%moderateNearly 30% of its pedestrian length is inside green space, and Bogor is already in the set at Empang, where the same figure is a tenth of that.
kota-baru-pantai-indah-kapukPantai Indah KapukNew town31.5%moderateadopted
ubud-sayanSayan, Ubud — found by density search: 2.0 km of mapped footway in the cell, 76% of it tagged pathFrom the density search27.4%moderateUbud is already in the set.
tanjungpinang-kampung-bugisKampung Bugis, Tanjungpinang — found by density search: 1.6 km of mapped footway in the cell, 26% of it tagged pathFrom the density search27.3%moderateadopted
kampung-kotagedeKotagede, the old Mataram coreKampung kota26.2%moderateadopted
balikpapan-sepinggan-rayaSepinggan Raya, Balikpapan — found by density search: 1.9 km of mapped footway in the cell, 100% of it tagged pathFrom the density search26.1%moderateClears the threshold on 26% coverage with no park in it, and is held back only because its morphology cannot be established from the map. Serially named streets in a residential grid read as planned housing, but nothing in OpenStreetMap says whether it is gated, and the difference is the whole of what `perumahan` means in this set. A better answer than a guessed label is this sentence.
pekanbaru-pekanbaruPekanbaru, Pekanbaru — found by density search: 1.7 km of mapped footway in the cell, 100% of it tagged pathFrom the density search23.4%moderateClears at 23.4% with no park, and is held back because most of that length is `path` and `track` carrying names like Tanjakan Harga Diri and Rute Pesantren — trails rather than gang. Coverage counts them the same; this set should not.
jakarta-menteng-atasMenteng Atas, Jakarta — found by density search: 5.9 km of mapped footway in the cell, 27% of it tagged pathFrom the density search23.1%moderateJakarta already holds six discs, now including Kebayoran Baru.
depok-pondok-cinaPondok Cina, Depok — found by density search: 6.4 km of mapped footway in the cell, 19% of it tagged path, park in cellFrom the density search22.7%moderateA third of its pedestrian length is inside green space, and Depok is in the set at Cipayung.
palangkaraya-palangkaPalangka, Palangka Raya — found by density search: 6.7 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search21.9%moderateadopted
bukittinggi-jam-gadangBukittinggi, the highland market town around the Jam GadangKampung kota21.2%moderateadopted
yogyakarta-kampung-ketandanKampung Ketandan, Yogyakarta — found by density search: 6.7 km of mapped footway in the cell, 6% of it tagged path, park in cellFrom the density search20.9%moderateYogyakarta already holds three discs, now including Pathuk.
palu-lasoaniLasoani, Palu — found by density search: 3.9 km of mapped footway in the cell, 100% of it tagged path, park in cellFrom the density search20.7%moderateadopted
bogor-empangBogor, the Empang kampung south of the pecinanKampung kota19.7%moderateadopted
bandung-pelindung-hewanPelindung Hewan, Bandung — found by density search: 5.3 km of mapped footway in the cell, 3% of it tagged path, park in cellFrom the density search18.9%moderateOver a quarter of its pedestrian length is inside green space, and Bandung is already represented by Braga and Cihapit.
mataram-lingk-sukaraja-timurLingk. Sukaraja Timur, Mataram — found by density search: 3.0 km of mapped footway in the cell, 96% of it tagged path, park in cellFrom the density search17.6%moderateMataram is already in the set at Gapuk Utara.
bandung-garudaGaruda, Bandung — found by density search: 5.0 km of mapped footway in the cell, 79% of it tagged pathFrom the density search17.5%moderateBandung already holds Braga and Cihapit.
bengkulu-kandang-limunKandang Limun, Bengkulu — found by density search: 2.0 km of mapped footway in the cell, 6% of it tagged path, park in cellFrom the density search17.2%moderateOver a quarter of its pedestrian length is inside green space, and Bengkulu is in the set at Penurunan.
kampung-malang-kayutanganKayutangan, MalangKampung kota17.2%moderateadopted
malang-mulyorejoMulyorejo, Malang — found by density search: 3.3 km of mapped footway in the cell, 79% of it tagged pathFrom the density search17.2%moderateMalang is already in the set at Kayutangan.
bogor-kebon-pedesKebon Pedes, Bogor — found by density search: 4.1 km of mapped footway in the cell, 2% of it tagged path, park in cellFrom the density search16.4%moderateBogor is already in the set at Empang.
yogyakarta-tamantirtoTamantirto, Yogyakarta — found by density search: 3.2 km of mapped footway in the cell, 0% of it tagged pathFrom the density search16.3%moderateYogyakarta already holds Code, Kotagede and Pathuk.
kampung-ubudUbud, where the paths are mapped for walkersKampung kota15.8%moderateadopted
bengkulu-penurunanPenurunan, Bengkulu — found by density search: 1.9 km of mapped footway in the cell, 50% of it tagged path, park in cellFrom the density search15.8%moderateadopted
surabaya-jagirJagir, Surabaya — found by density search: 4.8 km of mapped footway in the cell, 5% of it tagged path, park in cellFrom the density search15.4%moderateMore than half of its pedestrian length is inside green space. It clears the coverage threshold on a park.
singkawang-singkawangSingkawang, Singkawang — found by density search: 3.2 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search15.4%moderateadopted
bogor-bantarjatiBogor, Bantarjati — dense kampung north of the gardenKampung kota15.2%moderateBogor is already in the set at Empang.
kampung-kali-code-utaraKali Code, north of the bridgeKampung kota14.9%thin
tanjungpinang-sei-jangSei Jang, Tanjungpinang — found by density search: 2.7 km of mapped footway in the cell, 100% of it tagged path, park in cellFrom the density search14.7%thin
malang-penanggunganPenanggungan, Malang — found by density search: 3.8 km of mapped footway in the cell, 3% of it tagged pathFrom the density search14.5%thin
mataram-ampenanAmpenan, Lombok — the old port town, remapped after 2018Colonial grid14.5%thin
banjarmasin-kuripanKuripan, Banjarmasin — found by density search: 3.9 km of mapped footway in the cell, 42% of it tagged pathFrom the density search14.0%thin
kupang-oepuraOepura, Kupang — found by density search: 1.9 km of mapped footway in the cell, 99% of it tagged pathFrom the density search13.9%thin
pontianak-bansir-lautBansir Laut, Pontianak — found by density search: 2.4 km of mapped footway in the cell, 5% of it tagged path, park in cellFrom the density search13.8%thin
magelang-cacabanCacaban, Magelang — found by density search: 3.7 km of mapped footway in the cell, 27% of it tagged pathFrom the density search13.3%thin
denpasar-sumerta-kelodSumerta Kelod, Denpasar — found by density search: 6.5 km of mapped footway in the cell, 1% of it tagged path, park in cellFrom the density search13.1%thin
semarang-pekundenPekunden, Semarang — found by density search: 4.4 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search12.9%thin
parepare-ujung-buluUjung Bulu, Parepare — found by density search: 3.1 km of mapped footway in the cell, 100% of it tagged path, park in cellFrom the density search12.8%thin
makassar-losariLosari, Makassar — found by density search: 3.5 km of mapped footway in the cell, 5% of it tagged path, park in cellFrom the density search12.5%thin
kediri-paronParon, Kediri — found by density search: 3.6 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search12.4%thin
bogor-sukasariSukasari, Bogor — found by density search: 3.4 km of mapped footway in the cell, 49% of it tagged pathFrom the density search12.4%thin
yogyakarta-pogung-baruPogung Baru, Yogyakarta — found by density search: 3.7 km of mapped footway in the cell, 9% of it tagged path, park in cellFrom the density search12.2%thin
tanjungpinang-bukit-cerminBukit Cermin, Tanjungpinang — found by density search: 2.4 km of mapped footway in the cell, 99% of it tagged pathFrom the density search12.1%thin
gorontalo-tapaTapa, Gorontalo — found by density search: 1.6 km of mapped footway in the cell, 100% of it tagged pathFrom the density search11.8%thin
banjarmasin-pangeranPangeran, Banjarmasin — found by density search: 2.4 km of mapped footway in the cell, 87% of it tagged pathFrom the density search11.6%thin
mataram-lingk-seganteng-karang-gebangLingk. Seganteng Karang Gebang, Mataram — found by density search: 1.7 km of mapped footway in the cell, 88% of it tagged path, park in cellFrom the density search11.5%thin
banjarmasin-telawangTelawang, Banjarmasin — found by density search: 2.2 km of mapped footway in the cell, 87% of it tagged pathFrom the density search11.5%thin
depok-depok-jayaDepok Jaya, Depok — found by density search: 4.8 km of mapped footway in the cell, 95% of it tagged pathFrom the density search11.2%thin
surabaya-airlanggaAirlangga, Surabaya — found by density search: 5.1 km of mapped footway in the cell, 6% of it tagged path, park in cellFrom the density search11.0%thin
cirebon-kejaksanKejaksan, Cirebon — found by density search: 4.9 km of mapped footway in the cell, 4% of it tagged path, park in cellFrom the density search10.8%thin
samarinda-harapan-baruHarapan Baru, Samarinda — found by density search: 1.6 km of mapped footway in the cell, 41% of it tagged pathFrom the density search10.7%thin
medan-kampung-madrasKampung Madras, Medan — found by density search: 3.1 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search10.5%thin
jakarta-pasar-manggisPasar Manggis, Jakarta — found by density search: 3.7 km of mapped footway in the cell, 47% of it tagged path, park in cellFrom the density search10.4%thin
parepare-cappagalungCappagalung, Parepare — found by density search: 1.5 km of mapped footway in the cell, 100% of it tagged pathFrom the density search9.8%thin
cirebon-kalijagaKalijaga, Cirebon — found by density search: 2.6 km of mapped footway in the cell, 37% of it tagged pathFrom the density search9.7%thin
mataram-lingk-pagesangan-selatanLingk. Pagesangan Selatan, Mataram — found by density search: 2.1 km of mapped footway in the cell, 100% of it tagged pathFrom the density search9.7%thin
pontianak-betingPontianak, Kampung Beting on the KapuasKampung kota9.6%thin
jember-jemberJember, Jember — found by density search: 3.3 km of mapped footway in the cell, 1% of it tagged path, park in cellFrom the density search9.5%thin
kampung-legianLegian, gang between the lanesKampung kota9.2%thin
kendari-korumbaKorumba, Kendari — found by density search: 1.8 km of mapped footway in the cell, 57% of it tagged pathFrom the density search9.1%thin
pekanbaru-pelita-pantaiPelita Pantai, Pekanbaru — found by density search: 2.8 km of mapped footway in the cell, 1% of it tagged path, park in cellFrom the density search8.9%thin
sanur-denpasarSanur, where the beach path and the gang were mapped for walkersKampung kota8.8%thin
banda-aceh-kampungbaruKampungbaru, Banda Aceh — found by density search: 2.2 km of mapped footway in the cell, 4% of it tagged path, park in cellFrom the density search8.7%thin
medan-kesawanMedan, the Kesawan shophouse street and its blocksColonial grid8.6%thin
palangkaraya-mentengMenteng, Palangka Raya — found by density search: 2.4 km of mapped footway in the cell, 1% of it tagged path, park in cellFrom the density search8.5%thin
surabaya-gebang-putihGebang Putih, Surabaya — found by density search: 2.9 km of mapped footway in the cell, 3% of it tagged path, park in cellFrom the density search8.4%thin
pekanbaru-pasar-loketPasar Loket, Pekanbaru — found by density search: 1.6 km of mapped footway in the cell, 2% of it tagged path, park in cellFrom the density search8.2%thin
cirebon-kalikoaKalikoa, Cirebon — found by density search: 3.3 km of mapped footway in the cell, 7% of it tagged path, park in cellFrom the density search8.2%thin
denpasar-sumertaSumerta, Denpasar — found by density search: 3.4 km of mapped footway in the cell, 70% of it tagged pathFrom the density search7.8%thinDenpasar is already in the set at Sanur Kaja.
madiun-klegenKlegen, Madiun — found by density search: 2.3 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search7.8%thin
denpasar-ubungUbung, Denpasar — found by density search: 2.6 km of mapped footway in the cell, 15% of it tagged pathFrom the density search7.7%thin
kampung-cicadas-bandungCicadas, BandungKampung kota7.5%thin
bekasi-pondok-kopiPondok Kopi, Bekasi — found by density search: 4.3 km of mapped footway in the cell, 0% of it tagged pathFrom the density search7.4%thin
manado-banjerBanjer, Manado — found by density search: 1.9 km of mapped footway in the cell, 100% of it tagged pathFrom the density search7.4%thin
kota-baru-batam-nagoyaBatam, Nagoya — the unplanned centre of a planned islandNew town7.3%thin
kampung-pakualamanYogyakarta, inside the Pakualaman wallsKampung kota7.3%thin
banda-aceh-bandarbaruBandarbaru, Banda Aceh — found by density search: 1.7 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search7.3%thin
malang-merjosariMerjosari, Malang — found by density search: 3.0 km of mapped footway in the cell, 4% of it tagged path, park in cellFrom the density search7.3%thin
surakarta-jebresJebres, Surakarta — found by density search: 2.7 km of mapped footway in the cell, 0% of it tagged pathFrom the density search6.9%thin
manado-kairagi-iiKairagi II, Manado — found by density search: 1.5 km of mapped footway in the cell, 100% of it tagged pathFrom the density search6.9%thin
kampung-denpasar-gemehDenpasar, GemehKampung kota6.9%thin
surakarta-purwosariPurwosari, Surakarta — found by density search: 1.8 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search6.7%thin
semarang-barusariBarusari, Semarang — found by density search: 1.8 km of mapped footway in the cell, 3% of it tagged pathFrom the density search6.6%thin
palangkaraya-panarungPanarung, Palangka Raya — found by density search: 1.6 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search6.6%thin
salatiga-pancuranPancuran, Salatiga — found by density search: 2.6 km of mapped footway in the cell, 31% of it tagged path, park in cellFrom the density search6.6%thin
kampung-kebon-kacangKebon Kacang, behind Tanah AbangKampung kota6.5%thin
kampung-prawirotamanYogyakarta, dense kampung behind the guesthousesKampung kota6.4%thin
banjarmasin-kuinBanjarmasin, Kuin — a settlement whose streets are partly canalsKampung kota6.4%thin
semarang-cabeanCabean, Semarang — found by density search: 1.9 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search5.2%thin
kampung-ketandan-soloSurakarta, Pasar Gede areaKampung kota5.1%thin
banda-aceh-dusun-baratDusun Barat, Banda Aceh — found by density search: 1.7 km of mapped footway in the cell, 0% of it tagged path, park in cellFrom the density search5.0%thin
manado-pasar-45Manado, the Pasar 45 quarterColonial grid5.0%thin
surakarta-jajarJajar, Surakarta — found by density search: 1.8 km of mapped footway in the cell, 5% of it tagged pathFrom the density search5.0%thin
ambon-kotaAmbon, the town centre between the bay and the hillsColonial grid4.8%thin
ternate-kotaTernate, the town between the fort and the volcanoKampung kota4.5%thin
solo-baluwartiSurakarta, Baluwarti — the kampung inside the kraton wallsKampung kota4.4%thin
perumahan-summarecon-bekasiSummarecon BekasiPerumahan cluster4.4%thin
perumahan-bintaro-sektor-9Bintaro Jaya sektor 9Perumahan cluster4.3%thin
surabaya-tunjunganSurabaya, Tunjungan — the commercial spineColonial grid4.1%thin
aceh-peunayongBanda Aceh, the Peunayong shophouse quarter — rebuilt and remapped after 2004Colonial grid3.9%thin
cirebon-kanomanCirebon, the kampung around the Kanoman kraton and marketKampung kota3.8%thin
kota-baru-batam-centreBatam Centre, the administrative core laid out from nothingNew town3.4%thin
kupang-kota-lamaKupang, the old town by the bayColonial grid3.4%thin
padang-kota-tuaPadang, the old town on the Batang ArauColonial grid3.1%thin
kampung-puloKampung Pulo, JatinegaraKampung kota2.7%thin
medan-pasar-merah-baratPasar Merah Barat, Medan — found by density search: 2.5 km of mapped footway in the cell, 4% of it tagged pathFrom the density search2.6%thin
kampung-ciliwung-bukit-duriBukit Duri, on the CiliwungKampung kota2.5%thin
perumahan-sentul-citySentul CityPerumahan cluster2.3%thin
perumahan-lippo-karawaciLippo Karawaci, TangerangPerumahan cluster2.1%thin
kampung-lawang-seketengPeneleh / Lawang Seketeng, SurabayaKampung kota2.1%thin
palembang-7-uluPalembang, the Musi south bank at 7 UluKampung kota1.8%thin
kampung-ampel-surabayaAmpel, SurabayaKampung kota1.6%thin
perumahan-citralandCitraLand, SurabayaPerumahan cluster1.4%thin
kampung-semarang-kaumanKauman, SemarangKampung kota1.1%thin
kolonial-kota-lama-surabayaSurabaya, the old European quarterColonial grid1.0%thin
perumahan-kota-wisataKota Wisata, CibuburPerumahan cluster0.9%thin
cakranegara-mataramCakranegara, Lombok — a pre-colonial planned grid, laid out on a Balinese ward planColonial grid0.9%thin
balikpapan-klandasanBalikpapan, Klandasan — the oil town grid, and IKN’s nearest cityNew town0.1%thin
jayapura-kotaJayapura, the centre on its shelf of flat groundColonial grid0.0%thin
ubud-ubudUbud, Ubud — found by density search: 1.7 km of mapped footway in the cell, 100% of it tagged pathFrom the density search0.0%thinUbud is already in the set. This centre is better covered and 1.7 km away.

A candidate below the threshold is not quietly discarded — it is measured, recorded, and shown here. Adding a well-mapped perumahan cluster, or mapping one, remains the single most useful thing anyone could do to this project.

Download the candidate survey (JSON, ODbL)

Data and licence

Street geometry comes from OpenStreetMap, © OpenStreetMap contributors, available under the Open Database License (ODbL) 1.0. The geometry and metrics emitted here are a derived database, so they carry ODbL and are offered under the same terms.

openstreetmap.org/copyright · ODbL 1.0

Extracts are fetched at build time, never at page load. After the first load this page makes no network request at all.

Take the data

Share-alike means this derived database is not merely attributed but offered. These are the same files these pages were rendered from.