1. When are you looking for a solution by?
2. How good is your programmer at geometry (centroids, circular regions, and the like)?
To be honest, my week looks kinda shot (on call), but I'd be willing to drop a few hints to your guy. I see this question enough I think I want to write a general-purpose solution to it - but that ain't gonna be done in the next few days