RSS
 

(Русский) База GeoIP – страны и города, декабрь 2010

20 Dec

 

Тэги:

Обсудить

 

 
  1. Сергей

    27 декабря 2010, 5:44

    Не плохая работа! но заметил что малая часть городов/сел были удалены, например:
    Антил,Геба,Гиба,Карбук,Нита,Новокаякент,Новый Хушет,Сталское в “maxmind” есть а в объединённой базе нет. Такое наверно произошло и с другими мало известноми городами.
    Может это произошло когда были отсеяны артефакты, я не знаю, но могу помочь правильно перевести название городов.

    Сделать это можно так: с начало транслить все города в базе на русский язык, патом скриптом искать похожие совпадения с другой базы которая только с названиями городов(есть в формате txt), затем заменять совпадения.

     
  2. Сергей

    27 декабря 2010, 5:53

    и ещё….

    function ipaddress_to_uint32($ip)
    {
    list($v4,$v3,$v2,$v1) = explode(“.”, $ip);
    return ($v4*256 *256*256) + ($v3*256*256) + ($v2*256) + ($v1);
    }

    $i = ipaddress_to_uint32($ip);

    $query = “select * from `net_city_ip` where begin_ip<= $i and $i <=end_ip;";
    $result = mysql_query($query);
    if ($row = mysql_fetch_assoc($result))
    {
    $locId = $row['id'];
    }

    $query = "select * from `net_city` where city_id='".$locId."'";

    есть лучший вариант?

     
  3. NetLoad

    27 декабря 2010, 11:48

    Скорее всего названия небольших городов потерялись на этапе перевода (Google не знает таких). На досуге попробую другую технику перевода, возможно, будет лучший результат.
    Сравнивать со списком городов – отличная идея, да вот не нашёл я приличный список городов мира. Если у Вас есть такой – поделитесь.

    По поводу запроса к базе данных. Конструкция с вложенным SELECT в моем запросе выглядит страшно, но она отрабатывает на два порядка быстрее, чем один запрос с двумя условиями. Невероятно, но факт.

     
  4. Сергей

    27 декабря 2010, 22:38

    Ваш запрос с начало проверяет страну, патом город? можно взглянуть?

     
  5. NetLoad

    27 декабря 2010, 22:41

    В архиве “Страны и города” есть пример запросов.

     
  6. Виктор

    14 января 2011, 1:26

    А сколько в базе стран и сколько городов?
    Можно ли использовать эту базу в качестве классификатора стран и городов (как MaxMind World Cities без координат, но на русском)?

     
  7. NetLoad

    15 января 2011, 13:49

    В базе все страны (таблица net_country) и ~ 57 тысяч городов (таблица net_city). В русских названиях городов возможны ошибки.