Esri Complete Street Rule Discussion-Feedback?

97693
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 Steve,
So setting those to zero should do that, but ultimately I usually deal with this by making one continuous street segment. I...I have a suspicion what line of code might be causing this..and to be honest I put it in there to deal with angled intersections (I found it did not do much). I have actually been looking at how to deal with intersections generally. I have a few questions.

When did you download this example? Can you attach a screen shot of the existing parameters and settings for the relevant segment?

Also if you don't mind opening up the rule can you hit control + F and search for  "+(geometry.uMax(0)-geometry.uMin(0))". Delete that line (should be in two places) and tell me if that does anything...I am not sure why it would matter on these segments, but I am curious...

For context Steve, I made a lot of hard calls when it came to how to integrate two types of texture spaces, and this is a result of some of my design decisions.

Kind regards,
David

David Wasserman, AICP
0 Kudos
SteveRhyne
Deactivated User

I downloaded the CGA rule a few days prior to Christmas.

I deleted the code in the two locations and there was no change. I understand decisions need to be made based on design and I realize new tools require time to refine. I need to be prepared to explain why there are gaps in the texture. From a client perspective they focus on areas like this and then we are in a position to explain which can be difficult sometimes. If you come across a fix, let me know. Thanks!!

DavidWasserman
Frequent Contributor

I see. So there is a more recent version uploaded January 6th of the rule. It has a long list of bug fixes and added variable width bus lanes. I would keep both versions of the rule though. It uses the same assets, so all you would need to do is move the new rule file into your project.

The easiest fix is to manually draw a street that connects to the next intersection and then making so it is one long street segment. The gaps exist because the street segment is making buffer space before the next connection.

This means that you want your street segments to have as few nodes as possible.

What is the start shape where that gap is?
On most roads I can get the gap to a small size based changing the crosswalk and the Gap attribute you know about.

Let me know what you can do with changing the segments if you can. I will take a look at the code later for this. Street to Street connections were not the exact design goal for the street rule.


David

Sample.JPG

David Wasserman, AICP
0 Kudos
SteveRhyne
Deactivated User

The Begin and End Cross Walk To Stop Bar supports negative numbers. When I enter a negative value the texture joins almost seamless. SWEET!!

I noticed if I select a node I have the following type choices: Smart, Crossing, Junction, Freeway, and Roundabout. If I select the buffered space between the 2 segments I have the following choices...Types.jpg

Is it possible that a joint takes on the texture it neighbors?

Thanks.

DavidWasserman
Frequent Contributor

Haha! Yes I forgot about that! I actually did that just for a project too...I am sorry Steve, I should have remembered that. That will work...I am so glad  that attribute can do that.

The answer is no. I focused largely on the street shape, and because Joints use UVspace, how to address them with the current street rule is something I am still thinking about. In fact, if you look at most of the code for other start shapes most of them have just reporting (I want the area to be reported for statistical book keeping), and sending them to Asphalt. The Street Shape and the Sidewalk shape got most of the love and attention in this rule (exceptions are Freeways, roundabouts-roundabouts can make gardens are the sidewalk settings are right). I am sorry if you are having joint troubles. =/

Um...Also...Median_TreeSplit is not a start rule...it should not show up like that...so...huh.
Steve, thanks for putting receptive eyes to the rule...it is so large it is good to get feedback.

David

David Wasserman, AICP
0 Kudos
SteveRhyne
Deactivated User

No worries. I enjoy trying out new tools and helping to trouble shoot and help improve where I can.

What advice would you give for someone to learn CGA language? My programming skills are basic with VB and Python so I would be considered a beginner.

Thanks.

0 Kudos
DavidWasserman
Frequent Contributor

Hi Steve,

We can talk about this more over email. I have a list of resources, suggestions. I am a street geometry specialist at this point, so there are some lessons related to streets that I can definitely pass on as well.

David

David Wasserman, AICP
0 Kudos
KathrynAngleton
Regular Contributor

Hey David. I'm having an issue with this rule file. I'm attaching two images, one of the real road I'm trying to model, and one of how it's looking with your rule file. I will admit, on larger roads, it has been great to work with. The medians and parking and level of detail is great, however, on more narrow roads, I'm having more issues.streetreallife.JPGstreetCE.JPG

0 Kudos
DavidWasserman
Frequent Contributor

Hi Kathryn,
Another surprise! I never thought about doing curb extensions that way! That is very very interesting...You and Steve are going places with this rule.

Unfortunately, I need to catch up. I never designed the rule to do very short segments. The best thing I can suggest it to utilize a few tricks.

     1. Turn the CrosswalkEnd and CrosswalkBegin gap attributes to a negative number.

     2. Make sure Crosswalks are turned off at non-intersections.

     3. Manipulate nodes of the street so that each one is individually longer.

Something to keep in mind is that each time you apply the rule to a new street segment, the rule will treat that segment as a separate street. The BEST way to deal with this issue is to do what the picture below illustrates and delete the one node that looks unnecessary and make a longer street. Then use the edit street tool to get the curve/bend you want.

In general, the street rule will perform best when it is a street to intersection/junction connection. Generally I suggest street segments of lengths at least greater than 30 m. Also keep in mind that if the center space of the street starts to get trimmed by the crosswalk, you will need more CrosswalkEnd/Begin spacing. Geometry clipping by the crosswalk will interfere with how CE calculates edges, thus throws off ALL object insertion. Keep this in mind when trying to deal with short segments.

I will look at this issue in more detail in the future.

Kind regards,
David

Image.png

David Wasserman, AICP
KathrynAngleton
Regular Contributor

That did the trick, thanks!