Dan Jacobson1
Rare in Asia, house numbering grids are indeed present in the Philippines, as an analysis of OpenStreetMap data shows.
In places like Bonifacio Global City the names of roads themselves form a quite advanced pattern, with non-overlapping street vs. avenue numbering. House numbers are absent. Other places like Pasay have odd numbered street names perpendicular to even.
If the physical streets form a grid, but the current numbers don't, then we take the liberty to suggest one.
Software used: OGR/GDAL and GNU/Linux command line tools (no GIS or even mouse involved!) and Viking GPS to display the KMZs produced.
Keywords: address grids, address planning, Philippines, OpenStreetMap, Overpass Turbo
Examining house numbers in Metro Manila, we find they often get quite high, and Sixth Street may run from 300 to 1700, as will Seventh Street one block over.
Alas we still haven't found any relation between the street names and house numbers: Crossing Sixth Street does not put you into the 600 block.
Before we talk about grids we will talk about bands. In the above image we only analyze the north-south streets, leaving the east-west streets for some other day.
Using OpenStreetMap
addr:housenumber
s, we constructed these
"hundred block" bands. Yes, those million dollar
contour lines no one has surely ever seen before
on a map of this area. Or perhaps anywhere on
planet earth for that matter. (Well at least
curvy ones.) If only you had such a map back
when you were a newspaper delivery agent...
So we see (this part of) Manila indeed happily does have parallel house numbering on parallel streets. No, we don't know why 1928 Jorge Bocobo Street is so far north. We only allotted a couple minutes to make our million dollar map. No field trip for a fireside chat with the owner in the plans, I am afraid.
- Q: A couple minutes?
A: It took a whole month, for me at least, to figure out how draw address contours, when given just
addr:housenumber
nodes (address points), and ways (building outlines (which we then proceeded to use theST_Centroid()
of.))You see one normally draws contours upon e.g., Digital Elevation Models, etc. -- rasters. Here all we started with was a handful of address nodes -- points. We got the contours by "pretending" the addresses were "elevations". Nice use of the Z axis I would say.
But then we only spent just a minute or two to write a filter for this particular dataset (Malate
addr:housenumber
s).- Q: How did you filter in only the north-south streets?
A: Yes, in some parts of the country one could just check
addr:street
for an "Street" vs. "Avenue" suffix (yup, in the same tag, right along with the proper name, hmmm) but here in Malate it's a mixed bag. Anyways we noticed that the range we were looking for ofaddr:housenumber
s here is 1500 to 3000. That nicely excludes the east-west house numbers in this particular study area.- Q: 3000? Why not just specify "> 1500"?
A: Because you'd never imagine what funny stuff those OpenStreetMap mappers put into that
addr:housenumber
field. To make things simple our first filter was "simple numerical addresses only, please" (/^\d+$/
). Yes, that threw away "2124-2126", "1919-A", etc. which we still could have made some use of if we were desperate for data, but at least it also gets rid of "公寓位置2004", which we're in no mood to deal with today, even if we could have still plucked the 2004 from it.Anyway the handful of addresses we started with was 238, and we whittled that down to 161 valid north-south ones. Sure, there would be 100 times more data to work with, clean data too, if somebody had done an address import. But, well, does the government actually have such a database somewhere to import? One would think with E-911...
Yes it would be tantalizing to trace back north to see where the 100 block's (or 000 block's?) baseline is. But we'll leave that for another day. Same for finding how high they numbers go, on their southward march. Yes we are glad that they cross municipal boundaries without bothersome resets to 0 (or 100), like other countries' towns' addresses do sometimes.
Anyways, such synchronization of house addresses on parallel streets could be no accident. And we fully expect one day when we stroll into a fire department there in Malate we will see hanging on the wall the master plan, like we saw in Illinois, USA.
No. No accident. Take the entire island of Taiwan, nearest neighbor to the north. No synchronization there. It's more like a contest. The starting pistol is fired, the horses leave the gate at the same time, but not only are some faster than others, their left legs run at different rates than their right! (The house numbers on the two sides of a street often lose synchronization with each other.)
Here there is a quite rigid house address grid. For example, no matter what street we take, when it crosses España Boulevard we enter its 900 block. After we go past P. Florentino Street, houses addresses on either side of the street are in the 1000 block, etc. Indeed we can start building a table,
900 | España Boulevard |
1000 | P. Florentino Street |
1100 | Piy Margal Street |
All I could find was
which is a simpler system, but for the city neighboring to the east.
Extrapolating, the "0" line for one of the two axes would appear to lie in the Pasig River. The other axis we'll leave as an exercise.
https://taginfo.openstreetmap.org/search?q=addr
reveals we want
addr:housenumber
. We use that
tag's data over and over in this
article.
On Overpass Turbo we query for it.
In the previous Malate
"bands" example we used
addr:housenumber
directly,
after only minimal filtering. In the current
Sampaloc example, we
merely consult those
addr:housenumber
s to get a firm
idea of the hundred value of each street is,
and then lay down a rectangular grid via
ground control points (GCPs) which we
establish at no less than three
intersections.
See our source code and KMZ for all the steps.
Buildings at UP Diliman do not have numerical addresses. So, just as an exercise, let's give them a address grid!
We observe long straight parallel roads, and use them to define the east-west horizontal lines of our grid:
M. Roxas Avenue | 7400 |
University Avenue | 7500 |
Osmeña Avenue | 7600 |
Alas for the north-south vertical lines we don't find very consistently spaced roads to fit a grid to. Therefore we will just plunk 2500 down at the Oblation Statue, coordinate pair (2500,7500), and use the same 125 meters per 100 house numbers distance we just obtained counting north-south, to also count east-west.
In our Makefile the reader can see we have filled in some ground control points (GCPs) etc. parameters needed for us to be able to use OGR/GDAL to produce our grid, and Viking to display it.
Most, but not all, of the campus is congruent with our grid, so in our Makefile we clip accordingly.
Yes, if we were a purist, Osmeña Avenue would become 74th Avenue, or even just Lane 7400.
So how does what we came up with match that Quezon City ordinance above?.....
Odd numbered streets (running NW/SE) intersecting even numbered streets (running NE/SW) like some cities in Cuba.
We modeled it with an algorithm . Alas, if the block sizes were constant the streets would match our grid lines.
In this area there is no coordination between street names and house numbers. No "700 block starts when you cross 7th St."
Well, let's say we see how we might fill their lives with sunshine via a custom-fit addressing system. Let's use the Chicago concept where numbers only go up to 60 on normal blocks, but could go up to 99 if needed.
So how about as we travel northwest and cross 10th St. we enter the 1000 block. Just before reaching 12th Street we are looking at house 1090 or so. Crossing 12th Street we enter the 1200 block. (No 1100 block.) Just before reaching 14th Street we are looking at house number approximately 1249 (because it is an especially short block.) Continuing northwest there us no 1300 block, and we enter the 1400 block as we cross 14th St.
If instead we insisted on stricter grids, we would cause an unexpected mid-block skip from 1049 to 1201 right next door, which might make sense on a map, but not to the person in the street. Delivery trucks would no longer have the guarantee as to turn either right or left to find 1201. It could be in either block, is all they know.
Avenues run east-west, and (most) Streets (not all numbers used) north-south.
No coordination exists between street names and house numbers. No "700 block starts when you cross 7th St."
Unhappy with just looking at maps, we
decided to "fix their wagon". In our revision
we added 70 to all the north-south Streets,
and would number the houses according to our
single axis system. So City Hall would be
something like 7850 8½th
Ave. Lane 850. I am sure they will be
overjoyed when one day they wake up and find
… whereas I will already have fled.
Looking closely at our map, the reader will notice that beyond (north of) 35th street, all the Streets are numbered one less than they should have been. E.g., 36th should have been called 37th. Sad. (Perhaps they wanted all the "big streets" to be even numbers, even though their system still permits odd numbers for east-west streets.) This even forces us when making our grid overlay to have the curious "35½" to deal with the "transition zone".
Also what should have been called 1st Avenue is called 2nd Avenue. Perhaps to avoid dealing with a "0th Avenue" where what is currently named 1st Avenue lies. That teaches them a lesson for getting too close to the edge. Recommendation: (afterthought) if I were in charge I would at least have had the center point at 25th Avenue and 75th Street, and grow in all four directions from there.
They were doing very good at a well-fitting grid until this accident, or was it a careless choice, occurred.
McKinley Parkway conveniently continues where what might have been called (unlucky?) 13th Street is.
We see they use the early part of the alphabet to for interstitial Streets, and the latter part of the alphabet for interstitial Avenues. Both of which are called Lanes. Hence Lane C is where "9⅔ Avenue" would have been. But the ordering jumps gaps:
Lane | (Avenue) |
---|---|
A | 5⅔ |
B | 6⅓ |
C | 9⅔ |
D | 10⅓ |
28th St. bends south; 30th St. bends north.
Roads are smartly allowed discontinuous segments with the same name. E.g., Lane C, 31st Street, 4th Avenue. All reappear a few blocks later along their same alignment.
If one wants to get picky, one could complain that the letter comes after the word Lane, but the number comes before the words Street and Avenue. (But they are surely just trying to conform to majority English usage.)
Any roads at an angle to the grid are thankfully called Drives: 21st Drive. I will have to check if there is indeed an ordinance...
But not if simply a curved road continuation: 5th Avenue.
To the northeast there is an area with thirty unrelated numbered avenues.
Well how do the building addresses (if any!) coordinate with the street and avenue numbers? We'll it turns out all their addresses are like
BGC Arts Center
26th Street corner 9th Avenue
Bonifacio Global City
Taguig City, Philippines 1634
The OpenStreetMap addr:
address
tags are simply
addr:street 26th Street addr:street:corner 9th Avenue
and that's it.
Well, when they finally get around to numbering buildings in BGC (and many other parts of the Philippines) they can simply use our road number grid map above, adding "00" to all the numbers (× 100). Thus the above address would become "851 26th Street". (Why 851 and not 850? Well we have to of course choose one side of the road to be even vs. odd. And how we did in fact choose is based on of our single axis theory, where the inner sides of the "fold" are even, and outer odd. Below we will see the outer sides are the south and east sides of streets.)
Let's think about all the benefits to "upgrading" such "corner" addressing system addresses with the more North American hundred-numbers-per-block system. The single "26th Street corner 9th Avenue" actually corresponds to four different sides of 26th Street at that intersection:
NW 850 - 898 SW 851 - 899 NE 900 - 948 SE 901 - 949
Each containing 25 addresses for a total of 100. In other words the North American system allows 100 times more precision, or at least capacity. (Why no diagram? Because this stuff is so common in North America so the reader can just check how things work on a map of a random grid town there. You know, e.g., on the Great Plains.)
We also cross our fingers and trust that "26th Street corner 9th Avenue" does not also mean the same thing as "9th Avenue corner 26th Street". But just in case it does, well then we are talking about 200 times more precision.
And let's say that BGC is an area with the biggest properties you could imagine, not 200 or 100 small lots. Yes, but assuming a four-way intersection, "26th Street corner 9th Avenue" still doesn't tell one which of the four corners of the intersection one is talking about. So the North American system still would have at least four times more precision. Comes in handy when dispatching ambulances for example!
- Q: I see, so the Philippines should hurry up and adopt house numbers, lock stock and barrel. Perhaps consulting their nearby neighbor, Taiwan, on how to do it?
A: No way! Again, Taiwan absolutely blew it. They can barely keep both sides of the street coordinated. We're talking about getting off the bus at house number 301 thinking 302 might be across the street, but it's not 302 or 304, but 666! Should have stayed on the bus, until it reached the end and started coming back!
And don't even dream of "parallel streets, parallel numbers". If you want the lockstep numbering needed to make the exercise worthwhile, you had better hire North Americans. But not New Yorkers or San Franciscans. You would think crossing 32nd St. would mean we entered the 3200 block. But unfortunately that's not how it is in those two cities. Sure, you cross it on "D" street and it's 3200, but not when you cross it on "H" street.
So now you know why in e.g., Taiwan, besides saying "1313 Nerdsome Lane" one must also mention what corner it is near, if you want the person in the street to find it.
- Q: But can't AI find it for us?
A: Fine. Stop reading this paper right here and proceed to remove all the house numbers in your community. The rest of this paper is for old fashioned people who still kind of like house numbers and think they are more reliable, especially if one doesn't have an AI chip embedded in ones brain.
All along we never said how many meters per house number we are talking about. That's because it doesn't matter. (But be sure even thin future storefronts will have a whole number reserved). Yes, in many cities often north-south blocks are different lengths than east-west ones. That fine as long as they stay consistent (allowing easy conversion from grid address to longitude / latitude).
When examining the map of BGC we were struck by the fact that they are using exactly 100 meters per Avenue or Street number, therefore we make a note of it here. (That would give us a number every two meters. Fifty on this side of the street, fifty on the other.) Yes, there is always an Avenue or Street every 200 meters: two street numbers.
"I very much prefer the Manhattan style street
addresses names that BGC has
now.".
Using this query, and pushing "Run", will show you the streets.
Running this query we have enough points to indeed detect a (somewhat loose) pattern.
Strict odd addresses on the north, even on the south, side of the road is seen.
Our eyes pop out of our head. It seems they are using about 100 numbers per U.S. mile (50 on either side of the road.) For comparison Chicago uses 800 per mile.
Could this be a rural numbering system, now in a city? Are the lot sizes super big? We will have to investigate further!
Yes, there are outliers, like 8006, that need to be probed.
Wait, remember Malate? Perhaps this is the same "grid", now in the 8000s so far south. But why do the numbers on A. Santos Ave. advance so slow? Could it be that A. Santos Ave. is at such a glancing angle that the numbers don't advance much, perhaps? But why didn't they the east-west component of their grid, but instead stick with north-south? Could it be that A. Santos Ave. started north-south and then increasingly bent east-west? [We'll check it out]
And if such a grid extends at least 80 blocks (8000 numbers), then why cannot one find a shred of documentation about it, vs. e.g., the tons that a web search finds for Chicago's?
We should investigate how deeply house address numbers are used in the Philippines compared to other countries. Are they on every card in one's wallet, or none? What about in "informal settlements"? How about on utility bills? (One notices even on the mighty US passport, penciling in one's address is optional.)
Accu Map 2025/02/12 told me:
There is no central, country-wide planning for house numbers. Also no public database of house numbers. Even within cities or municipalities: except in the city of Manila, that was already built by then. The growth in the past 50 years has been mostly through private communities called Villages or Subdivisions, most of the time gated, the rest being high-rises or squatter areas.
In these private communities, the numbering follows whatever rules the developer chooses, generally blocks and lots, half of the time without street names.
In other, public areas:
Every time there is a new municipal election and new Barangay (the lowest elected administrative area) captains, they may choose to re-number houses sequentially, either per-Street or for the whole Barangay.
Owners of houses in public areas may not like the new number, or get tired of having the number change; so for a small "fee", they will keep an old number. So there are layers of numberings that are present. Also, with Chinese and Catholic communities, they may skip both "4" and "13".
To note: Street names are not unique in a City: there are over 20 "Jade Street"s in Quezon City; this breaks most search functions, including Google Maps, Here, Bing Maps and Apple. The exception is OpenStreetMap which does it correctly (just lacking a few entries).
There is no provision for numbering when there is a currently empty lot. So numbering will skip it, never mind what happens when the lot gets built eventually…
In summary, there are pockets of logic, but mostly numbers have to be collected one by one.
Well we only looked at Metro Manila, but we can already draw some occlusions.
Yes, they are installing E911 systems, but are Philippine cities and towns ready? They'll need to upgrade their informal addressing. Let's hope when they catch up that there is no sloppy or lackadaisical implantation that will just cause more sorrow "down the road". So they had better be quite strict when they do implement it. There are plenty of various planning associations' documents available on how to do so.
The above is a rough draft for submission to the OpenStreetMap 2025 State of the Map conference.
The color of the grid lines in this article is not significant. It was merely what I had chosen as default in Viking on the day I made each map.
Last modified: 2025-04-13 03:04:39 UTC