As a distraction from work (and from manual writing), I've been playing around a little with automatic mapping. The principal is pretty simple, and you can break the task down into chunks.
First, get a description of all the nodes, and which is connected to which. This can be done by reading router config files, switch forwarding database entries, comparing IP/netmasks, or just be someone typing them in.
Then, you can use some clever maths to automatically lay out your map in a relatively nice, if not geographically accurate, way.
Then, if you were able to get your data from the right source, you can produce a Weathermap config file with all the TARGET, INFOURL, BANDWIDTH etc. already in it, without any intervention.
My current thinking is to do it as two stages, one to produce really ugly but correct Weathermap configs, and a second that reads in a Weathermap config and re-arranges all the nodes. That way, you can benefit from it even if you don't want to auto-discover your network.
Anyway, back to manual-writing. Yummy.