Esri Complete Street Rule Discussion-Feedback?

97281
223
12-11-2014 10:09 AM
DavidWasserman
Frequent Contributor

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
Frequent Contributor

Hi Geoff,
Yeah... I felt it should be a permanent add, and we are just poking around rule hierarchy a little on a whim... "Street  + Island" etc. That makes sense. I think generally the assets look like they can pull straight from the CS Rules assets. 
I will see you at the UC. Michael Flaxman‌ and myself are interested in your recently flood work (Congrats! They look great!). 
I can update the github to accommodate different textures. I have already started assuming I can update the textures used by the rule or repairing the assets at the very least (you will see a few commits literally editing obj vertices). I try to add rather than take away assets. 

David Wasserman, AICP
0 Kudos
WendellDimaculangan1
Deactivated User

David Wasserman‌ Thanks for the hacktip and yes I stop for now and continue trying to add the pavement above the grass later on my spare time. The additional trees is great for now.

GTaylor-esristaff‌ Thanks for your reply. I wish I could attend the EsriUC but I at the other edge of the world  . I will be looking forward for any new developments on the Parking lot rule.

BastienCLEMOT
Deactivated User

Hi David

I'm back for another question.

It's about randomizing map picked up on the same shape. I builded a rule about creating manhole above the street (like roadmark). I made two test maps ( a green and a blue). But they don't mix on the same street. It's one or the other, but never both on the same street. 

I want to fill this folder with 4 or 5 different manhole texture and then they mix on the same street. 

Then i will apply the same method to garbage and trash can on sidewalk

As I promised, when I finish the first par of my project, we can discuss about improving texture if you need it

Bastien

0 Kudos
DavidWasserman
Frequent Contributor

Hi Bastien, 

I am in a scramble to prep for the ESRI UC, so I can't give any code. 
I can tell you that const and attr are instantiated at the beginning of the shape generation process (and then not changed through out the rule). 
From Doc:const 
A new constant can be introduced by "const" and is evaluated the first time it is encountered in a rule or expression. As in "attr", constant expressions are evaluated only once per generation and rule file. The values of constants cannot be externally changed trough the inspector or by a map. Constant expressions do not appear in the inspector.

My suggestion is remove the "attr" and make this a function that will change every time it is called (theoretically). 

Looking forward to nice textures! =D

David Wasserman, AICP
WendellDimaculangan1
Deactivated User

Hi David,

Is there a way to make the Bridge columns thinner? I will be having a 2.5m width median below.

Regards,

Wendell

0 Kudos
DavidWasserman
Frequent Contributor

Good question. This actually took some research. I did not originally write the bridge rules. 

Pier -->
case heightOverTerrain > 0:
split(v,unitSpace,0){ '0.15: NIL
| '0.70: PierStep2
| '0.15: NIL }
else: NIL

It seems the actual width is set to be about 70% of the street width. I might expose this in a later version, but for now I think you need to adjust this bold element. You should also adjust the other two numbers in italics as well.
 

Hope that helps,

David

David Wasserman, AICP
0 Kudos
WendellDimaculangan1
Deactivated User

Thank you David... It worked!

AbeleGiandoso
Frequent Contributor

This is such an amazing rule set  Thanks for making such a great work available to all of us.

Did you ever consider a medieval street version? Like creating streets that would fit in ancient Rome or any pre-asphalt setting?

0 Kudos
DavidWasserman
Frequent Contributor

Hi Abele, 

Thank you! I am glad you find it useful. 😃

I have considered this, even though there are medieval city rules from 2015. Partially because one of the complaints I have heard internationally is that the rule can't represent many types cobble stone streets and similar facilities. I have at least wanted to get some basic representation of a woonerf or shared street in the rule. Is there something in particular you would like to see in the rule?
David 

David Wasserman, AICP
0 Kudos
AbeleGiandoso
Frequent Contributor

Hi David!

I agree on the cobblestones! I think what could be really really useful is something that adds some irregularity and grunge to the otherwise very perfect streets of CE, and make them feel less perfect and more manufactured . For instance create streets that have not a straight "section" but a concave or convex one, like you see in Pisa or Florence. Often sidewalks are not necessary. 

I have been trying to create something similar and I noted down what the really tough points were:)

Cobblestones should not appear tiled, the texture patch should be very big and have maybe have moss or dirt at the left and right edges, but work correctly with every street width (I am struggling to find a solution on this one).

There should be the possibility to have unpaved muddy paths instead of cobbles for the poor areas maybe.  

Also could be amazing being able to setdress it with medieval themed things instead of cars and bikes (horses, barrels..), or find a way to create some border irregularity trough a dirt map that doesn't look tiled. 

Stone stairs and old bridges could appear when the street angle is steeper than a certain degree (I did that in the rule that I am writing mimicking the one  from the link you posted) and roundabouts could generate squares with simple wells, fountains, stalls or statues. 

These are just thoughts I have about my personal work, but if you could insert it in your project it would be a total blast I think! 

In any case, your job is absolutely brilliant. Thanks for sharing it!

Cheers

A

0 Kudos