Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

In OpenStreetMap data, some large areas are tagged with a residential=yes tag. Actually within this large polygon there are multiple smaller (rectangular) houses (which are actually not drawn as yet). I would like to 'slice' the large polygon into smaller rectangular polygons. Or looking at it another way, I would like to or auto-generate as many fixed size rectangles (houses) into the larger area. I would like to achieve this either using QGIS or MapWindow, as I do not have ArcGIS. Is there any way to do this?

share|improve this question
    
What do you need these small rectangular polygons for? Is it for small scale display? The idea looks interesting. –  julien Jun 13 '12 at 12:59
    
Hi Julien I am trying to use OSM data for flight simulator auto-generated scenery. Such scenery can be created provided individual house polygons are created. OSM data sometimes just has a polygon for entire suburb, which I would instead like to 'chop up' and sub-divide into (maybe random) house level polygons. Is the question clearer now? –  Arvind Jun 13 '12 at 13:24
    
water-clear, thanks! I suppose you would like these fake buildings to look as much as possible as real ones. It is a very interesting problem! –  julien Jun 13 '12 at 15:12

1 Answer 1

It won't look terribly realistic without taking into account roads. I suggest you'll need to work out a few classes of population density / urbanization, and build separate models for how you'd populate each one. A very simplistic low-population suburban model may look like:

  • Split road lines into the segments that exist between intersection nodes
  • Calculate length of road segments
  • Divide road segment lengths by 100m and modulo by 1 to get N
  • Divide road segment lengths by N to get H
  • Every H meters along a road segment, create a 201m-long line centered on the road, perpendicular to the road
  • Buffer all roads by 100m
  • Split those buffers by the perpendicular line layer to create initial lots
  • Split those initial lots by the road segment layer to make a final lots layer
  • Establish centroids for those final lots
  • Paste a house model in a random orientation (or pointed towards the nearest road if you can figure out how) at each final lot

This should give you, very roughly, something like this, albeit without the cul-de-sac effect: Suburban subdivision

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.