Вышла в свет новая версия русскоязычной базы данных стран и городов. Основные изменения:
- для перевода названий городов использован API Карт Google
- для поиска по странам СНГ подключена база geobaza.ru
Результат этой работы доступен для свободного скачивания.
База распространяется в двух модификациях: «Страны и города» (22Mb, после установки ~123Mb) и «Только страны» (1Mb, после установки ~6Mb). Также в архивах находится небольшой пример использования базы данных на php.
Точность определения страны ~99%, точность определения городов в среднем ~95%, России ~98%, Украины ~95%. Много это или мало – зависит от задач, которые собираетесь решать с помощью этой базы.
Тестовое демо – определение вашей страны и города по IP-адресу
Рабочее демо – подстановка города в форме поиска авиабилетов
Для установки базы рекомендую воспользоваться программами типа mysqldumper или через ssh выполнить
mysql –p –uюзер база_данных < файл.sql
Не рекомендую устанавливать базу городов на виртуальный хостинг, не выдержит нагрузки.
Идеи по усовершенствованию перевода и повышению качества базы приветствуются.
Немного статистики
В текущей версии базы 93,342 населенных пунктов.
Количество населенных пунктов по разным странам:
Страна | Количество |
---|---|
Германия | 18,255 |
США | 15,525 |
Италия | 6,595 |
Австрия | 6,357 |
Испания | 5,678 |
Австралия | 5,128 |
Франция | 4,635 |
Россия | 3,186 |
Канада | 3,036 |
Польша | 2,768 |
Бразилия | 2,333 |
Швейцария | 1,795 |
Бельгия | 1,562 |
Япония | 1,411 |
Португалия | 1,271 |
Ирландия | 1,119 |
Аргентина | 1,084 |
Мексика | 1,060 |
Украина | 715 |
Китай | 689 |
Болгария | 603 |
Великобритания | 572 |
Колумбия | 545 |
Люксембург | 358 |
Индия | 357 |
ЮАР | 332 |
Норвегия | 329 |
Турция | 293 |
Новая Зеландия | 279 |
Венгрия | 260 |
Сербия | 221 |
Чили | 202 |
Казахстан | 194 |
Филиппины | 185 |
Румыния | 166 |
Чехия | 159 |
Республика Корея | 155 |
Нидерланды | 152 |
Словакия | 152 |
Эквадор | 141 |
Хорватия | 138 |
Швеция | 128 |
Гватемала | 124 |
Венесуэла | 120 |
Гондурас | 118 |
Финляндия | 115 |
Беларусь | 102 |
Греция | 94 |
Иран | 91 |
Литва | 90 |
Израиль | 90 |
Латвия | 87 |
Молдова | 85 |
Эстония | 85 |
Тринидад и Тобаго | 79 |
Перу | 69 |
Барбадос | 56 |
Ямайка | 56 |
Коста-Рика | 55 |
Индонезия | 54 |
Доминиканская республика | 53 |
Маврикий | 51 |
Египет | 46 |
Дания | 45 |
Марокко | 42 |
Македония | 41 |
Армения | 39 |
Алжир | 38 |
Нигерия | 37 |
Уругвай | 36 |
Панама | 36 |
Сальвадор | 33 |
В остальных странах менее 30 населенных пунктов.
Виталик
16 февраля 2011, 15:59
Забавно, в этой базе по Беларуси 102 города, а в декабрьской, которая позиционируется автором как менее полная, 181 город
NetLoad
17 февраля 2011, 18:32
В январской версии базы использовался другой способ перевода названий. В следующей версии постараюсь объединить результаты.
Andrey
13 марта 2011, 22:06
Спасибо
MacIFree
16 марта 2011, 14:54
А можно исходники Вашего примера? а то что-то не получается
NetLoad
16 марта 2011, 15:46
Пример в архиве в файле example.php
Johan Harisi
25 апреля 2011, 17:57
Скажите, а могу ли я получить широту и долготу по заданному IP адресу используя Java ?