Wrong answer.
Just because free public dbs dont have that info does not mean that it does not exist.
Say I have about 10 /16's reachable through firewalls in SJC, RDU, SYD, and AMS. No traceroutes or pings can make it past these firewalls, nor do the hostnames indicate any particular location. How exactly do you plan on mapping these to a zip code, when I can tell you those addresses are fairly randomly spread, in /24 increments, to sites all over the world?
It is very easy. Anyone would care about it only when users from those addreses interact with whatever the software that ends up creating those databases. If those users never buy stuff from Amazon.com, Amazon.com does not care where they are. But eh moment they do, somewhere someone is cruniching the data that says "Of 10 sites that I saw this IP address access and provide a clearing for the credit card transaction, 9 ended up being within 3 miles radius of ZZZZ. Lets put a tag on that"
The neat thing about selling databases like that is nobody can ever prove how incredibly inaccurate they are. Just come up with a reasonable-sounding collection methodology and claim any counterexamples are just flukes, then collect money from the saps who believe you...
The really neat things about talking to computer geeks is that they all operate with the lots of absolutes. They will explain to you why in a specific case it does not work and forget that those specific cases are usually exceptions. ALex P.S. So, ever bought stuff from Amazon from one of those IP addresses and sent it to some non-related location *just* to confuse the mapping systems?