It would require some code for pathfinding in the city and a network of nodes and edges from the generated cityscape
YES say me what inputs the behavioural sim. needs for the network
I’m just doing something about that - a nodal crossroads/streets parser -
It would be great if the internal sce street network was compatible with the behavioural sim. pathfinding.
here’s the list formats it outputs so far :
. a list of xyz 3d coords for significative (I mean a new angle, a new width) road segments (blender units)
coordsList=[ [101,56,0,[some metas]], [56,17,0,[some metas]] ...]
. a list of roads. each road is a link between two crossroads or a dead-end and a crossroad.
roadsList. it’s a list of coords id’s.
roadsList=[ [ coordsList ], [ coordsList ], [ coordsList ], ...]
means the road id2 is made with coordsList, coordsList then coordsList.
each end (0 and 3 above) correspond to a node coordinates*
*maybe I could add a node id field in this list, maybe faster to parse after but redundant, I don’t know yet
. a list of nodes : node are crossroads or deadends
nodesList=[ [ node0 coordsList[n] of crossroad , [list of neighbour nodes],[list of neighbours roads] ] [ node1,.... ]
node id 0 is located at coordsList.
it has 3 nodes as neighbours, with id 17,8 and 5.
it has 3 roads 89,50 and 60.
take road id 89 to go to node id 17
road id 50 to go to node id 8
road id 60 to to node id 5
len(nodesList) always equal to len(nodesList)
a node can have itself as a neighbour :
road 45 has the same crossroad at both end, node 0
a node can have several path to the same neighbour road:
. a list of sidewalk blocks (building areas). blocks are shapes closed by roads and nodes.
this block is surrounded by 3 nodes with id 5,6 and 7
this one has just one neighbour node, one of its road surrounds the block.
I could add a road metric, or some properties (one or two ways)…
please let me know, I’ve no background about nodes (but my former job was network engineer/consultant !). my need until now was only a best way to draw non-squared city map.