How to best map a master planned city down to a neighborhood?

I live in a master planned city of Irvine, CA, where the land is owned by a single company, namely, The Irvine Company. The city has been split by the Company into 35 or so “planning areas”. These have ref numbers as in PA15, PA9B, etc., but also colorful names: Woodbridge, Stonegate, Portola Springs and so on and so forth. They are also referred to as “villages” in the Company’s marketing materials. At any given time, homes are being built and sold in three to six of these “villages”. Other “villages”, sometimes referred simply as “areas”, are well established - as much as as any area can be established in a city that’s 40 years young. Residents are well aware of the names of the areas they live in, they know which areas are more desirable, etc. Obviously, real estate agents are very well versed in these as well. Each area is supposed to have a look and feel as far as the architectural style, each one has a community park, at least one shopping center (“village center” as the marketing brochure will tell you), etc.

If I were to map these, I am not sure if they would qualify as administrative boundaries, but if they did, they would be admin_level=9 (the city being 8). I don’t think they have the same administrative status as the boroughs in NYC, but they show up on Google and other “official” maps:,+Irvine,+CA&aq=0&sll=37.0625,-95.677068&sspn=49.624204,78.222656&ie=UTF8&hq=&hnear=Orchard+Hills,+Irvine,+Orange,+California&ll=33.722269,-117.731552&spn=0.051328,0.076389&z=14

Behold the brand new area of Orchard Hills, with a few years-old Woodbury to the south of it and Portola Springs, also just being built, to the east.

If I were to draw each one of these “planning areas”, they would fit together like a puzzle and cover the entire city and then some: a few planning areas extend into the neighboring cities or include unincorporated land in the city’s “sphere of influence”. Here’s the official map:

My first question is how to tag these.

name=* is a given, landuse=residential is probably unnecessary, in part because it would be inaccurate (each planning area, aside from residential communities, contains retail areas, many contain agricultural land, preservation, light industrial, etc.) and in part because I am planning on mapping the neighborhoods within these areas and tagging them as landuse=residential. ref=* is probably a good idea unless it will interfere with some rendering scenarios.

boundary=admin, admin_level=9 is tempting, but not all who I showed these maps to think these are administrative divisions.

boundary=planning_area? This would be very explicit and very precise for my particular project, but it would not make sense almost anywhere else in the world (btw, there are no such values in the database as of now). By the way, some of the newer areas are surrounded by a wall or a natural barrier with only a few entry points. It would be nice to mark those.

Do I add is_in:city=Irvine? Wiki says “is_in” is controversial. Some claim it’s unnecessary because each node or way can be placed “in” the containing place by the algorithms.

Do I, instead (or an addition), add these planning areas to a relation, what would this relation look like?

In the final analysis, I want my tagging help answer a query: “What are all the planning areas of Irvine?” as well as “Which planing area is this point in?”

And that was just my first concern. My second has to do with mapping residential neighborhoods. I don’t think there is a specific schema for mapping these in the wiki.

A “neighborhood”, also called a “development”, “subdivision”, “tract” or “residential community” in various contexts, generally has a name, type of housing (detached vs condos vs apartments), probably an HOA, it can be gated or ungated, and whether it is gated, it is usually surrounded by barrier with one or two entry/exit points, which would be nice to mark. In my city, a neighborhood also belongs to a particular planning area, although that may not be the case elsewhere. I need a schema or best practices for all of these values, too.

Do I tag neighborhoods as is_in:area, is_in:planning_area, is_in:village? Or do I instead add them to a relation that represents the planning area? And if so, how does this relation relate (forgive the tautology) to the outline of the planning area I proposed creating earlier?

The idea is that someone with correct tools and UI can ask “What neighborhoods exist in Orchard Hills?” “Which area is Esperanza Apartments in?” Possibly someone would want to know “How many apartment neighborhoods are there in each planning area of Irvine?”

Just so you have a better picture of what it all looks like, here’s a map of all neighborhoods and planing areas in the city

Strictly speaking, it’s a map of HOAs, but there is pretty much as one-to-one relations between HOAs and neighborhood. Each planning area gets a master HOA or community association. So in reading the legend, 4.1 is a Northpark Community Association corresponding to the planning area of Northpark, and 4.11 is the neighborhood of San Simeon within Northpark. The map does not make a distinction between homes and apartments.

I don’t know if my project is too ambitious or useless, but at the very least I want to understand what everybody else is doing in terms of mapping the cities down to smaller components.

I’d keep it simple for now.

Tag the boundaries of the HOAs as an area with place=suburb, with an average population of around 5000 that doesn’t sound too bad. Then as you suggest you can keep the landuse=residential for the actual neighbourhoods. This should a) keep the toplogical relationships without having to use is_in and b) enable sensible use of the landuse tags. This would mean that Nominatim searches, for example, should return sensible address information. Mapnik AFAIK renders the name at the centroid of the area.

I personally dislike use of place=hamlet and place=village in cities. There are some particularly egregious examples on the edge of downtown Pittsburgh, which are about as far away from the notion of a hamlet as possible.

Having defined boundaries for well-used names for suburbs of a city is a bit of a luxury. In Britain its quite hard to know where the edges of a given area are located (partly because meanings change, people want to say they live in the more desirable of two locations etc) which means having to use a node. Made worse by suburbs often having well-known component areas which themselves might best be described as suburbs. We also lack a notion for suburbs of smaller entities (towns & villages), or at least a means for discriminating them. BUT, I think in your case the planned nature of the city removes some of these messier issues.

