База данных стран, регионов и городов

База данных стран, регионов и городов под лицензией MIT. База данных представлена в виде sql скрипта для PostgreSQL. При запуске скрипт создает необходимые таблицы и заполняет их данными. База данных содержит:
Страны 218
Регионы 1611
Города 17287
Страна Количество регионов Количество городов
Абхазия 1 10
Австралия 9 208
Австрия 9 186
Азербайджан 3 76
Албания 12 41
Алжир 1 10
Ангола 1 7
Ангуилья 1 2
Андорра 8 19
Антигуа и Барбуда 1 8
Антильские о-ва 1 1
Аргентина 24 184
Армения 12 247
Арулько 1 1
Афганистан 1 6
Багамские о-ва 1 1
Бангладеш 1 2
Барбадос 1 1
Бахрейн 1 2
Беларусь 6 153
Белиз 1 1
Бельгия 11 203
Бенин 1 1
Бермуды 1 1
Болгария 29 371
Боливия 8 34
Босния/Герцеговина 3 26
Ботсвана 1 3
Бразилия 21 99
Британские Виргинские о-ва 1 1
Бруней 1 1
Буркина Фасо 1 2
Бурунди 1 1
Бутан 1 1
Валлис и Футуна о-ва 1 1
Вануату 1 2
Великобритания 17 468
Венгрия 23 83
Венесуэла 23 72
Восточный Тимор 1 1
Вьетнам 6 11
Габон 1 2
Гаити 6 6
Гайана 1 1
Гамбия 1 1
Гана 1 1
Гваделупа 2 2
Гватемала 11 20
Гвинея 1 2
Гвинея-Бисау 1 1
Германия 16 2080
Гернси о-в 1 1
Гибралтар 1 6
Гондурас 1 1
Гонконг 1 1
Гренада 1 1
Гренландия 1 1
Греция 51 333
Грузия 2 66
Дания 16 318
Джерси о-в 1 1
Джибути 1 1
Доминиканская республика 1 1
Египет 8 10
Замбия 1 3
Западная Сахара 1 2
Зимбабве 1 2
Израиль 8 71
Индия 22 63
Индонезия 1 1
Иордания 1 1
Ирак 3 3
Иран 12 16
Ирландия 26 131
Исландия 11 17
Испания 52 590
Италия 100 814
Йемен 1 2
Кабо-Верде 1 1
Казахстан 19 251
Камбоджа 1 1
Камерун 4 4
Канада 13 248
Катар 1 1
Кения 5 12
Кипр 2 6
Кирибати 1 9
Китай 30 255
Колумбия 19 54
Коморские о-ва 1 1
Конго (Brazzaville) 1 3
Конго (Kinshasa) 1 1
Коста-Рика 7 32
Кот-д''Ивуар 1 2
Куба 15 69
Кувейт 2 2
Кука о-ва 1 1
Кыргызстан 5 73
Лаос 1 1
Латвия 1 57
Лесото 1 1
Либерия 1 1
Ливан 1 2
Ливия 2 2
Литва 1 81
Лихтенштейн 6 6
Люксембург 4 38
Маврикий 1 1
Мавритания 1 1
Мадагаскар 1 6
Македония 24 28
Малави 1 1
Малайзия 1 1
Мали 1 3
Мальдивские о-ва 1 1
Мальта 1 40
Марокко 2 2
Мартиника о-в 1 1
Мексика 32 170
Мозамбик 1 4
Молдова 1 61
Монако 1 7
Монголия 1 3
Мьянма (Бирма) 1 2
Мэн о-в 1 6
Намибия 1 3
Науру 1 3
Непал 1 1
Нигер 1 5
Нигерия 1 2
Нидерланды (Голландия) 12 280
Никарагуа 4 7
Новая Зеландия 14 21
Новая Каледония о-в 1 1
Норвегия 20 248
Норфолк о-в 1 1
О.А.Э. 2 2
Оман 1 3
Пакистан 1 3
Панама 5 13
Папуа Новая Гвинея 1 2
Парагвай 5 9
Перу 23 62
Питкэрн о-в 1 1
Польша 60 325
Португалия 21 277
Пуэрто Рико 1 15
Реюньон 1 1
Россия 78 2533
Руанда 1 1
Румыния 42 264
Сальвадор 6 6
Самоа 1 2
Сан-Марино 3 4
Сан-Томе и Принсипи 1 1
Саудовская Аравия 1 6
Свазиленд 1 1
Святая Люсия 1 1
Святой Елены о-в 1 1
Северная Корея 1 1
Сейшеллы 1 1
Сен-Пьер и Микелон 1 1
Сенегал 1 1
Сент-Винсент и Гренадины 1 1
Сент Китс и Невис 1 1
Сербия 3 20
Сингапур 1 1
Сирия 1 1
Словакия 7 16
Словения 3 12
Соломоновы о-ва 1 1
Сомали 1 1
Судан 1 8
Суринам 1 1
США 53 1591
Сьерра-Леоне 1 1
Таджикистан 5 58
Таиланд 3 3
Тайвань 1 1
Танзания 1 4
Того 1 1
Токелау о-ва 1 1
Тонга 1 1
Тринидад и Тобаго 1 1
Тувалу 1 1
Тунис 1 1
Туркменистан 5 40
Туркс и Кейкос 1 2
Турция 36 37
Уганда 2 2
Узбекистан 13 108
Украина 26 765
Уругвай 11 20
Фарерские о-ва 1 1
Фиджи 1 2
Филиппины 1 7
Финляндия 7 301
Франция 93 546
Французская Гвинея 1 3
Французская Полинезия 1 1
Хорватия 12 32
Чад 1 3
Черногория 1 7
Чехия 15 116
Чили 13 63
Швейцария 26 222
Швеция 22 285
Шри-Ланка 1 1
Эквадор 13 28
Экваториальная Гвинея 1 1
Эритрея 1 1
Эстония 1 39
Эфиопия 1 3
ЮАР 1 1
Южная Корея 17 31
Южная Осетия 1 2
Ямайка 1 1
Япония 38 122

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 46

    +1
    Геопозиции?
      0
      Отсутствуют, судя по SQL-файлу на гитхабе
      id, region_id, name, crt_date
      +1
      и чем это лучше geonames?
        0
        Я чет в geonames нашел только названия стран, на английском. :)

        Так чем geonames лучше? :)
          0
          Очень плохо искали!
          Вот Вам пакет для РНР: http://pear.php.net/manual/en/package.webservices.services-geonames.examples.php
          Там Вы найдете примеры и с языком, и с городами.
          Вот пример инфы по городу: http://api.geonames.org/search?q=london&maxRows=10&username=demo
          Вот то же самое, но на русском: http://api.geonames.org/search?q=london&maxRows=10&username=demo&lang=ru
          Так чем geonames хуже? :)
            0
            Это мне по памяти вытягивать все города из него? :)
              0
              Нет, я привел пример города потому что Вы сказали, что их там нет.
              А функционала там гораздо больше, почитайте. Ничего помнить не придется ;)
                0
                Таки, да, есть города.
                Но оно все какое-то не юзер-френдли, согласитесь :)
                Ну и нету регионов. :)
                  0
                  Я конечно не профессиональный географ, но мне кажется, что это области (регионы), поправьте, если я не прав:
                  http://api.geonames.org/children?geonameId=2017370&username=demo&lang=ru

                  А насчет «юзер-френдли», то мне кажется, что Вам скорее не понятно, чем не удобно и Вы, как я заметил, не стараетесь найти решение.
              0
              Сравнение лучше хуже в этом случае не совсем подходит.

              Предлагаю взглянуть на проблему под другим углом. Есть люди которые владеют geonames. Например завтра они захотят ввести плату за сервис в том или ином объеме. Или просто начнут отключать тех или иных пользователей аргументирую это теми или иным правилами.

              Т.е риск существует. Вроде мы как бы все пользуемся и нам кажется, что это все постоянно, но в любой момент по независимым от нас (разработчиков) причинам все может измениться.

              Я полагаю, что для того, чтобы различные ИТ продукты могли развиваться нормально и независимо — должен существовать выбор.

              Например все справочники должны быть доступны в открытом доступе каждому разработчику.
              В этом случае каждый сможет выбрать что ему удобнее. Например, если хочется подключил через geonames, возникли трудности, скачал справочник и развернул его у себя.
                0
                Вообще-то, там можно скачать ВСЮ базу в zip, абсолютно открыто и никто ее уже не заберет, и будет она Ваша навеки, больше, чем эта в сотни раз. И ее можно развивать. Не понимаю смысла изобретать велосипед.
                  0
                  Возможно в будущем появится человек который возьмет и добавит в geonames связку городов и областей.

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

                  Будет очень здорово если эта база будет доступна каждому разработчику без любых ограничений.

                  Я полагаю, что лучше всего для этого подходит лицензия MIT.
                    0
                    Первое: Не надо добавлять, связку города-области потому, что они там уже есть. Почитайте мой коммент выше, там даже ссылка есть.
                    Второе: У них и так открытая лицензия. http://www.geonames.org/about.html
                    Вы наверное не поняли принцип: база бесплатная, Вы можете скачать ее всю! Логин и ограничение на вебсервис у них есть просто потому, что им нужно содержать как-то сервера и регламентировать нагрузку на них! Не нравится — скачайте локально и юзайте как хотите. Более того, там есть комьюнити, где Вы можете внести свою лепту в проект и сделать его лучше.
                    Странно, что Вы выдумываете нелепые надуманные оправдания своему «велосипеду», и не желаете разобраться в вопросе.
                      0
                      База распространяется под лицензией Creative Commons Attribution 3.0 License. (https://creativecommons.org/licenses/by/3.0/)

                      В этой лицензии есть раздел Under the following terms.

                      В котором есть требования указывать автора. (см appropriate credit). В противном случае Вы не имеете права ее использовать. Если в комьюнити люди участвуют в создании базы данных, то они так же являются соавторами. Соответственно вы должны их всех указать.

                      У Вас есть этот список авторов?
                      Возможно он где-то есть на сайте?

                      А вот без этого списка лицензия Ваша не имеет силы. Т.е если Вы просто скачаете и установите, то формально Вы нарушаете. А в некоторых странах за это ответственность очень серьезная.

                      Более того когда вы будет обрабатывать файлы, то Вы будете видоизменять информацию. Например если Вы хотите преобразовать ее в SQL формат. Чисто формально Вы должны указать все сделанные преобразования, иначе лицензия не действительна. (см indicate if changes were made)

                      Такой тип лицензирования создает массу проблем. Поэтому я полагаю что для таких объектов как справочники лучше всего подходит лицензия MIT.

                      Возможно через api их сайта предоставляется больше информации чем содержится в файле RU.zip. К сожалению Ваш запрос вернул следующий ответ:

                      the daily limit of 30000 credits for demo has been exceeded. Please use an application specific account. Do not use the demo account for your application.

                      В файле RU.zip, RU.txt возможно для каких-то объектов и задана связь, но к сожалению мне таких не попалось.
                        0
                        Вы сильно заблуждаетесь.
                      0
                      Наивно полагать, что Ваш статичный файлик на хабре через полгода-год будет хоть сколько-то актуальным. Думаете, его содержимое надежнее, чем сервис, который поддерживает огромное комьюнити и которое можно синхронизировать и хранить локально?
                        0
                        Файл находится на github. Git предоставляет достаточно широкий функционал.

                        Административно территориальное деление стран меняется не так часто.
            +1
            Зачем это? Для формы регистрации в собственной принципиально новой социальной сети? Геонэймс ведь есть…
              0
              судя по соседним значениям — ради вот этого:

              insert into region(id, country_id, name) values (87, 1, 'Кировоградская обл.');
              insert into region(id, country_id, name) values (88, 0, 'Крым АР.');
              insert into region(id, country_id, name) values (89, 1, 'Луганская обл.');
              –1
              В Украине 26 областей? В Черногории тоже далеко не 1 община. Многовато ошибок :(
                0
                еще и половины областей нет:)
                0
                Ого, обычно только при маппинге перечислений видишь нуль в Id
                insert into country(id, name) values (0, 'Россия');
                

                Спасибо
                  –1
                  insert into country(id, name) values (1, 'Украина');
                  insert into region(id, country_id, name) values (88, 1, 'Крымская обл.');

                  эээ, ну оно, конечно, верно что Крым в составе Украины, но это не "Крымская область" ну никак.
                    –5
                    О Крым, как и должно быть, в Украине, а не на Росии!
                      0
                      Должно быть для кого?
                      0
                      Из Вашей статьи узнал, что появилась страна Арулько. :)

                      Ну и данная база практически не интегрируема с другими базами. :)

                      П.С.
                      Как планируются обновления? :)
                        0
                        Веки живи, век учись.
                        0
                        Арулько? Из Jagged Alliance 2? Серьёзно? Может быть, всё таки Аруба?
                          0
                          И уже если внесли Арулько, могли бы хоть столицу правильно указать — Медуна. :)
                            0
                            справедливости ради на сайте мчс
                            http://www.mchs.gov.ru/dop/mfeedback/form/?agree=1
                            Арулько
                            –2

                            Очередной хабрасуицид?

                              +3
                              Не так все грустно. Посмотрим на ситуацию с другой стороны.

                              Я написал автомат, который собрал все эти данные. Судя по всему он так же нашел такие страны как Арулько. Но тем не менее, он собрал данные о большом количестве стран, областей и городов.

                              Возможно в будущем появится человек, который решит уточнить этот список и как результат этого появиться более точная база данных. Лицензия MIT вполне позволяет это сделать.

                              И таким образом появится бесплатный offline справочник, который будет доступен каждому разработчику.
                                0
                                Я написал автомат, который собрал все эти данные.

                                А вот можно, пожалуйста, подробнее об автомате? Откуда собирали данные, принцип сбора? Например, почему именно такая ошибка и следовательно какие ошибки ещё ожидать?
                                И таким образом появится бесплатный offline справочник, который будет доступен каждому разработчику.

                                Справочник написать можно, только, что за задачи он должен выполнять? То есть вообще не понимаю, что должно быть в ТЗ данного справочника.
                                • UFO just landed and posted this here
                                    0
                                    Может дополнить справочник полями
                                    — альтернативное название, например Башкортостан
                                    — английское название
                                    — родное название
                                    И файлик распотрошить на страны?
                                  0
                                  Как насчёт поддержки актуальности?
                                    –1

                                    Ну что-ж, можно поблагодарить автора за вклад в свободные знания.
                                    Косяки:


                                    • Названия на одном языке, либо на русском, либо на английском, т.е. там нет "Лондон" и нет "Moscow".
                                    • База уже не актуальна, в ней есть "Камчатская обл.", но нету "Камчатский край" (изменение произошло аж 1 июля 2007). В geonames край есть
                                    • Обновление — да, такие вещи нечасто обновляются, но когда идет разговор о паре сотен стран, получается пара сотен источников данных. Каждый может быть на своем языке.

                                    Вклад получился одноразовый — запустили скрипт, получили выхлоп, отдали сообществу, нате, пользуйтесь.
                                    Если вы действительно хотите сделать вклад, может быть выложите на гитхаб скрипт, которым это было сделано?
                                    Это бы упростило задачи изменения и актуализации данных.

                                      0
                                      Да пофиг на скрипт, если он автору важен, откуда данные?
                                      0
                                      А Крым-то наш?

                                      Если серьёзно, то страны и регионы признаются далеко не всеми другими странами. По какому критерию сделан выбор? Почему Южная Осетия есть, а Палестины нет?
                                        0
                                        Устаревшие данные
                                        Грозный принадлежит региону «Чечено-Ингушетия». Серьезно?

                                        А Крым в списке Украинских регионов (между Кировоградской обл. и Луганской обл.), у него только страна изменена на Россия. И что значит АР., Автономная республика? А почему у остальных нет такого описания? Например написано просто «Татарстан», а не «Республика Татарстан».

                                        Получается такая каша-малаша из данных.
                                          0
                                          1. Как быть со спорными территориями? Кашмир, например, своим считают аж целых 3 страны. Тайвань, Палестина, Абхазия с Южной Осетией признаются не всеми странами и т.д.;
                                          2. Почему только трехуровневая система административного деления (страна, регион, город)? Во многих странах деление намного сложнее. Например, в той же Германии, в отдельных регионах свое деление на меньшие единицы. Поэтому не хватает отдельной таблицы с названиями регионов и таблицы с иерархией регионов;
                                          3. Во многих странах есть города прямого подчинения, не входящие в какой-либо регион. Например, Москва, Санкт-Петербург, Ташкент и т.д. Ваша таблица city этого не учитывает. К тому же вы вышли из ситуации с Москвой и Питером не самым элегантным способом. Я бы города вообще не выносил в отдельную таблицу, а сделал частью таблицы region и связал с таблицей с названиями регионов;
                                          4. Указывать в скобках принадлежность города к какому-либо региону излишне, т.к. вы уже связываете город с регионом посредством стоблца region_id;
                                          5. Как уже вам указали, у вас названия вперемешку на русском и английском. Нужно продумать систему переводов на разные языки.
                                            0
                                            Спасибо, конечно, полезная штука, но…

                                            В Германии (2080) больше городов, чем в США (1591)? Серьёзно? Банальный запрос «number of cities in the us» выдаёт «As of 2013, the United States has 3,007 counties and 137 county equivalents for a total of 3,144 counties and county equivalents. Cities and towns: According to the U.S. Census Bureau, there are 19,354 „incorporated places“ in the United States.» Т.е. одних только «графств» (county — следующий уровень административного деления после штата, в одном county может быть несколько городов) там 3144 штуки а населённых пунктов вообще 19354.

                                            Ещё мне кажется такой базе следовало бы включать стандартные коды стран по ISO 3166-1 alpha-2 и (например Россия — RU, США — US, Великобритания — GB и т.д.) и стандартные коды регионов («штатов») по ISO 3166-2 (например Алабама — US-AL, Алтайский край — RU-ALT, Полтавская область — UA-53 и т.д.).
                                              0
                                              А почему данные в sql?
                                              Можно их положить в json, csv, описав структуру. Тогда их можно удобно загружать в любое ПО для использования или «на лету», или импортируя в свою БД.
                                                0
                                                а что может быть проще импорта script.sql в абсолютно любой базе данных?
                                                0
                                                1. Люди давно уже придумали просто-SQL, а не VendorSQL. Попробуйте его использовать.
                                                2. crt_date. Рука-лицо… Зачем это в справочниках, которые раз в век меняются? Причём такое название. Сразу вспоминается крутой нэйминг типа pIdOrName.
                                                3. Как уже выше сказали — формат "только SQL" в наш век JS'а как-то не комильфо.
                                                4. А где для стран коды по типу ISO?
                                                  +1
                                                  А где для стран коды по типу ISO?

                                                  Рад, что хоть кто-то заметил. Тем не менее все почему-то помнят в лучшем случае о странах, при этом забывают, что для каждого штата/земли/республики/области/итп тоже есть ISO-код по стандарту ISO 3166-2. Таким образом мы фактически имеемт все страны и их териториальные подразделения перечисленными и кодифицированными в стандарте, на самодеятельность остаются только непосредственно населённые пункты (города, посёлки, деревни и т.п.).

                                                Only users with full accounts can post comments. Log in, please.