After a bit of research, (I think) I've found out where the IP/address pairs come from. If you're at all interested in how this data is generated, keep reading. If you're not, here's a one sentence summary of the post:
IP geolocation is like looking up someone's address in a very inaccurate phonebook that was made by rumors of where people live.
IP geolocation can be done on one level by taking a look at a host name. For example, my hostname is cpe-24-161-98-48.hvc.res.rr.com. I'm note entirely sure what HVC is supposed to be but I live in the Hudson Valley. Just from my IP you can find out that I live in (a) the Hudson Valley, (b) New York, and (c) the United States. Res is residential. However, you can only get this information because this is what my ISP decided to name it's servers that I connect through. I was taking a look at all of the different servers Time Warner Cables has and it's quite possible that if I lived somewhere else I could have had the hostname xx-xx-xx-xx.elmore.res.rr.com and this would have made no sense to anybody.
So yes, you can tell where I live by my IP address, but you were just lucky that some technician over at TWC decided to use human readable names for their servers based on either the location of the server or the customers it services (probably both). This is one method of IP geolocation.
To account for this, some geolocation services collect a database of the locations of different domains (for example, xyz.com) and the location of the business that owns them (Anytown, USA). If I was an XYZ customer these services would report my location as Anytown, USA. This data can be pulled off of databases such as ARIN. As an example, my IP will tell you that I live at 13241 Woodland Park Road, Herndon VA, 20171. The specificity of this may create a false sense of accuracy, but drive there and you'll be at offices of Road Runner Holding Comapny, LLC. This isn't the location of my ISP either. It's the location of the company that owns my ISP. If you would find a bunch of computers holding boring accounting information. This is a second type of geolocation.
That's not how this particular geolocator works service works. Kalphiter runs your IP through a database (either sends your IP off to another site that preforms the service for a small fee or has a copy of the database himself). It scans the database for your IP and spits out your location. The locations from this database were acquired by people typing their location into something on the Internet that shared it with this aggregator.
As an example, Kalphiter's map tells you that I live in Rhinebeck, New York. This is actually within biking distance to my house and I drove through it on the way home from school today. They've got pretty Christmas lights out on all the trees on the main street. But I don't live there. What happened is some time in the past a person who had my IP address entered their address into the database (probably without knowing) and it hasn't been updated since. Drive out there and you'll probably meet some really confused person living on a farm.
I do not know which particular source Kalphiter is using but one free database is located at maxmind.com.
Current data for the US suggest that Kalphiter's map will put the arrow within 25 miles of your location 84% of the time. Even then the data is only
accurate to city level, not address level. You can read more about how accurate their service is and where they get their data from here:
http://www.maxmind.com/app/city_accuracyThis isn't a bad way of getting a location. IPs will move around a bit as they get reassigned. It would appear that IPs tend to get reassigned to the same general geographic area (within 25 miles generally, based on maxmind's advertising, which was most likely based on some kind of statistical survey). It will give you a great idea of the country they're in, a good idea of the state, a decent chance of getting the town right and a shot in the dark of where they might live. In other words, it's basically totally useless for navigation purposes, although I'm sure everybody knew that already. Here's something you probably didn't know. If you tried to fly a plane out to "41.9268 -73.8681" to meet me, there is a
0.2% chance you
won't even end up in the right country. What a nightmare.
If you've read this far then I'll close by saying that wifi, cell phone and radio triangulation are significantly more accurate than IP geolocation and also totally unrelated to it. IP geolocation is like looking up someone's address in a very inaccurate phonebook that was made by rumors of where people live. Triangulation is like shooting 3 lasers from known locations to a 4th unknown location and then measuring the time it takes for the light to reflect back to calculating the target from them.
Finally, there is no additional risk in posting your IP address online beyond the risk you are already taking by connecting to the Internet, this information is already publicly available. When you host a server you post your IP for everyone to see. When I connect to your server my IP address also gets sent to you, and you can even see it on the console.