RSS
 

База GeoIP – страны и города, сентябрь 2013

09 Сен

Вышла в свет обновленная версия русскоязычной базы данных стран и городов.

База распространяется в двух модификациях: «Страны и города» (13Mb, после установки ~74Mb)  и «Только страны» (2Mb, после установки ~9Mb). Также в архивах находится небольшой пример использования базы данных на php.

Точность определения страны ~99%, точность определения городов в среднем ~95%, точность определения городов Украины ~50%.  Много это или мало – зависит от задач, которые собираетесь решать с помощью этой базы.

Тестовое демо – определение вашей страны и города по IP-адресу

Рабочее демо – определение вашего города в форме бронирования билетов

Для установки базы рекомендую воспользоваться программами типа mysqldumper или через ssh выполнить
mysql –p –uюзер база_данных < файл.sql

«Скрипт обновления» (~1Mb, после установки ~5Mb) адаптирован только для текущей версии базы (сентябрь 2013), обновить с его помощью прежние версии невозможно. Для обновления базы импортируйте файл geo_update_2013_09.sql (содержит две технические таблицы), скачайте свежие архивы с maxmind и ipgeobase и запустите из консоли update_maxmind.php и update_ru.php. Обновление базы городов maxmind выполняется 10-15 минут.

В справочнике стран присутствуют острова, которые не являются независимыми государствами, но значительно удалены от своих метрополий.

В справочнике городов возможны ошибки (в том числе дубли).

В базе «Только страны» есть блоки IP только европейских стран (из ipgeobase, таблица net_euro) и стран всего мира (в том числе европейских, из maxmind, таблица net_country_ip). Теоретически европейские страны должны точнее определяться по первому варианту, но практической проверки не было.

Идеи по усовершенствованию и повышению качества базы приветствуются.

Немного статистики

В текущей версии базы 54,912 населенных пунктов.

Количество населенных пунктов по разным странам:

Страна Количество
США 14,534
Франция 4,957
Германия 4,148
Италия 3,244
Австралия 2,986
Великобритания 2,496
Испания 2,153
Канада 1,701
Российская Федерация 1,284
Австрия 1,045
Бразилия 805
Польша 775
Швейцария 735
Япония 725
Нидерланды 691
Португалия 585
Ирландия 566
Мексика 554
Швеция 530
Чехия 506
Китай 492
Индия 420
Аргентина 396
Бельгия 394
Греция 370
Украина 357
Турция 338
Филиппины 326
Южно-Африканская Республика 311
Болгария 289
Румыния 269
Хорватия 259
Венгрия 258
Новая Зеландия 258
Дания 247
Норвегия 237
Финляндия 216
Колумбия 214
Таиланд 178
Индонезия 171
Словакия 157
Малайзия 138
Чили 133
Словения 119
Коста-Рика 117
Латвия 102
Казахстан 96
Перу 96
Сербия 95
Израиль 95
Венесуэла 94
Республика Корея 85
Эстония 81
Эквадор 79
Люксембург 79
Иран 71
Вьетнам 70
Беларусь 70
Марокко 60
Шри-Ланка 59
Литва 56
Босния и Герцеговина 56
Кипр 53
Пуэрто Рико 52
Нигерия 51
Пакистан 49
Уругвай 49
Тайвань 48
Доминиканская республика 45
Ямайка 42
Алжир 40
Тунис 39
Сальвадор 39
Армения 38
Панама 36
Македония 35
Молдова 34
Маврикий 34
Исландия 34
Гондурас 34
Тринидад и Тобаго 34
Гватемала 33

В остальных странах менее 30 населенных пунктов.

 

Тэги:

Обсудить

 

 
  1. I2Y

    9 сентября 2013, 16:26

    Ваш IP-адрес: 5.248.86.88
    Страна: Украина
    Город: Не определен

    город – Львов

     
  2. test

    9 сентября 2013, 16:45

    добавте на тестовой странице кнопку – правильно\не правильно и опциональный выбор правильного и быстро соберете статистку

     
  3. zten

    22 ноября 2013, 11:45

    В таблице net_city для России 7 раз указана Москва (к примеру). И пользователь, выбрав Россию, видит в списке 7 строк с Москвой. Как их идентифицировать? Есть поле region, но что оно значит?

     
  4. NetLoad

    25 ноября 2013, 14:35

     
  5. Стас

    29 декабря 2013, 17:09

    Ваш IP-адрес: 178.137.126.142
    Страна: Украина
    Город: Киев

    я из Запорожья ((

     
  6. Кирилл

    11 октября 2014, 12:54

    Можно как-то подгружать в зависимости от IP адреса версию сайта? Например en и ru ?

     
  7. NetLoad

    11 октября 2014, 13:44

    Кирилл, в таблице country есть коды стран. Поэтому можете определить страну по IP и дальше переадресовать на страницу (или поддомен) с нужным кодом страны. Это алгоритм.
    Готовое решение я вам не дам, оно индивидуально для каждой CMS.