Под словом «город» люди представляют определённый тип населённого пункта. Но у адресных систем своё мнение на этот счёт. Поэтому когда к нам пришёл заказчик и попросил выгрузить список всех городов в РФ, мы сильно напряглись и попросили уточнить, что он имеет в виду. Если думаете, что наш вопрос — странный, значит, вы никогда не имели дела с адресными системами. 

Начнём с примера. Вот посёлок городского типа Каз в Кузбассе на карте:

И примерно вот так он выглядит:

  
  

Адрес в административно-территориальном делении: посёлок городского типа Каз, Таштагольский район, Кемеровская область-Кузбасс. 967 домов, около 4000 жителей. А теперь внимание: уровень в адресной системе ФНС — «Город».

Дело в том, что в адресных системах понятие «город» может относиться и к уровню населённого пункта, и к его типу. Как это бывает, показываем на картинке:

Как видим, вовсе не обязательно, что у уровня «Город» будет тип «Город». Проще говоря, сюда попадают не только объекты с сокращением «г.». 

Уровень «Город» может также включать типы вроде ПГТ, тер., массив, с/п, с., с/о и другие. Ещё один пример, на этот раз из эталонной адресной системы «Единый адрес»:

Но встречается и обратная история: перед названием стоит сокращение «Г.», но это регион. Речь о городах федерального назначения — Москве, Санкт-Петербурге, Севастополе. В адресной системе у них уровень «Регион».

К чему я это всё? Когда бизнес просит «просто выгрузить файлик с городами», нужно понять, как он эти данные будет использовать. Если планируется выложить список на сайт, то вряд ли ему понадобится с/п Большесундырское. Скорей всего, достаточно будет городов-миллионников. 

Это ещё одна история про адреса в России. О тонкостях работы с ними пишем в блоге и рассказываем на конференции. А о работе с клиентскими данными в целом — в Телеграм-канале

