2009/11/29 spleenjack <[email protected]>: > Год назад прикручивал гео-локацию с использованием этой базы. Долго > ковырялся с форматом и с самими данными. > > Выяснилось, что там много неконсистентности, пропусков и ошибок с наложением > диапазонов. Например, диапазон 1-10 отмечен как Москва, и далее идет три > поддиапазона: 3-5 на Владивосток, 5-7 на Питер, 9 на Тверь. Здесь перекрытие > 5-ки (непонятно, куда именно она относится), нет поддиапазонов для 1-2, 8 и > 10.
Я пытался найти пересечения блоков, но не дождался завершения запроса :) > А так как каждый ip нужно было определять быстро и однозначно, пришлось > такие ошибки отлавливать, правильно разбивать вложенные диапазоны, > отлавливать дырки и прочее. (Плюс была причина в связке с украинскими > диапазонами, взятыми из базы от maxmind, но это в принципе неважно). У меня в проекте тоже фоллбек к maxmind. > Может такие заморочки и не нужны вовсе, да и база сама наверняка уже стала > точнее и правильнее. Так, а я вообще к чему все это?.. :) Либа может такие > непонятки отлавливать? Либа просто возвращает список блоков содержащих IP, по умолчанию от наименьшего к наибольшему. Решать вам, что именно делать с конфликтами. Сейчас пойду искать пересечения блоков в базе. > > Ruslan Zakirov пишет: >> >> Всем привет, >> >> Недавно мы обсуждали определение положения по IP адресу. Мне >> посоветовали БД от http://ipgeobase.ru. >> >> Я рад, что существует такой ресурс. Был немного удивлен примерами кода >> и очень удивлен структурой БД. Код на perl страшен, достаточно сделать >> для него perltidy и он уже становится читабельный. Алгоритм тоже не >> сахар, но это издержки структуры файла. Переключение на указание >> смещения вместо номеров строк, позволит сделать быстрый поиск прямо из >> файлов без полного сканирования или загрузки их в память. >> >> В итоге решил отказаться от работы с файлами и заливать все в табличку >> БД. Написал скрипт обновления БД и модуль для работы. Пока не на >> CPANе, но если не будет конструктивной критики и успешно уйдет в >> продакшн, то залью на цпан и в гитхаб. > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- Best regards, Ruslan. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
