I’ve noticed many streets only have one node at the beginning and end of the street, but nothing in the middle. If those roads are in a straight ladder formation, you can potentially hit every node without actually running the street.
I propose to add more nodes to encourage runners to actually run the full street instead of taking a shortcut to just hit the nodes.
Example below shows how you can technically complete full streets…but not really.
Since this is based on OSM, where superfluous nodes are frowned upon, maybe it would be possible for the import into CS to introduce extra nodes between two ”real” ones? In that case all these short streets with just two nodes would get an extra node in between?
I will add, in case you’re still wondering, that I believe CityStrides essentially cannot do this automatically. There is no real concept of a “street”, there’s just nodes in space. Rendering software (like Mapbox) has to determine how these nodes are connected, which is I’m 99.9% sure beyond the scope of CityStrides. I don’t know much about it, but see Rendering - OpenStreetMap Wiki
Ward and I have been discussing this idea in another thread that I now can’t find (it might have been in an auto-deleting announcement thread) … From our latest exchange in All Streets or All Nodes? - #78 by ward_muylaert I think I’ve got a process that could accomplish this by adding nodes every e.g. 25 meters (or whatever distance I land at). I need to test things, somehow, to determine how much more space this will require in my database.
It probably would have been impossible with the existing city sync process. I’ve spent the last few weeks rebuilding that, though, which has opened up some other possibilities. I’m about to start testing things in the live site. I don’t expect to make meaningful progress with that until next week, though. I also won’t be looking into the ‘add more nodes’ possibilities until after the city sync process is fully replaced, just to keep things simpler each step of the way.
The half-correctness of this is what allowed me space to accomplish it…
While there isn’t a concept of “street” in OSM, there are Ways … and those ways have a collection of ordered nodes … which, with the right tools, can be combined into linestrings and manipulated at the database level.