Комментарии (24)


  1. BogdanPetrov
    04.06.2024 11:54
    +1

    Когда бизнес просит «просто выгрузить файлик с городами», нужно понять, как он эти данные будет использовать

    Будучи младшим специалистом работал с рядом задач, в которых фигурировала сущность "Город". Чем больше я над ними работал, тем меньше понимал, что такое город и для чего он вообще нужен. В итоге для себя вопрос закрыл обработкой результатов переписи населения. Причем это тоже задача не из разряда эксельки распарсить. Там и ошибки и опечатки и изменения перечня городов год к году. Получился список вида: Год, Код региона, Название города, Население. Потом через сервис геокодирования получил еще координаты центров городов. Этого оказалось достаточно.

    На сайте Росстата есть несколько разделов: Статистика / Переписи населения или Статистика / Официальная статистика / Население. Но ни там ни там не будет подробной информации по годам. Архивы по годам лежат в: Публикации / Каталог публикаций / Численность населения Российской Федерации по муниципальным образованиям.


    1. TaniaB Автор
      04.06.2024 11:54
      +1

      Спасибо за комментарий и данные по Росстату, будет интересно их изучить, применительно к нашей системе. Интересно, что Росстат ведет численность в разрезе муниципальных образований, а не административных.

      И интересно будет сопоставить эти данные с ГАР, насколько наименования городов и населенных пунктов + коды регионов совпадают с ГАР. Поскольку у разных ведомств используются разные адресные справочники.


    1. santjagocorkez
      04.06.2024 11:54
      +1

      В выборке упущен район субъекта федерации. Я уже не вспомню наименование, но мы как-то словили при оформлении доставки в Ленинградской области населённый пункт, который был представлен дважды: по одному в разных районах области. Чуть не отправили туда, где никто не ждал.

      Это я к

      Этого оказалось достаточно


      1. TaniaB Автор
        04.06.2024 11:54

        Да, спасибо за уточнение. В больших регионах часто есть объекты — деревни, поселки с одинаковыми названиями, но в разных районах. С улицами в городах тоже такое случается. И там поможет индекс или уточнение района (но райнов города нет в адм.делении). Например, в Москве 3 улицы 8 марта в разных частях города.


        1. vorphalack
          04.06.2024 11:54

          ну не надо, 8 марта все три штуки в одном месте.

          более лучший пример - в Балашихе, если не указывать в каком из районов твоя Советская улица - может быть весело. и да, еще пару лет назад реально не везде можно было указать мкр. и приходилось весь заказ обписывать капсом и еще и долбить курьеров по телефону.


          1. TaniaB Автор
            04.06.2024 11:54

            Вы про улицы 8 Марта на севере Москвы. У них номера отличаются, просто 8 Марта, 1-я 8 Марта, 4-я 8 Марта.

            А есть еще в Люберцах и в районе Южного Бутова. Если посмотреть, как эти улицы записаны в адресном реестре ГАР в административном делении, то у всех запись «Г.Москва, ул. 8 Марта», идентификаторы 27ba492c-dde0-4966-8461-7e357e9af9ad, c293c9ad-5e14-424d-bf3a-16f032c024b8, 64ca5492-f93f-40a7-9fd5-db3fc352d737 . Т.е. человек-то знает, что в Люберцах живет, но если адрес выбирается из реестра ФНС, то выглядят они одинаково.


            1. vorphalack
              04.06.2024 11:54

              окей, бутовская принимается. но каким образом Люберцы в москве оказались у них?


      1. BogdanPetrov
        04.06.2024 11:54

        Для городов это не актуально, а мне были нужны именно они, без пгт и тд

        Повторяющихся названий городов не так много и они в разных регионах


  1. SalazarMAX
    04.06.2024 11:54
    +1

    Недавний приказ, в котором даже попытавшись разобраться я так и не разобрался: «О наделении муниципального образования город-курорт Анапа Краснодарского края статусом муниципального округа». Честно говоря, непонятно, почему административно-территориальное деление как будто специально сделано настолько сложно, чтобы в нём было почти нереально разобраться. А его каждая новая реформа (как с относительно недавним преобразованием муниципальных районов в городские округа в Московской области) всё только запутывает ещё больше.


    1. Wolframium13
      04.06.2024 11:54
      +1

      Потому что населённые пункты разные, разные в них и административные методы управления, задачи сделать универсальную иерархию на все случаи жизни и не стоит.

      А если копнуть глубже, то и адресная система в самих населённых пунктах бывает очень разной. Моих собеседников ни раз удивляло, что в моём родном городе дома не привязаны нумерацией к улицам. Улицы просто существуют, на них нет домов. Не все жители даже знают их название зачастую.


      1. TaniaB Автор
        04.06.2024 11:54

        А расскажите, что это за населенный пункт такой? Я знаю, что в Зеленограде нет улиц, все дома сразу к городу привязаны. И есть еще в Татарстане СНТ 60-летия Октября, где 9999 домов привязаны сразу к СНТ в справочнике ФНС. Но, к слову, в Яндексе в этом СНТ улицы есть.


        1. sshikov
          04.06.2024 11:54

          Ну ради объективности, улицы в Зеленограде таки есть, и есть дома на них. А есть дома без улиц, только с номерами.


          1. TaniaB Автор
            04.06.2024 11:54

            Да, конечно! Спасибо за уточнение.


        1. Wolframium13
          04.06.2024 11:54
          +1

          Старый Оскол, там половина города - микрорайоны. Но есть и уличная система.


        1. JediPhilosopher
          04.06.2024 11:54
          +1

          В Набережных Челнах (снова Татарстан кстати) дома привязаны к комплексам(кварталам).

          Причем по Яндексу там черт ногу сломит. На самой карте написано 5/05, то есть 5 дом пятого комплекса, но при клике на него показывает адрес по названию ближайшей улицы (Московский проспект 99). А вот для домов в глубине квартала уже показывает только адрес по комплексу.

          Чтобы еще больше сломать мозг, часть города поделена на эти комплексы и имеет такую систему нумерации, а часть города (как правило это какие-то поселки, вошедшие в состав города) - обычную, без комплексов, с улицами.

          Чтобы доломать остатки мозга, Челны состоят из двух частей, основной и "поселок ГЭС", обе имеют нумерацию по комплексам, и одни и те же номера комплексов есть в обоих частях. То есть существует "4 комплекс, Набережные Челны", а также существует "4 комплекс, Поселок ГЭС, Набережные Челны", и это два разных квартала в противоположных концах города.

          У вас еще осталось немножко мозга? Кроме комплексов часть кварталов там же названо "микрорайонами". И "21 комплекс" и "21 микрорайон" это опять-таки РАЗНЫЕ кварталы в разных частях города.

          Земля пухом всем, кто попытается в этом всем разобраться и уложить в какую-то внятную классификацию.


          1. TaniaB Автор
            04.06.2024 11:54
            +1

            Самое интересное, что знаний про комплексы в справочнике ФНС нет. Т.е. Яндекс на картах объединил группы домов и ЖК в комплексы, но при этом, если надо сдавать отчетность или привести адрес к формату ФНС, никакого упоминания «комплекса» быть не должно. Спасибо вам за интересный пример!


            1. JediPhilosopher
              04.06.2024 11:54
              +1

              Да, действительно, поискал во всяких справочных системах - реально нет этих комплексов. А местные ими пользуются. И на табличках на домах они есть, вот какой-то дом, на нем сразу два адреса - 52 по ул. Усманова и 09 дом 43 комплекса.

              Нашел еще какую-то статью про эту систему нумерации https://историческийбагаж.рф/post/unikalnaya-sistema-adresacii-1709

              Интересно, где эти комплексы формально записаны.


    1. TaniaB Автор
      04.06.2024 11:54
      +1

      Административно-территориальное деление как раз простое — в нем всегда у объекта может быть только 1 родитель. А вот мун.образования — это муниципальное деление, где у объекта может быть несколько родительских, например, улица подчиняется нескольким мун.округам.

      Муниципальное деление появилось в выгрузках ГАР ФНС. В формате ФИАС было только административное. И большинство мне известных адресных систем живут по административному делению, поскольку в нем адрес выглядит короче, чем в муниципалке. Пример записи в мун.делении — Самарская область, городской округ Самара, город Самара Кировский внутригородской район, проспект Кирова, д.257 (люди так не пишут)))

      Но есть процессы, где нужно именно мун.деление, например, ГБУ «Жилищник» (государственное бюджетное учреждение города Москвы, которое обеспечивает эффективное использование бюджетных денежных средств, направляемых на финансирование ЖКХ города) привязан к мун.округам.


  1. Kahelman
    04.06.2024 11:54
    +1

    Кстати вопрос: зачем заказчик города?

    Даже если как предлагали в статье ю: чтобы выложить на сайт..

    Большинство будет не нужны.

    Если нужен адрес- то дайте человеку самому написать. Это лучше чем из списков выбирать. Как правило человек адреса часто пишет, и родная почта в большинстве случаев успешно доставляет почту.

    Если надо прикинуть расстояние- используйте почтовый индекс.


    1. TaniaB Автор
      04.06.2024 11:54
      +1

      Пример с регионализацией контента — доступность товаров, цены, приоритет в выдаче на сайтах. Например, есть сайт магазина с продуктами. При первом заходе на сайт определяется город местонахождения человека, или вы выбираете из списка. А дальше магия. Черешня в Петропавловске-Камчатском будет отсутствовать, как класс товара, а в Сочи стоять на первом месте.

      Еще пример с системами доставки, которые зоны доставок, склады и ценообразование привязывают к укрупненным объектам, называя их «городами».


  1. Kenya-West
    04.06.2024 11:54
    +1

    На правах оффтопа:

    Помню, в API Кладр и на лендинге МТС какое-то время (с 2019 по 2022 точно) не было возможности корректно получить/указать адрес, у которого отсутствовала улица и дом. Поэтому такие адреса, как д. 10, 202 мкр., г. Якутск, Республика Саха или с. Саныяхтах, Олекминский район, Республика Саха в принципе не могли быть указаны или выведены. Нет улицы, иногда нет дома. Кстати, у меня в паспорте в разделе прописок так и указано лишь наименование села, без улицы и дома. У паспортного стола каждый раз пригорало от моего визита.


    1. TaniaB Автор
      04.06.2024 11:54

      Такое периодически вижу на сайтах доставок. В паттернах проектирования форм доставки поле с домом и улицей делают обязательным, чтобы сэкономить время оператора на ручной разбор, если вдруг пользователь все указал в 1 строку в поле с городом. Но от этого еще хуже, потому что у меня дом в деревне без улицы и номера, и я или ставлю прочерк, или пишу «нет улицы», «нет дома». А от этого в системах сохраняется мусор, если такой адрес не прогонять через очистку.


  1. gurovofficial
    04.06.2024 11:54

    Просто выгрузите из того же Вконтакте - vk api, лучше вы вряд-ли сами сделаете.


    1. TaniaB Автор
      04.06.2024 11:54

      Если знаете, то поделитесь, о какой апишке речь, и по какому справочнику она возвращает данные? Есть официальный адресный справочник ГАР (ФИАС) ФНС, там ведутся все адресные объекты на основе нормативных документов.