Skyhook knows where your access point is because at one time they drove by and mapped it. Google is probably collecting the same information from their street view vans. All you need is a laptop with a GPS receiver to log coordinates and MAC addresses.
So why not do it yourself? http://wigle.net/ is a public access point MAC address mapping site run by community contributions of location information.