Jul 07, 2008 01:51
I valgrinded the hell out of Graphserver today, completely shoring up the remaining memory leaks I was getting on street-based shortest path trees. It continues to return city-sized SPTs in about a tenth of a second, which is heartening. I'll need to figure something out for truly large, state-sized road networks, though. But that's for later. Presently it's ready to be ponied around with some neat-looking demo-type things. For example, here's a Processing rendering of a growing shortest path tree, where the width of a branch is proportional to the square root of the "burden" of the branch - the amount of road network behind the branch. The road network is pulled from the Open Street Map. Bike paths are set to 3 times more desirable than a road, walking paths 2 times, and freeways are 1000 times less desirable than a normal road. The two thickest branches you see there are actually the Burke-Gilman trail, and the I-90 trail. Basically, this is an image of the mental evaluation a cyclist has of the city when setting out from downtown. I've made things like this before, but this one is a bit larger. And animated.
Graphserver isn't really a server anymore - it's a C library with a set of wrappers in both Ruby and Python. I'm thinking of redubbing it "openitin" and letting a real server take care of the network layer.