- API данных о городах, областях, регионах, странах
- Получение частей света
- Получение всех стран или список стран указанной части света
- Получение всех областей(регионов, штатов) указанной страны
- Получение всех районов указанной области(региона, штата)
- Получение всех городов указанного района внутри области
- Получение всех городов указанной области(региона, штата) без деления на районы
- Получение полного списка населенных пунктов (городов) страны
- Информация о городе по id
- Получение полного списка районов населенного пункта (города)
- Информация о стране по коду или названию
- Информация о регионе(штате,области) по коду
- API получения списка городов (населенных пунктов) по части названия города
- API получения ближайших городов(населенных пунктов) от заданного
- API получения ближайших городов (населенных пунктов) от заданных координат
- API получения города по GPS — координатам
- API расчета расстояния между городами
- Получить названия населенных пунктов, областей, регионов на разных языках, переименования и синонимы
- Поиск по названию в странах, областях, районах, больших городах
- Ограничение
- Получаем i18n список стран, регионов, населенных пунктов из ВКонтакте
- Получить базу данных стран, регионов, населенных пунктов с переводом названий и связями бесплатно и без регистрации? Это реально!
- Получаем список стран для различных языков
- Получаем список регионов для различных языков
- Получаем список населенных пунктов
- Коллизии
- Updated
- Updated 2
- Updated 3
- Географические сервисы
- Сервисы на основе API интерфейса.
- Скрипты
- Исходные коды и описание представленных здесь скриптов
- Скачать иконки, изображения флагов стран
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, а другое кол-во укажите параметр:
Источник
Получаем i18n список стран, регионов, населенных пунктов из ВКонтакте
Получить базу данных стран, регионов, населенных пунктов с переводом названий и связями бесплатно и без регистрации? Это реально!
При разработке небольшого стартап-проекта с большими амбициями столкнулся с необходимостью в базе данных стран, регионов и городов, с переводом названий хотя бы на самые распространенные языки (английский, русский, испанский, немецкий и т. д.). Готовое решение найдено не было, поэтому стал искать источники, из которых можно спарсить необходимые данные. На ум сразу пришли известные социальные сети. В этой статье уже описывалось получение данных из ВКонтакте, но покопавшись в документации API ВКонтакте, был приятно удивлен, найдя открытые документированные методы получения геоданных:
database.getCountries — Возвращает список стран.
database.getRegions — Возвращает список регионов.
database.getCities — Возвращает список населенных пунктов.
database.getCountriesById — Возвращает информацию о странах по их идентификаторам
database.getCitiesById — Возвращает информацию о городах по их идентификаторам.
Это основные, интересные нам методы, к тому же не требующие авторизации и использования токенов. Больше методов можно посмотреть в разделе документации.
Пример url для обращения к методу получения списка стран представлен ниже (аналогично происходит обращение по протоколу https):
http://api.vk.com/method/database.getCountries?v=5.5&need_all=1&count=10
Параметры:
v — указывает на версию API. В разных версиях структура JSON будет разной. Например, начиная с версии 5.0 добавлено значение count, которое содержит общее количество элементов в выборке и при совместном использовании с параметром offset поможет получить все значения. По умолчанию данные возвращаются в старой версии (видимо для совместимости со старыми приложениями).
count — максимальное количество значений, возвращаемых методом. Максимальное значение параметра, которое можно задать, составляет 1000 элементов. Минимальное и значение по умолчанию для каждого метода может отличаться и следует сверяться с документацией.
need_all — необязательный параметр, по умолчанию равен «0», указывает на то, что не следует производить выборку небольших регионов/стран/населенных пунктов
Остальные параметры для каждой функции расписывать нет смысла, так они есть в официальной документации, перейдем же к неофициальным возможностям:
Получаем список стран для различных языков
Стоит обратить внимание, что метод пытается вернуть данные на языке, указанном в cookie параметре remixlang. Поэтому подставив числовое значение необходимого языка, получим данные на необходимом языке, если присутствует перевод. Страны переведены все, вроде бы на все языки, доступные в социальной сети. Для регионов и городов: если перевод отсутствует (мелкие населенные пункты, регионы небольших стран), то получим значение на популярном в данном регионе языке например в африканских странах, на английском, для стран СНГ — русском.
Вот краткий список идентификаторов языков:
Язык | Значение remixlang |
Русский | 0 |
Украинский | 1 |
Английский | 3 |
Испанский | 4 |
Португальский | 12 |
Немецкий | 6 |
Французский | 16 |
Итальянский | 7 |
Получаем список регионов для различных языков
Пример url для обращения к методу получения списка регионов для страны заданной, параметром country_id (обязательный параметр):
http://api.vk.com/method/database.getRegions?v=5.5&need_all=1&offset=0&count=1000&country_id=
Перечень параметров, для метода и описание можно посмотреть в документации. Однако стоит заметить, что возвращенный JSON может быть пустым, т. е. не для всех стран могут быть заданы регионы, в таком случае, при получении списка городов параметр region_id можно опустить.
Получаем список населенных пунктов
Пример url для обращения к методу получения списка городов для страны заданной, параметром country_id (обязательный параметр) и региона region_id (необязательный параметр):
http://api.vk.com/method/database.getCities?v=5.5&country_id=1®ion_id=1045244&offset=0&need_all=1&count=1000
Возвращаемые данные для каждого населенного пункта могут также содержать следующие параметры:
area — название района (провинции и т. д.)
important равное «1» — обозначение крупных городов, появляется только при использовании параметра need_all
Внимание! Некоторые регионы могут не содержать населенных пунктов (или сами являться населенными пунктами, как я понял).
Коллизии
Некоторые полученные значения могут содержать спецсимволы, теги (например и
).
Updated
Не обязательно использовать хак cookie, для получения результата. Как подсказал пользователь uh_zuh, документирован параметр lang ( например lang=ru).
Updated 2
Практика показала, что параметр lang не функционирует для многих языков.
Updated 3
Как и обещал, полный дамп:
Актуальные версии на GitHub
SQL дамп в формате PostgreSql
Yandex Disk
Google Drive
SQL дамп в формате MySql
Yandex Disk
Google Drive
Дамп в формате CSV
Разделитель — точка с запятой (;), с заголовком столбца, данные в двойных кавычках(«)
Yandex Disk
Google Drive
Разделитель — запятая (,), с заголовком столбца, данные в двойных кавычках(«)
Yandex Disk
Google Drive
Названия переведены на: Русский, Украiнский, Белорусский, Английский, Испанский, Португальский, Немецкий, Французский, Итальянский, Польский, Японский, Литовский, Латышский, Чешский
234 страны
3 721 регион
2 246 813 населенных пункта
Источник
Географические сервисы
Здесь собраны сервисы, которые позволяют получать различную информацию связанную с географией: Где ip адрес, где домен, где владелец телефона, расстояние между городами, ближайшие города, города региона, список областей страны и т.д.
Сервисы на основе API интерфейса.
- Поиск по названию в странах, областях, районах, больших городах
- API выбора города из списка по начальным буквам. Пример скрипта использования API выбора города.
- API получения местонахождения и информация об ip адресе.
- API для получения TimeZone / временная зона /часовой пояс
- API получения местонахождения по номеру телефона: страны и города.
- API получения местонахождения по данным браузера(geolocation).
- API выгрузки данных о городах, областях, регионах, странах в форматах json, html, xml, sql.
- API для получения def кодов операторов.
- API для получения proxy-серверов.
- Другие API cервисы
Скрипты
- ⨀ База стран и городов- сводная информация по GEO-базе.
- IP Информация о своем ip адресе. Сервис позволяет получить местонахождение посетителя по ip адресу, провайдера.
- IP Скрипт геотаргетинга. Геотаргетинг для сайта. Сервис позволяет получить геогрфическое местонахождение посетителя по ip адресу.
- IP Получение страны, города по IP адресу. Сервис позволяет получить местонахождение по ip адресу, провайдера.
- ۩ Информация о городе. Скрипт выбора страны -> региона -> города.
- ۩ Информация о городе. Скрипт выбора города из списка по начальным буквам.
- ☎ Получение по номеру телефона его местонахождения и оператора: страну, город, оператора.
- ⛳↔⛳ Получение расстояния между городами. Скрипт вычисляет расстояние между городами по прямой с учетом радиуса земли. Скрипт НЕ умеет рассчитывать маршрут по автомобильным или другим дорогам. API
- ⛳ ⇥ Найти ближайшие города от заданного. Найти ближайшие города от заданного, рассчитать расстояние и вывести ближайшие города (населенные пункты). Расстояние расчитывается по прямой.
- ⚑ Все страны мира.
Таблица стран мира с группировкой по расположению. Содержит следующую информацию: Флаг страны, Сокращенное название, Полное наименование, Международное название, Двухбуквенный Код (2), Трехбуквенный Код (3), ISO, Телефонный код, Столица
Исходные коды и описание представленных здесь скриптов
- Структура информационной базы для GEO-скриптов
- Скрипт выбора страна, регион, город на PHP + javascript. При выборе очередного селекта перезагружается страница с передачей POST-запроса и формируется новый select.
- Скрипт выбора страна, регион, город на PHP + javascript + Ajax. При выборе страны данные в селекте региона и города обновляются без перезагрузки страницы по технологии Ajax.
- По начальным буквам выдает список городов с использованием Ajax.
- ☎ Скрипт показывает местонахождение по номеру телефона.
- Печать дерева городов. Данный пример позволяет на PHP сформировать список стран, областей, городов в виде дерева
- Получить все скрипты и базу в одном архиве
Скачать иконки, изображения флагов стран
Архив содержит файлы изображений стран мира в формате png размером: ширина 16 точек, высота 11 точек. Имена файлов соответствуют 2х буквенному коду страны ISO 3166 code2.
Архив содержит файлы изображений стран мира в формате gif размером: ширина 47 точек, высота 28 точек. Имена файлов соответствуют 2х буквенному коду страны ISO 3166 code2.
Архив содержит файлы изображений стран мира в формате png размером: ширина 100 точек, высота 50 точек. Имена файлов соответствуют 2х буквенному коду страны ISO 3166 code2.
Архив содержит файлы изображений стран мира в формате png размером: ширина 24 точек, высота 24 точек. Имена файлов соответствуют 2х буквенному коду страны ISO 3166 code2.
Архив содержит файлы изображений стран мира в формате png размером: ширина 32 точек, высота 32 точек. Имена файлов соответствуют 2х буквенному коду страны ISO 3166 code2.
Архив содержит файлы изображений стран мира в формате png размером: ширина 48 точек, высота 48 точек. Имена файлов соответствуют 2х буквенному коду страны ISO 3166 code2.
Архив содержит файлы изображений стран мира в формате png размером: ширина 64 точек, высота 64 точек. Имена файлов соответствуют 2х буквенному коду страны ISO 3166 code2.
Источник