It may be worth looking at some of the larger cities in the Philippines: there is an active mapping community and their blog posts quite frequently refer to issues with gated communities and new developments. So they may have come across this type of problem before.

My scope is a bit smaller than your’s, but we have similar goals. I live in Burke Centre, a master planned HOA that is also a Census Designated Place. There are approximately 6000 housing units, and is broken into five named “Neighborhoods”, each further broken down into 13 or so named “Clusters”. This results in 65 Clusters with about 100 housing units each. Housing type (townhouse/condo/single family) and style (colonial, etc) are consistent within a particular Cluster.

I also haven’t found clear guidance on how to map these, but what I’ve done is to create multipolygons for the Cluster boundaries, tagging the ways with the lowest admin_level of the adjoining administrative boundary, and placing a node with place=hamlet on the center and adding it as the label role to the relation. I’m not terribly happy with this arrangement, as I feel like I might be tagging for the renderer but it works for now.

As for admin level Fairfax County is 6, Burke is 8, Burke Centre will be 9, a Neighborhood will be 10, and a Cluster will be 11. I know there are arguments against using admin boundaries for the last two, since it’s part of an HOA and not a governmental admin area.

You can see what nominatim returns for a unit in my neighborhood:

I think it would be great for those interested in mapping HOAs and neighborhoods to really try and come up with a good solution.

I created a HOA article on the wiki a while ago, perhaps we should expand that page as we discuss things. If we can fit our situation into the current tags, great, but if not we should create a proposal.

Thank you both for your feedback. If I did not reply right away it’s because I wanted to study your examples and try some of your suggestions. My challenge is that I want, without “tagging for the renderer”, achieve the best of both worlds: have good searchable hierarchy of neighborhoods and have a meaningful looking slippy map at least on par with Google Maps (who, by the way, have these “area” or “villages” or “HOAs” mapped out. The did not always have them, but they have added them recently and I am impressed.) Here’s where I am right now:

A. Mapping the “planning areas”, aka “villages”, aka HOAs - large subdivisions of a master planned city.

  1. Tagging the boundary polygon as place=suburb does NOT render its name in the center. Rather, it renders somewhere on the boundary, and in very small font. Unacceptable.

  2. If I were to add a landuse tag, then the name renders in the centroid and also in small font. There would be no visual difference between the name of the suburb or the name of a neighborhood inside it. Besides, what would I use for landuse=value? residential is inaccurate. I could do landuse=mixed or landuse=residential;commercial. In those cases, the polygon would not be shaded, which is good, but are those values meaningful/useful to data tools? So I would have to say, also unacceptable.

  3. I think I’m moving away from tagging the polygon as boundary=administrative, admin_level=9 (or anything else), because that leaves a visibly boundary on the map. Dotted or dot-dashed, depending on admin_level. I don’t think I need that. I was already told once that these “planning areas” (or HOAs, or marketing brochure “villages”) are not administrative divisions srictly speaking, and now I tend to agree.

  4. What I ended up doing for now is this:

  • create a relation; tag name=Area name, place=suburb
  • add boundary polygon as role=boundary, no tagging on the polygon itself
  • as an option, identify the streets or natural barriers (such as streams) that define the boundary and add them as role=boundary instead of drawing a new polygon. It’s a little more work, but I think it’s more elegant
  • create a node; tag name=Area name, place=suburb; add to relation as role=label; place the node in the perceived center of the are (often a village green, park or shopping center) - this ensures a pretty rendered name in a font that’s smaller than the city, but larger than neighborhoods, and it’s always in the “right place”, as the centroid of an irregularly shaped are can end up being in a random place.

We can talk about neighborhoods later.

I was trying using Nominatim to track how my tagging affects the hierarchy, but I think it stopped updating its data several days ago. Waiting for a clarification.

Here’s what I have to show for my efforts:

Here’s how Google Maps shows the same area:,-95.677068&sspn=49.624204,78.222656&ie=UTF8&hq=&hnear=Woodbury,+Irvine,+Orange,+California&ll=33.708919,-117.74065&spn=0.102673,0.152779&z=13

I don’t have time to comment now, but I’ve created a more general page on the wiki for neighborhoods:

I think we need to create new tags, as I’ve seen this question cropping up more and more, and I don’t think existing tags are sufficient.

You may be right. I will comment on your wiki page directly in the discussion.

In the meantime, I will probably be going back to the drawing board on what I did for my “suburbs” (reported above) in light of this discussion

It turns out that adding a node tagged place=suburb for the purpose of generating a pretty label in Mapnik screws up Nominatim big time when it comes for parent-child relations, search and address generation. Suffice it say, having a Ventura County node in addition to Ventura County polygon, placed Los Angeles in Ventura County. I will be fixing that, but at the same time I do not want to propagate this issue on the smaller scale of suburbs and neighborhoods.

This is a good way to approach things. I know from personal experience, how messy things can get when a city is not properly mapped. I have a friend who works for a well known new jersey moving company, and I know that he relies on accurate information to get peoples belongings to their home safely and on time. It can be very difficult to achieve this when you are relying on a program such as openstreetmap to get you there, only to find that the maps aren’t accurate. He has told me about a few times that he had circled around the city for hours trying to locate a residence as the customer waited impatiently and was furious for having to wait. This can’t be a good thing!