What is the best way to work with imported OSM streets?

04-07-2016 08:19 AM
Occasional Contributor

The first issue is the generation of roundabouts at the street ends, is it possible to change the default roundabout generation to crossing? At the moment I’m selecting every end node, and manually change it.

A soon as the streets are a little more complex, and because of the smart intersection, it will automatically change the line geometry.

With an OSM import there actually is a lot of things not connecting probably, moving around and changing geometry. I would like to know how to minimize this. The CleanUp graph are moving those kind of conflicts to places where the street defiantly not should be.

This lineset:


Converts to this:


The roundabouts and fail in intersection


1 Reply
Occasional Contributor III

Hey Kenneth,

I am go to generalize this post for street imports generally, but also include some OSM specific thoughts.

The short answer is this: CityEngine's street clean up tools are limited in scope and power. Keep in mind the graph tools were meant to create logical shapes so that the network resembled the city in question in large scale renderings (think Zootopia/Big Hero 6). Neighborhood scale cross sectional design scenario work that might be done with the Complete Street Rule can be hard for the tools to meet the intended need. My general thought process as of late is to do two separate things:

  1. Do More Data prep IN GIS: This includes tools like Simplify Line (vertices cause street shapes breaks), Smooth Line, Snap, Point to Line, Topology Tools, and combinations in between. For example, if you can identify intersections and key points of directional change in your line network, you can simplify it, use vertices to points, do querying to isolate bad intersections and then turn it back to lines in a logical fashion you choose. In addition, if you can determine angle of intersections, you can put as  a mapped attribute the shape parameter you want. I experimented on a few occasions to test smart model joining, and the results are pretty good for similar segments (General rules being: if it has more than 5-6 legs at an intersection, make it a round about, if the angle of intersection is high, make it a freeway/junction, everything else looks best as crossing NOT Junction- makes intersections more compact with predictable behavior). A lot of problems can be dealt with with preprocessing shape parameter attributes in GIS.
    1. An overview of the Generalization toolset—ArcGIS Pro | ArcGIS for Desktop
    2. Repair Geometry—Data Management toolbox | ArcGIS for Desktop
  2. Try A Record Based Approach: The idea behind the CityEngine toolkit is to reject the geometry given to us entirely and focus entirely on the narrative of the records I am working with. I call this Narrative Tiling, because to some extent the issue comes down to problems of scale not in creating content, but sharing it. Specifically, I feel this approach makes digesting information more accessible because you only have to focus on one block/street at  a time. Imagine a web map where people click on individual symbolized streets in a Vision Zero (accident safety) study, and when they click on a link a pop up to a web scene of that individual streets improvements appear. This method of operation does two things: reduces load time on large scenes, isolates needed content to the narrative related to a particular asset. This only works on projects where it the story can be tied together by a web map looking at a network scale/city wide scale (data is relevant to a larger story), but the web scenes/infographics created supplement and drill down into the details. The added benefit of this is that there is almost no time spent on geometry clean up (past dissolving up to the records you want).
    1. Geodesign Toolkit: CityEngine-GIS Integration Tools

OSM Thoughts: Generally, OSM even from GIS ready sites likes Metro Extracts​ is TAG based. This means there are hundreds and hundred of fields, each with a record that relates to what that record is. It is a pretty intense data set that requires cleaning for a variety of issues related to coverage, topology, and attributes. Even in network analyst, OSM data often requires some degree of clean up before even being considered close to routable. In addition, sometimes OSM does not provide much information about the street so it is hard to get a consistent image of what the world's streets look like.

I will reply to your listed questions in an earlier email below:

1.      The import street only works well, if it is a very simple network.

2.      A boulevard drawn as to lines, needs to be deleted and recreated as one line.

3.      The CleanUp, will move the streets to strange locations

4.      Highway intersections needs to be modelled manually.

5.      Actually almost any street segments crossing with an angle, needs to be modelled manually.

Will get to these later.


David Wasserman, AICP
0 Kudos