- База стран и городов
- Страны — country
- Области — area
- Города — city
- Районы области — rajon
- Районы города — rajon_city
- Список POLYGON — координаты окружающих район в городе, город, область, регион
- Соответствие IP и страны/города — geo__base
- Диапазоны IP адресов и их whois — geo__ip
- Телефонные операторы, в т.ч. сотовые — oper
- Данные об MNP переносах — phone
- Телефонные номера, коды и регион привязки — telcod
- Синонимы, альтернативные названия и названия на иностранных языках — sinonim
- API данных о городах, областях, регионах, странах
- Получение частей света
- Получение всех стран или список стран указанной части света
- Получение всех областей(регионов, штатов) указанной страны
- Получение всех районов указанной области(региона, штата)
- Получение всех городов указанного района внутри области
- Получение всех городов указанной области(региона, штата) без деления на районы
- Получение полного списка населенных пунктов (городов) страны
- Информация о городе по id
- Получение полного списка районов населенного пункта (города)
- Информация о стране по коду или названию
- Информация о регионе(штате,области) по коду
- API получения списка городов (населенных пунктов) по части названия города
- API получения ближайших городов(населенных пунктов) от заданного
- API получения ближайших городов (населенных пунктов) от заданных координат
- API получения города по GPS — координатам
- API расчета расстояния между городами
- Получить названия населенных пунктов, областей, регионов на разных языках, переименования и синонимы
- Поиск по названию в странах, областях, районах, больших городах
- Ограничение
База стран и городов
Самая полная собираемая и обновляемая база данных стран и городов с административным делением на районы, области, регионы с географическими координатами. База доступна для скачивания и посредством API запросов. База стран и городов дополнительно содержит информацию о временной зоне в данном городе, о телефонном номере. Для большинства стран доступна информация об автомобильном номере, соответствующем данному региону. В базе поле capital содержит информацию о городе, который является соответственно или столица страны или областной или районный центр. В настоящий момент база содержит:
- Стран: 254
- Список стран, содержащих города
- Соединенные Штаты [201 412]
- Россия [147 805]
- Китай [62 636]
- Индонезия [54 412]
- Германия [49 164]
- Франция [44 254]
- Италия [33 482]
- Мексика [33 362]
- Филиппины [27 951]
- Испания [24 791]
- Нигер [24 041]
- Украина [22 308]
- Перу [20 032]
- Пакистан [19 046]
- Таиланд [18 715]
- Соединенное Королевство [18 177]
- Мьянма [17 309]
- Бразилия [17 073]
- Сьерра-Леоне [14 650]
- Беларусь [14 211]
- Индия [13 435]
- Мадагаскар [12 440]
- и другие.
Скрипты, входящие в комплект автоматически обновляют диапазоны IP адресов.
Заполнение координат городов:
- По большим городам из 16613 нет координат у 3 (0% нет)
- По крупнейшим из 6597 нет координат у 0 (0% нет)
Заполнение телефонных кодов городов:
- По большим городам из 16613 нет кодов у 9919 (59% нет)
- По крупнейшим из 6597 нет кодов у 2426 (36% нет)
Заполнение почтовых индексов городов:
- По большим городам из 16613 нет индексов у 6800 (40% нет)
- По крупнейшим из 6597 нет индексов у 1291 (19% нет)
Структура таблиц базы данных:
Страны — country
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
name | varchar(64) | Нет | Название страны | |
fullname | varchar(64) | Нет | Полное название страны | |
english | varchar(64) | Нет | Англоязычное название | |
id | char(2) | Нет | Двухсимвольный код страны; | |
country_code3 | char(3) | Нет | Трехсимвольный код страны | |
iso | char(3) | Нет | Код по ISO | |
telcod | char(4) | Нет | Телефонный код страны | |
location | char(10) | Да | NULL | Часть света |
capital | int(10) | Нет | Код города — столицы страны, ссылка на таблицу city |
Области — area
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
id | int(10) | Нет | ||
name | varchar(64) | Нет | Название | |
okrug | varchar(64) | Нет | Название округа в который входит данный регион | |
autocod | varchar(21) | Нет | Автомобильный код | |
capital | int(10) | Нет | Областной центр, ссылка на таблицу city | |
english | varchar(64) | Нет | ||
iso | varchar(3) | Нет | ||
country | char(2) | Нет |
Города — city
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
id | int(10) | Нет | ||
name | varchar(64) | Нет | ||
area | int(10) | Нет | ||
telcod | varchar(24) | Нет | Телефонный код города | |
latitude | float(10,6) | Да | NULL | широта |
longitude | float(10,6) | Да | NULL | долгота |
time_zone | float(6,2) | Да | NULL | Временная зона, отклонение времени от GMT(UTC) |
english | varchar(64) | Нет | Английское название или транскрипция | |
rajon | int(10) | Нет | 0 | |
country | char(2) | Нет | Двухсимвольный код страны | |
sound | char(4) | Нет | A000 | функция soundex от транслита name для быстрого поиска по созвучию |
level | tinyint(4) | Нет | 0 | 1-Областной центр или город с населением более 1 млн.человек, 2-Районный центр или город с населением более 100тыс.человек, 3-Город с населением более 15тыс.человек, 4-Деревня/станица/хутор с населением менее 15тыс.человек |
ISO | varchar(3) | Нет | ||
vid | tinyint(3) | Нет | 0 | 1-город, 2-поселок, 3-село, 4-деревня, 5-станица, 6-хутор |
post | varchar(256) | Нет | 0 | Почтовый код (Индекс) |
Районы области — rajon
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
id | int(10) | Нет | ||
name | varchar(64) | Нет | ||
area | int(10) | Нет | ||
country | char(2) | Нет | ||
capital | int(10) | Нет | Код районного центра | |
english | varchar(64) | Нет |
Районы города — rajon_city
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
id | int(10) | Нет | ||
name | varchar(128) | Нет | Название района в городе | |
city | int(10) | Нет | 0 | Код города |
english | varchar(64) | Нет | ||
parent | int(10) | Нет | 0 | Ссылка на родительский район города |
Список POLYGON — координаты окружающих район в городе, город, область, регион
Данный объект пока в режиме тестирования
Соответствие IP и страны/города — geo__base
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
long_ip1 | bigint(20) | Нет | Начало диапазона | |
long_ip2` bigint(20) | Нет | Конец диапазона | ||
country | char(2) | Нет | Код страны | |
city | varchar(64) | Нет | 0 | Код города |
upd | datetime | Нет | актуальность | |
oper | int(10) unsigned | Нет | 0 | Код оператора по таблице oper |
Диапазоны IP адресов и их whois — geo__ip
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
long_ip1 | bigint(20) | Нет | Начало диапазона ip адресов | |
long_ip2 | bigint(20) | Нет | Конец диапазона ip адресов | |
whois | text | Нет | данные Whois | |
upd | datetime | Нет | актуальность |
Телефонные операторы, в т.ч. сотовые — oper
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
id | int(10) unsigned | Нет | ||
name | varchar(512 | Нет | ||
mobile | tinyint(3) unsigned | Нет | 0 | 1 — мобильный оператора |
mvno | int(10) unsigned | Нет | 0 | 1- Виртуальный оператор |
country | char(2) | Нет | ||
mnc | int(3) unsigned | Нет | 0 | |
brand | varchar(64) | Нет | Бренд оператора | |
url | varchar(128) | Нет | сайт оператора | |
deleted | timestamp | Да | дата удаления |
Данные об MNP переносах — phone
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
phone | varchar(15) | Нет | Номер телефона | |
oper | int(10) unsigned | Да | дата удаления | |
upd | date | Да | дата добавления | |
country | char(2) | Нет | Страна | |
mnc | int(3) | Нет | Код MNC оператора | |
region | int(10) unsigned | Да | NULL | Регион, если не указано, брать по def коду |
oper_from | int(11) | Да | NULL | откуда перешел, если не указано, брать по def коду |
Телефонные номера, коды и регион привязки — telcod
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
okrug | int(10) | Нет | Регион, округ по таблице area | |
city | int(10) unsigned | Нет | Код города | |
oper | int(10) unsigned | Нет | Код оператора | |
deffrom | varchar(15) | Нет | Начало диапазона | |
defto | varchar(15) | Нет | Конец диапазона | |
country | char(2) | Нет | Страна |
Синонимы, альтернативные названия и названия на иностранных языках — sinonim
Поле | Тип | Null | По умолчанию | Комментарии |
---|---|---|---|---|
id | int(11) | Нет | ||
name | varchar(255) | Нет | Текущее актуальное название | |
sinonim | varchar(255) | Нет | Альтернативное название или перевод | |
tbl | varchar(64) | Нет | Таблица(city, area, . ) или пусто для всех | |
lang | int(11) | Нет | 0 | Цифровой код языка по таблице lang (https://ru.wikipedia.org/wiki/Коды_языков) |
tbl_id | int(11) | Нет | 0 | id в таблице tbl при переименовании |
Имена полей когда соответствуют имени таблицы — это id-код по этой таблице
Также база данных, по вашему желанию, может содержать дополнительные таблицы: Выделенные диапазоны IP адресов по городам, телефонные номерные емкости, закрепленные за странами и городами, и другие. Тестовая база и структура таблиц в формате SQL здесь.
Чтобы не возникло желания спарсить базу стран и городов, заранее информирую, что при превышении количества запросов с одного IP, Ваш IP-адрес блокируется на сутки. Сайт через большинство бесплатных прокси серверов недоступен.
Источник
API данных о городах, областях, регионах, странах
Набор API для получения информации обо всех городах, областях, регионах, странах.
Получение частей света
Структура API запроса для получения всех частей света:
Получение всех стран или список стран указанной части света
Структура API запроса для получения всех областей(регионов, штатов) указанной страны:
Для получения всех стран Европы:
http://htmlweb.ru/geo/api.php?location=Европа&json&api_key=API_KEY_из_профиля
Для получения всех стран передайте пустое location.
Для получения только кодов и названий, передайте параметр short.
Получение всех областей(регионов, штатов) указанной страны
Структура API запроса для получения всех областей(регионов, штатов) указанной страны:
Например, для получения всех областей и округов России:
Для получения одной записи «Республика Крым» в формате sql: http://htmlweb.ru/geo/api.php?country=ru&id=115&sql&api_key=API_KEY_из_профиля
Также вы можете задать альтернативные форматы xml, html или sql:
Кодовая страница по умолчанию для sql формата utf-8. Для выгрузки в формате windows-1251 добавьте параметр &charset=windows-1251
Если формат не указан, формируется список option для select-запроса
Получение всех районов указанной области(региона, штата)
Структура API запроса для получения всех областей(регионов, штатов) указанной страны:
КОД_ОБЛАСТИ — поле id в ответе на запрос «Список всех областей»
Например, для получения всех областей и округов Амурской области России:
Получение всех городов указанного района внутри области
Структура API запроса для получения всех городов указанного района внутри области:
КОД_РАЙОНА — поле id в ответе на запрос «Список всех районов области»
Получение всех городов указанной области(региона, штата) без деления на районы
Структура API запроса для получения всех городов :
КОД_ОБЛАСТИ — поле id в ответе на запрос «Список всех областей»
Например, для получения всех городов Амурской области России:
Для включения в выборку только крупных городов добавьте параметр level=2. Если хотите получить только крупнейшие города, добавьте параметр level=1.
Для получения ответа в формате MySql используйте параметр sql[=имя_таблицы]:
Например, для получения всех городов Амурской области России:
Получение полного списка населенных пунктов (городов) страны
Структура API запроса для получения всех городов :
Входные параметры:
- country — страна. Может быть задана кодом или названием
Информация о городе по id
Для получения информации о конкретном городе по id в формате json выполните следующий запрос:
В кратком формате:
Для получения строки в формате SQL для сохранения в базу выполните следующий запрос:
или в старом формате:
Для получения краткой информации о конкретном городе по id в формате json выполните следующий запрос:
Для получения строки в формате SQL для сохранения в базу с указанием списка полей, выполните следующий запрос:
Получение полного списка районов населенного пункта (города)
Структура API запроса для получения всех районов города:
Входные параметры:
- city — код города
Пример для Ростова-на-Дону:
Для поиска города по части названия удобно использовать поиск. Пример для Ростова-на-Дону:
Информация о стране по коду или названию
Для получения информации о стране по id в формате json выполните следующий запрос:
Для получения краткой информации о стране по названию в формате json выполните следующий запрос:
Информация о регионе(штате,области) по коду
Для получения информации о стране по id в формате json выполните следующий запрос:
API получения списка городов (населенных пунктов) по части названия города
Структура API запроса для получения списка городов по части названия:
Вариант запроса для получения готового html кода для вставки на страницу в
API получения ближайших городов(населенных пунктов) от заданного
Структура API запроса для получения ближайших населенных пунктов:
Например, для Москвы:
Вариант запроса для получения готового html кода для вставки на страницу:
Дополнительные необязательные параметры:
length=50 — расстояние в пределах которого осуществляется поиск, км
level=1 — только крупнейшие города
level=2 — большие и крупнейшие города
p=N — с какой страницы выдавать список городов
perpage=30 — сколько городов выводить в списке (за каждые 50 населенных пунктов списывается один запрос, подробнее. )
API получения ближайших городов (населенных пунктов) от заданных координат
Структура API запроса для получения ближайших населенных пунктов:
API получения города по GPS — координатам
Структура запроса для получения ближайшего города по GPS-координатам:
API расчета расстояния между городами
Структура API запроса для расчета расстояния между городами:
Например, для расчета расстояния между Москвой и Ростовом-на-Дону:
Вариант запроса для получения готового html кода для вставки на страницу:
Получить названия населенных пунктов, областей, регионов на разных языках, переименования и синонимы
Структура API запроса для получения всех городов :
- sinonim — для какого названия требуется список синонимов
- lang2obj — заменить в выборке поле lang на объект, содержащий подробную информацию о языке. При передаче этого параметра дополнительно спишется ещё один запрос
Поиск по названию в странах, областях, районах, больших городах
Структура API запроса для поиска:
- search — Страна или ISO код страны или название столицы или город в стране
- tbl = country | area | rajon | city — искать только в странах, областях, районах, городах
- country — искать только в указанной стране
- capital2obj — заменить в выборке поле capital на объект, содержащий подробную информацию о столице, иначе возвращается только код столицы. Спишется +1 запрос
- area2obj — заменить в выборке поле area на объект, содержащий подробную информацию о регионе, иначе возвращается только код региона.
Кроме стандартного набора форматов вывода (json, xml, api), поддерживает формат html — возвращает список ссылок в html-формате. Для этого добавьте в запрос параметр &html, например: https://htmlweb.ru/api/geo/search/Москва?html .
- country — список стран
- area — список регионов
- rajon — список районов
- city — список населенных пунктов
Ограничение: возвращается не более 50 позиций в каждом элементе выборки
Ограничение
При расчете лимита за один запрос принимается один запрос с выборкой не более 50 записей. Тарификация производится за каждый запрос!
Обратите внимание, по умолчанию выводится с 1-ой по 50-ую записи. Если Вы хотите вывести следующие 50 записей укажите дополнительный параметр:
Если Вы хотите выводить не по 50, а другое кол-во укажите параметр:
Источник