General flow
I chose to use both R and Python and use both of the strengths of these platforms.
Python is used to download the extent of the data, the data itself, and make simplifications in the network (consolidation of intersections and removal of pseudo links).
R is used for data manipulation and visualization. The sfnetworks package is still under development, and simplifications using it is not ideal.
Getting the data
I use the Haifa network to get impressions. I know haifa well and it is a very diverse network with distinct areas. The data is acquired using osmnx (python library). The network went through intersection consolidation and link simplification (removal of interstitial/psedou nodes).

Converting the data into R
After this, we convert the graph to two tables(edges and nodes) with a geometry column. we rebuild the graph with sfnetworks, using only the edges. using the nodes uses too much ram from an unexplained reason, and extracting the nodes data is also difficult.

Network scope issues
The network chosen is arbitrary, therefore it might be to big or too small. however, I try to use scale indifferent metrics, such as degree, neighborhood size and mean edge length per network size.
Calculating indices
I calculate the neighborhood size of each node given the neighborhood order, the mean edge length in the neighborhood, and the mean circuity. the neighborhood order used is 10. I filtered extreme circuity values(there are infinite values in the case of self loops. besides that, I filtered out values over 2, they are very rare).
What’s next?
- Trying this on other cities
- thinking about how to perform spatial autocorrelation/other spatial static analysis on the result
- Trying these measures on groups on the graphs, segmented by the louvain method (see more in the appendix)
- Clustering the nodes according to edge length distribution, thus getting a new feature for each node.
Appendix: graph groups
Using the louvain method, I have clustered the graph into groups.
It is possible to the aforementioned measures on the communities found on the graph. WIP

