Can I link laneWidth to streetWidth attribute?

2277
3
04-28-2015 10:41 AM
ErwinVervacke
New Contributor III

I want to evaluate my 'user errors' on 1400 segments by reducing the number of variations in the shape creation. [does that make sense?]

So basically I only have 5 different streetwidths and need to ensure that the lanewidth is half of the streetwidth.

Aside from the obvious issue of selecting them and keeping track which ones I already 'fixed', I'd like to select all segments and just link to a rule that cycles through all the segments and sets the lanewidth to half the streetwidth. [I believe I can manage that with my limited knowledge].

But the cga manual doesn't show me how to get the streetwidth attr and set lanewidth attr.  I noticed an earlier post about a similar question but don't understand the solution.  Can anyone elaborate please?

Many thanks

PS I'm using the complete streets rule and will regenerate the scene with the new lanewidth hoping that the script updates it's own setting.

0 Kudos
3 Replies
by Anonymous User
Not applicable

A CGA rule can only be run on one shape. To control multiple shapes, you will need to use CityEngine's Python. I can't offer further insight into that process at the moment. David Wasserman​ might be able to shed more light on this. (or David Wasserman

- David you have two logins.)

0 Kudos
DavidWasserman
Regular Contributor

I think the other one is tied to my ESRI email. Notice it has the little ESRI symbol on it. I am not sure I can access that one anymore honestly. =/ I will try to access it and delete it later.

David Wasserman, AICP
0 Kudos
DavidWasserman
Regular Contributor

The largest issue is that with the complete street rule, the lanewidth is a CGA rule parameter, but the street width is a shape parameter ( as in it is inherent to all streets rather than inherent to a rule). When creating mapped attributes it is is best to do the pre-processing in ArcGIS using calculate field or cursors.

So in this case create two fields for  your center lines in ArcGIS and then calculate your street widths. Then I would suggest creating GIS fields for lanewidth and then divides the street width by two. To be safe also subtract -.1 or so from your divided lane width (to avoid floating point error leading to an over-allocation of lanes.).

Sometimes doing everything in CE does not make sense, and I really believe that is the case with mapped parameters. ArcPy is much more robust in dealing with field calculations related to geometry.

David

David Wasserman, AICP
0 Kudos