# Variations of lot sizes within a block (controlled by a map layer)

518
6
11-30-2011 11:24 PM
New Contributor
Hi,

i am currently working on a project and i've run into a problem which i couldn't solve yet.
I was wondering whether you might have any idea, how to handle the following issue:

The base of my project is en existing street network. Now i would like to generate lots. Therefore i created a map layer to control the lot size (lotAreaMin and lotAreaMax).

My problem is, that i have different land use types within a block whose lot sizes differ a lot. There is for example an industrial area with an average lot size of 1000 sqm and a residential area with an average lot size of 500 sqm within the same block. As i realised, CityEngine always takes the value (of the layer map) at the center of gravity of the block. Therefore i cannot model variations within a block. I also made a picture for the better understanding of my problem.

Is it possible to solve that problem by using a python script (which subdivides for example the block along the land use types borders and then generates lots automatically)? Or might there be any other possibility of which i didn't thought yet?

Thanks and best regards,
Nicole
Tags (3)
6 Replies
New Contributor II
You don't need to use Python scripts (although I'm sure it could be done).   You can create a function map layer and use the example code in the layer attributes:

```attr subDivisionRecursive = true
attr lotAreaMin = 200
attr lotAreaMax = 250
attr lotWidthMin = 15
attr irregularity = 0
attr forceStreetAccess = 1```

You also need to ensure that the function map layer covers the area you want, I tend to change the colour from white to blue (for example) and then manually move and resize the map layer so it sits below my city, once done you can switch off the visibility.

Make sure you go to the Block Parameters and use the Attribute Connection Editor to use the values in the Function Map layer as well.

Also try this forum thread where I asked something similar Matthias has kindly included an example!

Hope this helps
New Contributor III
Hi! Have you tried adding a street to cut the block, with a zero width for the road and pavements? You need to fiddle with the intersections to avoid marking the 'invisible' street, and there are some other drawbacks as well.....
New Contributor II

Anyway cutting the block with a zero width street as Timrob suggests might be a good solution, there are issues though.  I think I've had problems with orientation of lots.   However I wonder if this old thread would help you if orientation issues happen?

It's about Orientating first edges of static shapes to dynamic streets... http://forums.esri.com/cityengine/forum-5617.html

Not sure if that will help but I might give you a different angle of attack...
New Contributor
I have the same problem. But the solution with the �??zero-street�?� is not really useful, since i want do model scenarios. Thus the land-use map may change significantly over the different scenarios. In this case I would have to create new zero-streets for each scenario. This is namely for bigger areas and desired interactive �??scenario-switching�?� not very useful.
Is it possible to solve this problem in a proper way?
New Contributor
At the moment i'm working with the "zero-street" solution and it works. But just like noemi i'm looking for a more efficient and dynymic procedure (e.g. in case of dealing with large areas or changing scenarios etc.).
New Contributor III
Hi - can understand the problems with the zero width road.

FWIW, dynamic control over subdivision patterns has to be a top priority in new releases, from my point of view. Map-based behaviour would be great!

I'm also interested in how CityEngine could mimic the real-world process of amalgamating lots, again looking at scenario-based approaches, in this instance investigating demonstration of urban change over time.