Цель определения географического положения уточните, где и как будут данные использоваться?
UPD:От этого зависит ответ на поставленный вопрос?
На самом деле, я хотел кое в чем удостовериться. И удостоверился.
С моей точки зрения, вы не вполне понимаете, что и зачем вам нужно. Что такое "географическая принадлежность IP адреса"? Географическая принадлежность может наблюдаться у человека, его дома, квартиры, клиентского устройства, но не у какого-то 32-битного числа. Соответствие клиентского устройства и глобально маршрутизируемого IPv4-адреса, который видит сервер в интернете - вещь в общем случае непостоянная и нерегулярная.
Как и где узнать как на самом деле?
на самом деле?
Получить доступ к внутренней документации провайдера (конфигурации устройств, карта сети с географической привязкой) и сопоставить разнородные данные. Все остальные способы, базы дадут вам лишь первое приближение.
Если рассмотреть задачу определения города клиента веб-магазина с целью персонализации, например, то я бы поступил так. Сначала определение положения по нескольким популярным базам, по данным регистратора IP адресов (RIPE для Европы/СНГ). Неким алгоритмом определил бы наиболее "специфичное" совпадение. Например, если RIPE и одна база говорят, что хост расположен в Киеве, а другая база - что во Львове, выбрал бы Львов как более специфичный вариант. Далее, показал бы клиенту ненавязчивую форму: "мы предполагаем, что вы из такого-то города, если это не так, то, пожалуйста, уточните данные" и установил бы ему соответствующий параметр в cookie.
Вкратце, IP-адреса годятся для определения географического положения клиента лишь в первом приближении. По мере развития практики аренды IPv4-префиксов интернет-компаниями друг у друга устаревание информации в различных базах ускорится. В зависимости от целей, вам может пригодиться Geolocation API HTML5 или некая реализация его аналога (т.е. с использованием не только IP-адреса, но и других данных, GPS в случае смартфона, SSID наблюдаемых точек доступа Wi-Fi и прочая)
UPD2: Забыл упомянуть еще один момент, иногда можно сделать выводы о местоположении хоста базируясь на его имени, в данном случае - записи PTR (например, hostXXXXXX.dyn.kiev.isp.ua). Опять же, эти корректность этих данных не гарантирована, была лет пять назад релевантная история с PTR вроде rostelecom-fsb в выводе traceroute до livejournal.com или аналогичного сервиса (с понятной реакцией пользователей сервиса, "37й год вернулся" и прочая).