Esri Complete Street Rule Discussion-Feedback?

82884
223
12-11-2014 10:09 AM
DavidWasserman
Occasional Contributor III

Hi All,

My name is David Wasserman, the urban planner/programmer that wrote Complete_Street.cga that is featured in the Complete Street Example. I was hoping that if anyone had any comments on the rule or suggestions for changes/features/bug fixes I wanted to provide a forum for that on Geonet. So say what ever comes to your mind, but I would prefer constructive feedback. This could be a forum where everyone could provide input, discussion, and hopefully create a better rule. If you want to discuss transportation/parking/urban planning rules generally for CityEngine consider hitting this thread first.

I have attached some example renderings for those unfamiliar with the rule and its capabilities. In addition, there is now documentation for the rule available for download here. It is still pretty rough, so feedback is appreciated. In addition to the documentation, there is a new version of the rule posted about here, feedback would be appreciated.

In addition, this is also an ok forum if you are having problems with the rule. If you comment on here, I get buzzed. In the numbered section below I will recount a short summary of problems discussed in this thread.

Kind Regards,
David Wasserman

PS: If you  do anything with the rule or want to share a rendering you made (a nice one), feel free to share your images/experience.

Discovery 1: Webscene issues that were worked out pretty easily, small webscenes work typically better.

Discovery 2: Street rule is not compatible with CE 2013. Its Crosswalks Depend on 2014 UVSpace options, and there is not an ESRI.lib file for 2013. Rule is designed for and works best with the most recent version of CE (2014).
Discovery 3: For road segments to snap, you must make sure they are apart of the same layer. Merge layers if you have snapping problems.

Discovery 4: Short road segments are hard for the street rule to handle at times. A few work around with short segments include: Change crosswalks and stop types to none, making the CrosswalkBegin/End attributes a negative number, manipulating nodes to be longer, or deleting unnecessary nodes to create longer street segments (use simplify graph tool) (Thanks Steve).

Discovery 5: A discussion about curb extensions  and how to make them albeit an unorthodox way is both below and on this thread.

Discovery 6: Bridges have a minimum height requirement to generate (structure just does not make sense below a certain height). Also if you want Piers to appear regardless of Occlusion settings use On, Show All Piers. If it still does not work try: Making a new segment to test the rule one, restarting CE, or re-importing the road layer and starting again.

Discovery 7: When cropping or re-sizing your aerial for your CE project chances are you will need to georeference the image to your geography or another aerial. Georeferencing an aerial in ArcMAP will take on the ArcMAP scene projection but that is not enough. Be sure to use the "Project Raster" in the Toolbox and this will ensure proper scale and placement for your CE scene.

Discovery 8: Mapped Attributes: IF you map the streetWidth or sidewalk street parameters, and you want to adjust them after the fact you must change both the mapped object attribute AND the shape parameter. See responses below for details.

Discovery 9: Handles - Recent editions to the rule in 2017 have started to support handles for traffic lights and streetlights for more custom edits that were typically reserved for photoshop. If you have any suggestions for handles please add a comment. 

_________________________________________________________________________________________________________________

Notice: 1: There is a 2015 Version of the Complete Street rule. There was a bug in the street rule that did not make it work in 2015, and in this version of the rule the bug is fixed. It should work in 2014 as well as 2015 versions of CE.

David Wasserman, AICP
223 Replies
DavidWasserman
Occasional Contributor III

Hey Wendell,

At the moment, all intersections are sent to asphalt, so they don't support turn restrictions like this one out of the box. Something you can do is draw a short street segment across the street and create a new median across it. I realize this is not an elegant solution, but at the moment setting up intersection control parameters are something I want to experiment with down the line...Orientation/smooth transitions is hard problem to solve with these shapes unfortunately.

David

David Wasserman, AICP
0 Kudos
Wendell_Dimaculangan
New Contributor II

Hi David,

Ok thanks, still an excellent rule

DavidWasserman
Occasional Contributor III

HI Wendell Dimaculan

Since we spoke, I have been thinking about making it so the approaches could use string lists to control every turn arrow. This comes up with Synchro all the time, where people want precise control over the turn arrows. The format I was thinking about was having all following start from the center line:
parameter value: "right;through;through;left;left" or even "right;through" (with the last recorded item being what is used for all following lanes). 
Would this be useful based on your experience? 

David

David Wasserman, AICP
0 Kudos
WendellDimaculangan1
New Contributor III

Hi David,

That would be great, Anything that can be controlled individually will be excellent.

Regards,

Wendell

Sent from my Samsung Galaxy smartphone.

0 Kudos
DavidWasserman
Occasional Contributor III

Thank you Wendell. Any other thoughts on the feature are welcome. 

David Wasserman, AICP
0 Kudos
WendellDimaculangan1
New Contributor III

My wish list. Perpendicular parking would be nice, additional lampost in the middle of the median, sidewalk trees on planter boxes, 90° angle curb extention for perpendicular parking. right-turn slip lane on intersections.

Sent from my Samsung Galaxy smartphone.

BastienCLEMOT
New Contributor II

Hi David,

First, congratulation for your awesome work. 

I have a precise question about the roadmark. If i'm not clear (english is not my native language) I can complete with pictures.

I need roadmark above (2-3cm) the street. for my visualization I can't have it in the asphalt texture. How can I manage with this for : 

1) The ceenter line

2) roadmark line between two ways

3) the crosswalk. I need to keep the shape generated. but have it above the street while my asphalt continue below.

Thank you for your reply and your help.

Regards

Bastien

0 Kudos
DavidWasserman
Occasional Contributor III

Hi Bastien, 

 

Thanks! Let me know if you have any ideas for improvements!


Good question. I actually provide an example of how to do this with the "Sharrow" rules. If you check this Rule: 

 

ConventionalLane(dir,lanestotal,lanenumber,stopType)-->

You will see a Sharrow() rule. This rule essentially calls this sharrow rule based on the bike lane settings, and does what I think you are asking (it extrudes a square a small amount to have the sharrow symbol show up as a separate shape). It is adding on top of the existing shapes, not changing them. You could do something similar with an edited version of the CS rule.

 

Can you give me some picture examples so I can provide some sample code? 

 

Thanks, 
David

David Wasserman, AICP
BastienCLEMOT
New Contributor II

Hi, thanks

As you can see on my picture (previous project in CAO software) i have to get the roadmark in polygon separate above the road. (only 2-3cm up). roadmark and road are different objects. Like street lamps on side walk.  

So basically i need to keep the ways structure you write in your rule. but instead of roadmark in the asphalt texture I try to have center line shape and cross walk shape above the street.

Below these "flying" roadmark, it's just the asphalt

0 Kudos
DavidWasserman
Occasional Contributor III

Hi Bastien, 

I think I understand. This is possible, but I think it would require some extensive edits to how lanes/centerlines are represented. Essentially you would either abandon the current textures and use only the AsphaltPainted() (which would be modified to either translate or extrude  the texture in the air 2-3 cm) to create these features. An example is actually the rule below I use for testing different features of the rule (IE testing splits). It creates a new shape, and translates it up in the air 1 meter, colors it red. You could also use the rotation functions to make it so they follow a specified slope as well I believe. 

Red-->     
    alignScopeToAxes(y)
     t(0,1,0)
     color(1,0,0)‍‍‍‍‍‍‍‍‍‍‍‍

I will have to take a look at this if you need a more detailed code example. The rule makes a lot of design decisions around the assumption that these components are represented as textures, but that is no reason why they could not be further broken up in the rule to meet this use case. 


David Wasserman, AICP