Look, I made a thing! After I saw the awesome blog post on city street orientations, I generated some charts for European and German cities (and refactored Geoff's IPython notebook into a script on the way). If you want to see a map of your favourite city in this style, tell me about it and I'll see what I can do.

@rixx this is awesome! It would be nice to see Veresegyház (Hungary) although itʼs a small town (maybe 12000 people live here).

Also Iʼm curios how this algorithm classifies curved streets? In Budapest there are three “körút” (literally translates as circle road) and I think other cities do, too.

@gergely Yes, those qualify as streets, too. Basically everything OSM knows counts. Ring streets are fairly common in structured cities that haven't had extreme amounts of organic growth. As I noted in my post, Vienna and Budapest are very similar, and Berlin has ring streets too.

Tessék, Veresegyház:

@gergely Curved streets are counted in sections, as far as I can tell, so they'll show up on several parts of the histogram.

Also, cool to meet somebody from Hungary! I'm currently about one month into the Hungarian duolingo course, it's a beautiful language.

I have seen only one Hungarian name here yet, so itʼs also cool to meet someone who learns/speaks this language.

Köszönöm a térképet! ☺

@rixx Wird die dargestellte Orientierung durch den Verkehrsfluss festgelegt? Hat also z.B. Hamburg eine so ausgeprägte 'Nordkeule', weil es dort eine Einbahnstraße gibt?
Ich hätte sonst erwartet dass die Diagramme drehsymetrisch sind.

@INCO Ja, OpenStreetMap kennt und nutzt Straßenorientierung.

@INCO @rixx Ich nahm an, die Nordkeulen sind ein Bug? Tritt nämlich nicht nur bei Hamburg auf, sondern auch bei einigen anderen Städten, und es ist auffällig dass die einzige auffällige nicht-dreh-symmetrierung ausgerechnet bei 0° liegt. Ist es evt. so dass irgendeine Fehlerklasse als "0" zurückgegeben wird?

@henryk @INCO Tatsächlich merged Geoff einen bucket auf Null, aber er macht es explizit, und ich ging davon aus, dass er einen guten Grund dafür hat...

@rixx @INCO Ja, nee, das ist es nicht. Probier' mal, die slices auf einen hohen Wert zu setzen, sowas wie 360. Es gibt *viel* zu viele 0.0°, zum Beispiel in Bielefeld. Die Daten die aus add_edge_bearings kommen sind bereits falsch.
Abhilfe: "if data['bearing'] != 0.0" in der list comprehension in get_bearing. Es ist eher selten dass eine tatsächliche Straße genau 0.0° hat (also hier, in USA müsste man nochmal gucken).
Man müsste mal[tm] nachgucken, wo die falschen Daten herkommen und filtern.

@henryk Hmpf, müsste man wohl man osmnx reporten.

@henryk @INCO Stimmt. Repariertes Hamburg sieht so aus, ich rechne den Rest noch mal durch (aber dauert vmtl ne Stunde)

@scabux Haha, I actually did Heidelberg while I was figuring out what I was doing, because it's fairly small and doesn't take so horribly long.

@rixx great and visually distincive visualization! i wonder what the variance between the city core and the structures built around it would look like - some cities are rather uniform but other cities vary greatly - probably best graphed as animation of graphs with growing circumference over time?

@nblr @rixx would be great to have historic data, too, to make animations over time (probably impossible for near to all cities due to lack of data)

@rixx um, the github repo doesn't have

@oreolek Yeah, that's been moved to the main script. It's correct in the script's help text, I'll change the readme too.

@Efi It's a problem with OSM data. I've got a way to correct for it, but I need to render all images again, which will take some time.

@Efi Well, some streets seem to have undefined orientation, which is returned as zero, and zero degrees is north ;)

@elomatreb Thank you! I think they're going to be a nice fallback gift now, printed on cards/posters or engraved.

@rixx when the histogram is asymmetrical, like Stockholm’s or Kiel‘s, does that mean there’s a lot of one-way streets going that direction?

@rixx A+ awesome. When I saw the original post I was wondering how Berlin would look. Thanks!

@rixx Do you think you can make one for the French city Toulouse ?

@rixx Might you be able to produce such a map for San Francisco?

@rixx Ah! That's quite surprising - I'd've thought there'd be greater representation of non-ordinal directions. Interesting!

@rixx Many thanks! ^_^ It's a somewhat counterintuitive result, probably due to the relative prominence of SoMa vs the more residential neighborhoods of the west and southwest.

@rixx hey can you do it for Rennes, if possible ?

@Siphonay @Sylvhem Forgive me for grouping the French cities in one response – here are Rennes and Toulouse:

@rixx @Sylvhem actually, if that's not too much to ask, could you produce it in a higher resolution, like 1920x1080 ?

@Siphonay @Sylvhem Sorry, since a bug in the script (well, in the OSM data really) was found, I'm currently re-rendering all the previous images, which will take a couple of hours. I'll see what I can do later – but the image of Rennes is 2271 x 1200, so you should be able to scale it down a bit and be good?

@rixx Thanks a lot! It's really interesting to see that :).


@rixx awesome!

Does it take one-way streets into account? It's not immediately obvious to me from teh code, but presumably that's how hamburg gets to be much more north than south?

@lupine Nah, that was a bug in the OSM data, I'm currently re-rendering all the stuff and will upload the corrected images to my blog once they're done (in a few hours).

Hello, is it possible to make this for Brest in France. It'll be very nice, thanks

@rixx that's super cool! Can you do Lyon (France) please? 😀

@rixx it might be a small town, so there's not much data, but I'd love to see such a diagram of Fredericia in Denmark. The inner city is an old fortress, so most of the streets are parallel.
Is the code open source? (Sorry, haven't opened the blog, am cooking dinner)

@zatnosk It's open source! Fredericia doesn't seem to have city borders in osm, only county borders, so that's all I could work with. Also, did you see my rendering of all of Denmark?

Sign in to participate in the conversation – a Fediverse instance for & by the Chaos community