LS0tDQp0aXRsZTogJ1N5bnRoZXRpYyBjaXRpZXMgcmVwb3J0ICMxJw0KYXV0aG9yOiAiSWRvIEtsZWluIg0KZGF0ZTogIjI3LzEyLzIwMjAiDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2sNCmVkaXRvcl9vcHRpb25zOiANCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGlubGluZQ0KLS0tDQoNCiMjIEdlbmVyYWwgZmxvdw0KSSBjaG9zZSB0byB1c2UgYm90aCBSIGFuZCBQeXRob24gYW5kIHVzZSBib3RoIG9mIHRoZSBzdHJlbmd0aHMgb2YgdGhlc2UgcGxhdGZvcm1zLiAgDQpQeXRob24gaXMgdXNlZCB0byBkb3dubG9hZCB0aGUgZXh0ZW50IG9mIHRoZSBkYXRhLCB0aGUgZGF0YSBpdHNlbGYsIGFuZCBtYWtlIHNpbXBsaWZpY2F0aW9ucyBpbiB0aGUgbmV0d29yayAoY29uc29saWRhdGlvbiBvZiBpbnRlcnNlY3Rpb25zIGFuZCByZW1vdmFsIG9mIHBzZXVkbyBsaW5rcykuICANClIgaXMgdXNlZCBmb3IgZGF0YSBtYW5pcHVsYXRpb24gYW5kIHZpc3VhbGl6YXRpb24uIFRoZSBzZm5ldHdvcmtzIHBhY2thZ2UgaXMgc3RpbGwgdW5kZXIgZGV2ZWxvcG1lbnQsIGFuZCAgc2ltcGxpZmljYXRpb25zIHVzaW5nIGl0IGlzIG5vdCBpZGVhbC4gDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmxpYnJhcnkocmV0aWN1bGF0ZSkNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShzZikNCmxpYnJhcnkoaWdyYXBoKQ0KbGlicmFyeSh0aWR5Z3JhcGgpDQpsaWJyYXJ5KHNmbmV0d29ya3MpDQpsaWJyYXJ5KGdnc3BhdGlhbCkNCmxpYnJhcnkoZGJzY2FuKQ0KbGlicmFyeShwYXRjaHdvcmspDQpsaWJyYXJ5KG1hcHZpZXcpDQp1c2VfY29uZGFlbnYoIm94dHdvIixyZXF1aXJlZCA9IFRSVUUpDQpgYGANCiMjIEdldHRpbmcgdGhlIGRhdGENCkkgdXNlIHRoZSBIYWlmYSBuZXR3b3JrIHRvIGdldCBpbXByZXNzaW9ucy4gSSBrbm93IGhhaWZhIHdlbGwgYW5kIGl0IGlzIGEgdmVyeSBkaXZlcnNlIG5ldHdvcmsgd2l0aCBkaXN0aW5jdCBhcmVhcy4gVGhlIGRhdGEgaXMgYWNxdWlyZWQgdXNpbmcgb3NtbnggKHB5dGhvbiBsaWJyYXJ5KS4gVGhlIG5ldHdvcmsgd2VudCB0aHJvdWdoIGludGVyc2VjdGlvbiBjb25zb2xpZGF0aW9uIGFuZCBsaW5rIHNpbXBsaWZpY2F0aW9uIChyZW1vdmFsIG9mIGludGVyc3RpdGlhbC9wc2Vkb3Ugbm9kZXMpLiANCmBgYHtweXRob24gZ2V0dGluZyB0aGUgZGF0YSBhbmQgc2ltcGxpZmljYXRpb25zLCBlY2hvPUZBTFNFfQ0KaW1wb3J0IG9zbW54IGFzIG94DQppbXBvcnQgcGFuZGFzIGFzIHBkDQppbXBvcnQgZ2VvcGFuZGFzIGFzIGdwZA0KaW1wb3J0IG5ldHdvcmt4IGFzIG54DQppbXBvcnQgcmVxdWVzdHMNCmltcG9ydCBjb2xsZWN0aW9ucw0KZnJvbSBzaGFwZWx5Lmdlb21ldHJ5IGltcG9ydCBzaGFwZSxKT0lOX1NUWUxFLCBQb2x5Z29uLCBNdWx0aVBvbHlnb24NCmltcG9ydCBzaGFwZWx5DQppbXBvcnQgbWF0cGxvdGxpYi5weXBsb3QgYXMgcGx0DQojZG93bmxvYWQgZGlyZWN0bHkgZnJvbSBvc20gLSBib3VuZGluZyBwb2x5Z29uLCB3aXRoIG5vbWluYXRpbSwgYnkgb3NtIHJlbGF0aW9uIGlkIChjb3BlbmhhZ2VuKQ0KcGFyYW1zID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKQ0KcGFyYW1zWydvc210eXBlJ10gPSAnUicNCnBhcmFtc1snb3NtaWQnXSA9ICcxMzg3ODg4Jw0KcGFyYW1zWydmb3JtYXQnXSA9ICdqc29uJw0KcGFyYW1zWydwb2x5Z29uX2dlb2pzb24nXSA9ICcxJw0KaGVhZGVycyA9IG94LmRvd25sb2FkZXIuX2dldF9odHRwX2hlYWRlcnMoKQ0KdXJsID0gb3guc2V0dGluZ3Mubm9taW5hdGltX2VuZHBvaW50LnJzdHJpcCgiLyIpICsgIi8iICsgImRldGFpbHMiDQpyZXNwb25zZSA9IHJlcXVlc3RzLmdldCh1cmwsIHBhcmFtcz1wYXJhbXMsIHRpbWVvdXQ9b3guc2V0dGluZ3MudGltZW91dCwgaGVhZGVycz1oZWFkZXJzKQ0KcmVzcG9uc2VfanNvbiA9IHJlc3BvbnNlLmpzb24oKQ0KYm91bmRpbmcgPSBzaGFwZShyZXNwb25zZV9qc29uWyJnZW9tZXRyeSJdKQ0KY2l0eSA9IG94LmdyYXBoX2Zyb21fcG9seWdvbihib3VuZGluZyxuZXR3b3JrX3R5cGUgPSAiZHJpdmVfc2VydmljZSIpDQojIHByb2plY3QgdG8gaXNyYWVsIGNycw0KY2l0eSA9IG94LnByb2plY3Rpb24ucHJvamVjdF9ncmFwaChjaXR5LDIwMzkpDQojIGNvbnNvbGlkYXRlIGludGVyc2VjdGlvbnMNCmNpdHkgPSBveC5zaW1wbGlmaWNhdGlvbi5jb25zb2xpZGF0ZV9pbnRlcnNlY3Rpb25zKGNpdHksMTUsZGVhZF9lbmRzPVRydWUpDQpnZGZfbm9kZXMsIGdkZl9lZGdlcyA9IG94LmdyYXBoX3RvX2dkZnMoY2l0eSkNCm5vZGVzX3drYl9nZW9tID0gZ2RmX25vZGVzLmdlb21ldHJ5LmFwcGx5KGxhbWJkYSB4OiBzaGFwZWx5LndrYi5kdW1wcyh4LGhleCA9IFRydWUpKQ0KZ2RmX25vZGVzID0gcGQuY29uY2F0KFtnZGZfbm9kZXMuZHJvcChjb2x1bW5zPSJnZW9tZXRyeSIpLG5vZGVzX3drYl9nZW9tXSxheGlzID0gMSkNCmVkZ2VzX3drYl9nZW9tID0gZ2RmX2VkZ2VzLmdlb21ldHJ5LmFwcGx5KGxhbWJkYSB4OiBzaGFwZWx5LndrYi5kdW1wcyh4LGhleCA9IFRydWUpKQ0KZ2RmX2VkZ2VzID0gcGQuY29uY2F0KFtnZGZfZWRnZXMuZHJvcChjb2x1bW5zPSJnZW9tZXRyeSIpLGVkZ2VzX3drYl9nZW9tXSxheGlzID0gMSkNCmZpZywgYXggPSBveC5wbG90X2dyYXBoKGNpdHkpDQoNCmBgYA0KPCEtLSA8aW1nIHNyYz0icHlwbG90LnBuZyIgYWx0PSJNeUltYWdlIj4gLS0+DQoNCg0KIyMgQ29udmVydGluZyB0aGUgZGF0YSBpbnRvIFINCkFmdGVyIHRoaXMsIHdlIGNvbnZlcnQgdGhlIGdyYXBoIHRvIHR3byB0YWJsZXMoZWRnZXMgYW5kIG5vZGVzKSB3aXRoIGEgZ2VvbWV0cnkgY29sdW1uLiANCndlIHJlYnVpbGQgdGhlIGdyYXBoIHdpdGggc2ZuZXR3b3JrcywgdXNpbmcgb25seSB0aGUgZWRnZXMuIHVzaW5nIHRoZSBub2RlcyB1c2VzIHRvbyBtdWNoIHJhbSBmcm9tIGFuIHVuZXhwbGFpbmVkIHJlYXNvbiwgYW5kIGV4dHJhY3RpbmcgdGhlIG5vZGVzIGRhdGEgaXMgYWxzbyBkaWZmaWN1bHQuIA0KYGBge3Igc2hvd2luZyBjb252ZXJzaW9uIHRvIFIsIGVjaG89RkFMU0UsIGZpZy5oZWlnaHQ9NSwgZmlnLndpZHRoPTV9DQpnZGZfZWRnZXMgPC0gcHkkZ2RmX2VkZ2VzIA0KZWRnZXMgPC0gZ2RmX2VkZ2VzICU+JSANCiAgbXV0YXRlKGdlb21ldHJ5ID0gc3RfYXNfc2ZjKHNmOjo6YXNfd2tiKGdlb21ldHJ5KSwgRVdLQj1UUlVFLGNycyA9IDIwMzkpLA0KICAgICAgICAgZnJvbSA9IGFzLmNoYXJhY3RlciggdSksDQogICAgICAgICB0byA9IGFzLmNoYXJhY3RlciggdikpICU+JSANCiAgc3RfYXNfc2YoKQ0KZ2RmX25vZGVzIDwtIHB5JGdkZl9ub2Rlcw0Kbm9kZXMgPC0gZ2RmX25vZGVzICU+JSANCiAgbXV0YXRlKGdlb21ldHJ5ID0gc3RfYXNfc2ZjKHNmOjo6YXNfd2tiKGdlb21ldHJ5KSwgRVdLQj1UUlVFLGNycyA9IDIwMzkpLA0KICAgICAgICAgb3NtaWQgPSBhcy5jaGFyYWN0ZXIob3NtaWQpKSAlPiUgDQogIHN0X2FzX3NmKCkNCmdncGxvdChub2RlcykgKyANCiAgZ2VvbV9zZigpICsNCiAgZ2VvbV9zZihkYXRhID0gZWRnZXMpDQpgYGANCiMjIE5ldHdvcmsgc2NvcGUgaXNzdWVzDQpUaGUgbmV0d29yayBjaG9zZW4gaXMgYXJiaXRyYXJ5LCB0aGVyZWZvcmUgaXQgbWlnaHQgYmUgdG8gYmlnIG9yIHRvbyBzbWFsbC4gaG93ZXZlciwgSSB0cnkgdG8gdXNlIHNjYWxlIGluZGlmZmVyZW50IG1ldHJpY3MsIHN1Y2ggYXMgZGVncmVlLCBuZWlnaGJvcmhvb2Qgc2l6ZSBhbmQgbWVhbiBlZGdlIGxlbmd0aCBwZXIgbmV0d29yayBzaXplLiAgDQoNCiMjIENhbGN1bGF0aW5nIGluZGljZXMNCkkgY2FsY3VsYXRlIHRoZSBuZWlnaGJvcmhvb2Qgc2l6ZSBvZiBlYWNoIG5vZGUgZ2l2ZW4gdGhlIG5laWdoYm9yaG9vZCBvcmRlciwgdGhlIG1lYW4gZWRnZSBsZW5ndGggaW4gdGhlIG5laWdoYm9yaG9vZCwgYW5kIHRoZSBtZWFuIGNpcmN1aXR5LiB0aGUgbmVpZ2hib3Job29kIG9yZGVyIHVzZWQgaXMgMTAuIEkgZmlsdGVyZWQgZXh0cmVtZSBjaXJjdWl0eSB2YWx1ZXModGhlcmUgYXJlIGluZmluaXRlIHZhbHVlcyBpbiB0aGUgY2FzZSBvZiBzZWxmIGxvb3BzLiBiZXNpZGVzIHRoYXQsIEkgZmlsdGVyZWQgb3V0IHZhbHVlcyBvdmVyIDIsIHRoZXkgYXJlIHZlcnkgcmFyZSkuIA0KYGBge3IgZWNobz1GQUxTRSxtZXNzYWdlPUZBTFNFfQ0KbmV0X2J5X2VkZ2UgPC0gYXNfc2ZuZXR3b3JrKGVkZ2VzLGRpcmVjdGVkID0gRikNCm5laWdoX3NpemUgPC0gMTANCm5ldF9lZGdlcyA8LSBuZXRfYnlfZWRnZSAlPiUgDQogIGFjdGl2YXRlKGVkZ2VzKSAlPiUgDQogIG11dGF0ZSh3ZWlnaHQgPSBlZGdlX2xlbmd0aCgpJT4lIGFzLm51bWVyaWMoKSwNCiAgICAgICAgIGNpcmN1aXR5ID0gZWRnZV9jaXJjdWl0eSgpJT4lIGFzLm51bWVyaWMoKSkgJT4lIA0KICBhc190aWJibGUoKSAlPiUgDQogIHN0X2Ryb3BfZ2VvbWV0cnkoKQ0KDQpuZXQgPC0gbmV0X2J5X2VkZ2UgJT4lIA0KICBhc19zZm5ldHdvcmsoKSAlPiUgDQogIGFjdGl2YXRlKG5vZGVzKSAlPiUgDQogIG11dGF0ZShtZW1iZXJzPSBsb2NhbF9tZW1iZXJzKG5laWdoX3NpemUpLA0KICAgICAgICAgc2l6ZSA9IGxvY2FsX3NpemUobmVpZ2hfc2l6ZSksDQogICAgICAgICBlZGdlVyA9IG1hcF9kYmwobWVtYmVycywgZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgcmVzIDwtIG5ldF9lZGdlcyAlPiUgDQogICAgICAgICAgICAgZmlsdGVyKGZyb20gJWluJSB4LCB0byAlaW4lIHgpICU+JSANCiAgICAgICAgICAgICBzdW1tYXJpc2UobWVhbih3ZWlnaHQpKSAlPiUgDQogICAgICAgICAgICAgcHVsbCgpDQogICAgICAgICAgIHJldHVybihyZXMpfSksDQogICAgICAgICBlZGdlQyA9IG1hcF9kYmwobWVtYmVycywgZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgcmVzIDwtIG5ldF9lZGdlcyAlPiUgDQogICAgICAgICAgICAgZmlsdGVyKGZyb20gJWluJSB4LCB0byAlaW4lIHgsIWlzLmluZmluaXRlKGNpcmN1aXR5KSwgY2lyY3VpdHkgPCAyKSAlPiUgDQogICAgICAgICAgICAgc3VtbWFyaXNlKG1lYW4oY2lyY3VpdHksbmEucm0gPSBUKSkgJT4lIA0KICAgICAgICAgICAgIHB1bGwoKQ0KICAgICAgICAgICByZXR1cm4ocmVzKX0pDQogICkgJT4lIA0KICBzZWxlY3QoLW1lbWJlcnMpDQpgYGANCg0KDQojIyBWaXN1YWxpemF0aW9uDQoNCmBgYHtyIGVjaG89RkFMU0V9DQpkZiA8LSBuZXQgJT4lIA0KICBhc190aWJibGUoKSANCnAxIDwtIGRmICU+JSANCiAgZ2dwbG90KGFlcyhjb2xvciA9c2l6ZSkpICsgDQogIGdlb21fc2YoKSArIA0KICBnZ3RpdGxlKCJOb2RlIG5laWdoYm9yaG9vZCBzaXplIFxub3JkZXIgMTAiKSsNCiAgc2NhbGVfY29sb3JfdmlyaWRpc19jKCkNCnAyIDwtIGRmICU+JSANCiAgZ2dwbG90KGFlcyhjb2xvciA9ZWRnZVcpKSArIA0KICBnZW9tX3NmKCkrDQogIGdndGl0bGUoIk5vZGUgbmVpZ2hib3Job29kIG1lYW4gZWRnZSBsZW5ndGggXG5vcmRlciAxMCIpKw0KICBzY2FsZV9jb2xvcl92aXJpZGlzX2MoKQ0KcDMgPC0gZGYgJT4lIA0KICBnZ3Bsb3QoYWVzKGNvbG9yID1lZGdlQykpICsgDQogIGdlb21fc2YoKSsNCiAgZ2d0aXRsZSgiTm9kZSBuZWlnaGJvcmhvb2QgbWVhbiBjaXJjdWl0eSBcbm9yZGVyIDEwIikrDQogIHNjYWxlX2NvbG9yX3ZpcmlkaXNfYygpDQpwMQ0KcDINCnAzDQpgYGANCg0KIyMgV2hhdCdzIG5leHQ/DQotIFRyeWluZyB0aGlzIG9uIG90aGVyIGNpdGllcw0KLSB0aGlua2luZyBhYm91dCBob3cgdG8gcGVyZm9ybSBzcGF0aWFsIGF1dG9jb3JyZWxhdGlvbi9vdGhlciBzcGF0aWFsIHN0YXRpYyBhbmFseXNpcyBvbiB0aGUgcmVzdWx0DQotIFRyeWluZyB0aGVzZSBtZWFzdXJlcyBvbiBncm91cHMgb24gdGhlIGdyYXBocywgc2VnbWVudGVkIGJ5IHRoZSBsb3V2YWluIG1ldGhvZCAoc2VlIG1vcmUgaW4gdGhlIGFwcGVuZGl4KQ0KLSBDbHVzdGVyaW5nIHRoZSBub2RlcyBhY2NvcmRpbmcgdG8gZWRnZSBsZW5ndGggZGlzdHJpYnV0aW9uLCB0aHVzIGdldHRpbmcgYSBuZXcgZmVhdHVyZSBmb3IgZWFjaCBub2RlLg0KDQojIyBBcHBlbmRpeDogZ3JhcGggZ3JvdXBzDQpVc2luZyB0aGUgW2xvdXZhaW4gbWV0aG9kXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Mb3V2YWluX21ldGhvZCksIEkgaGF2ZSBjbHVzdGVyZWQgdGhlIGdyYXBoIGludG8gZ3JvdXBzLiAgDQpJdCBpcyBwb3NzaWJsZSB0byB0aGUgYWZvcmVtZW50aW9uZWQgbWVhc3VyZXMgb24gdGhlIGNvbW11bml0aWVzIGZvdW5kIG9uIHRoZSBncmFwaC4gV0lQDQpgYGB7cn0NCm1lbWJlcnNoaXBzIDwtIG5ldF9ieV9lZGdlICU+JSANCiAgYWN0aXZhdGUoZWRnZXMpICU+JSANCiAgbXV0YXRlKHdlaWdodCA9IDEvZWRnZV9sZW5ndGgoKSkgJT4lDQogIGNsdXN0ZXJfbG91dmFpbigpICU+JQ0KICBtZW1iZXJzaGlwKCkNCm5ldF9ieV9lZGdlICU+JSANCiAgYWN0aXZhdGUobm9kZXMpICU+JSANCiAgbXV0YXRlKG1lbWJlcnNoaXBzID0gbWVtYmVyc2hpcHMpICU+JSANCiAgc3RfYXNfc2YoKSAlPiUgDQogIGdncGxvdChhZXMoY29sb3IgPSBmYWN0b3IobWVtYmVyc2hpcHMpKSkgKyANCiAgZ2VvbV9zZihkYXRhID0gbmV0X2J5X2VkZ2UgJT4lIA0KICBhY3RpdmF0ZShlZGdlcykgJT4lIA0KICAgIHN0X2FzX3NmKCksIGNvbG9yID0gImJsYWNrIikgKyANCiAgZ2VvbV9zZigpICsgDQogIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXMgPSByYW5kb21jb2xvUjo6cmFuZG9tQ29sb3IobWVtYmVyc2hpcHMgJT4lIHVuaXF1ZSgpICU+JSBsZW5ndGgoKSkpDQoNCg0KYGBgDQoNCg==