Esri Complete Street Rule Discussion-Feedback?

78836
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

Yes. That is the current hosting spot. The geonet page there will reflect updates.

Let me know if that fixed it. 😃

David Wasserman, AICP
deleted-user-OlpHy1NoMNug
Occasional Contributor II

It definitely allows more flexibility (and ultimately it gets me close enough) but it still appears as if the symbol shows up at the beginning and end of the road segment regardless of the settings.

I've attached a few shots showing the road I'm looking to model and where I am so far.  As you can see from #3, I've divided the road into several segments to allow for the curb cuts, but for some of the shorter segments (particularly at the beginning and end) I don't need two bike symbols for this small section.  It seems that the rule defaults to two regardless of whether the conflict spacing is used or not (#4 compared to #5)

As the conflict spacing gets larger the symbols just get smaller.  It never drops to one symbol.

Finally, let me say again what an awesome resource this is and say thanks for your help.

DavidWasserman
Occasional Contributor III

Hey Scott,

For the segments that have closer symbol spacing, is that intentional? Did you try changing the symbol spacing on those segments while selected?

It will likely continue to do two IF it has enough space because it is long enough to support it (and the conflict spacing does not push it all the way back). This should though allow a minimum on two on each segment which does not look bad in the selection in number 2.I can't take another look any time soon, but as a potential route of experimentation for you if you really want go to line 1438 in the rule BikeLane(sideflip,Width)--> and start removing "~" from Bike_Symbol_Spacing or delete all of line 1446: | ~Width :BikeLaneStamp(Width  ,Bike_Lane_Color+"_stamp.jpg",Bike_Lane_Color). That would get rid of the second stamp. Not sure I want to make that a general change, but I will think about it now. I think if the bike symbol spacing goes over 50, I will make it width for that stamp go to 0. I can see this being an issue for the bus lanes/hov lanes too because the use a similar pattern.

Glad the rule is helpful. Your feedback helps me too. 😃

David

David Wasserman, AICP
0 Kudos
deleted-user-OlpHy1NoMNug
Occasional Contributor II

Yes it was intentional, but just for the example.  I'll increase the spacing for the real thing.  In the end I think you're correct that in order to do what I'm asking I would need to just delete the second stamp but let me run through a few scenarios and you can tell me if I'm understanding it correctly.

I'm only concerned with the selected segment in these.  First attachment shows the spacing as far as it can get for the segment.  Second attachment, as the symbol spacing is increated the stamps start to decrease in size but instead of it dropping to one stamp (like it will drop from 5 to 4, 4 to 3, etc.) it just reduces the size of the stamps.  Eventually, in attachment 3, the stamps get so small as to not be noticeable.

At no point will the spacing cause the segment to only have one stamp, correct?

Scott

0 Kudos
DavidWasserman
Occasional Contributor III

Hi Scott,

When I try to do the same thing except I use conflict spacing, they all disappear, and my experiments with symbol spacing eventually get them to be very small like you show in 3. Symbol spacing as it stands will not remove it. I think after your experience I will make a function that zeros out the symbol width if the spacing goes above some really large number (5000?). Delete the line I mentioned above and it should remove the last symbol. I might remove the last symbol entirely from future iterations.

As a user would you prefer the last stamp be removed entirely? Under what circumstances would you want it kept? If the rule zeroed out the second stamp when the segment ahead IS NOT an intersection would that be better?  I am starting to question its usefulness, and I think I know what I might do when I have time to fix this depending on your answers.

David

David Wasserman, AICP
0 Kudos
deleted-user-OlpHy1NoMNug
Occasional Contributor II

I think I'd be inclined to want the last stamp removed entirely or at least have it drop away based on symbol or conflict spacing.  In a perfect world, where multiple small segments wouldn't be needed, I think it would be nice to have the last stamp since it would automatically mark the beginning and end of the bike lane but the added flexibility of having it drop away would be important in this situation.

Your second suggestion would work as well but I'm wondering if their might still be situations where you'd want to drop the stamp even if an intersection is next (perhaps if the intersection is really big?).  Not sure if this would ever happen but I've found it's hard to predict all the particulars.

DavidWasserman
Occasional Contributor III

In that case, I think I will make a revision that zeros it at non-intersections for now. For your purposes though, delete line 1446. I might get to it this week or later. Depends on a current project's progress.

I think the case of a large intersection will be dealt with conflict space because it does not use relative space, but absolute space to allocate geometry. It will be able to push it as far back as it needs till it zeros out. I think zeroing them out at non-intersections is a good compromise and is consistent with various other aspects of the rule. I will likely implement the same change to bus and hov lanes, so I appreciate the feedback. As per the option to remove it at all times, I will add a hidden parameter to nuke them all if it arises for a project, will not be hard to incorporate.

Thanks for the development feedback.
David
PS: Scott I recently made a quick change to do make the second stamp disappear at intersections. I can look at this more in the future, but for now, this should help you quite a bit. Thanks for the help on this, it is really hard to predict some of the edge case behavior given the number lane types. The change I made applies to both bike, bus, and HOV lanes.

David Wasserman, AICP
0 Kudos
deleted-user-OlpHy1NoMNug
Occasional Contributor II

David,

A bit of follow up (though different) on this.  I'm looking for some of the symbols to actually be sharrows (we'll leave aside the fact that to many, myself included, sharrows aren't particularly helpful for a bicycle network).  I see in the assets that there is a bike logo without an arrow and I can edit it slightly to add sharrows.  How then do I get the rule to reference this image instead of the normal one?

Scott 

0 Kudos
DavidWasserman
Occasional Contributor III

Hey Scott,

I am actually surprised someone starting using that feature so quickly! As you can imagine, I have hesitated adding them to the rule for the very same reason you are hesitant to make models with them! The code that actually places the sharrows is borrowed from the bicycle lane code (because I don't like dedicating lots of code for politically convenient infrastructure). What I would suggested doing is taking your texture, going to the sharrow code (Cntr+F Sharrow(dir,lanestotal,lanenumber), and modifying this line here:

~1.5:BikeLaneStamp(1.5,Bike_Lane_Color+"_stamp.jpg",Bike_Lane_Color)
So that your new texture is in the lanes folder in with a new path like:
Bike_Lane_Color+"_stamp_Sharrow.jpg"
The full path could also be used: \Lanes\street_1bike_green_stamp.jpg to \Lanes\street_1bike_green_stamp_sharrow.jpg
The code path used for bike stamps is here for example: LanesFolder+"/street_1bike_"+FileEnd
Keep in mind that your might need to make a texture for every color, or you will get an unknown texture for that sharrow (or just make sure you color setting for sharrows matches what you want or just alter the code a little more). Keep in mind things like this feed into the area painted reporting, but texture changes you are suggesting will have minor impacts on that.

David

David Wasserman, AICP
DiegoAgudÃ_n
New Contributor

issue.pngissue2.png

Hi David.

I have problems with the roundabout and the freeway. The roundabout hadn't the island and the freeway are dashed line or without median or boulevard and dashed line. Can you please help me?

0 Kudos