Національна класифікація "admin_level"

Информация к размышлению:
В России существуют 3 классификатора (на самом деле, - больше):

  1. КЛАДР - адресов,
  2. ОКАТО - административно-территориальных образований,
  3. ОКТМО - муниципальных образований.
    Все эти классификации иерархические и в разных одни и те же объекты могут по-разному распределяться по уровням классификации.
    То факт, что их больше одного, говорит о том, что не может быть построена единственная классификация, одинаково подходящая для решения всех насущных задач.
    Поэтому, кстати, аргумент “эта классификация не подходит потому, что не позволяет решить задачу…” не слишком убедителен: не может существовать классификации, которая бы справлялась с решением всех существующих задач.

Так что сначала следует определиться с исчерпывающим списком задач, для решения которых нужна классификация admin_level, и только потом решать, что же брать за основу и на каких принципах ее вообще следует строить.
Если задач окажется слишком много, то можно также ввести несколько классификаций и в OSM, например, admin_level отдельно, а koatuu - отдельно.

По поводу увеличения количества значений place - полностью согласен, что его категорически не хватает, но также уверен, что введение дополнительных градаций в рамках одной страны совершенно неприемлемо. Пример allotments - введение нового понятия, которое в других странах отсутствует, а не разновидности существующих НП.

Ну, задач, в принципе две:

  1. отражать административно-территориальное устройство
  2. обеспечить адресную иерархию вроде “дом-улица(квартал)-населённый_пункт-сельсовет(если есть)-район_в_области(если есть)-область(если есть)” по принципу "если населённый пункт геометрически попадает в мультиполигон “Харьковская область”, значит в его адресе будет "Украина, Харьковская обл., …, "

Понятие сельсовет, горсовет и район также нельзя считать общепринятыми.

Ну, значит, надо вместо admin_level ввести какие-нибудь “koatuu_level” и “addr_level”. Кстати, на многих населённых пунктах я уже встречал тег koatuu.

Общепринятыми на уровне чего? На уровне планеты Земля - нет. На уровне государства Украина - да.
Вот, смотрите, сколько этих самых сельсоветов по Харьковской области. http://w1.c1.rada.gov.ua/pls/z7502/A004RASIL?rdat1=08.03.2013&rf7571=32067
И в каждом сельсовете есть есть “внутри” несколько населённых пунктов - сёл.

В отличии от России, у нас я не встречал каких-то административных классификаторов помимо КОАТУУ.

http://nadoloni.com/editor (разделы КОАТУУ и НП) специально для этого навалял. Во Львовской области с этим лучше всего. Только есть проблема. Например:

 ЛЬВІВСЬКА МІСЬКА РАДА [4610100000]
 - РАЙОНИ М.ЛЬВОВА [4610130000]
 --- ЗАЛІЗНИЧНИЙ [4610136300]
 --- ГАЛИЦЬКИЙ [4610136600]
 --- СИХІВСЬКИЙ [4610136800]
 --- ФРАНКІВСЬКИЙ [4610136900]
 -- ЛИЧАКІВСЬКИЙ [4610137200]
 --- ШЕВЧЕНКІВСЬКИЙ [4610137500]
 - МІСТА, ПІДПОРЯДКОВАНІ ЛИЧАКІВСЬКІЙ РАЙРАДІ М.ЛЬВОВА [4610160000]
 --- ВИННИКИ [4610160300]
 - СЕЛИЩА МІСЬКОГО ТИПУ, ПІДПОРЯДКОВАНІ ЗАЛІЗНИЧНІЙ РАЙРАДІ М.ЛЬВОВА [4610165000]
 --- РУДНЕ [4610165500]
 - СЕЛИЩА МІСЬКОГО ТИПУ, ПІДПОРЯДКОВАНІ ШЕВЧЕНКІВСЬКІЙ РАЙРАДІ М.ЛЬВОВА [4610166000]
 --- БРЮХОВИЧІ [4610166300]

Виходить, що саме місто КОАТУУ не має. Код має лише міськрада в скалад якої окрім Львова включені ще й інші міста та селища.

Просто замечательно, что эти два утверждения оказались в одном сообщении.

Получается, классификаторов кроме КОАТУУ нет, но целям OSM он в полной мере не удовлетворяет. Значит, для OSM нужна классификация отличная от КОАТУУ.
Следовательно, наиболее рациональным будет помещать koatuu отдельно, а admin_level - отдельно, в разных тегах.

Ну да, выходит, что черта города не берет участия в административном делении по КОАТУУ. Если хотим придерживаться КОАТУУ с нее нужно убрать теги сязанные с административными границами.

А чим не влаштовує класифікація за КОАТУУ? У нас один державний класифікатор — КОАТУУ, що заважає використовувати його, в якості базового для admin_level?

А прочитать тему прежде, чем в нее писать?
Только этому вопросу и посвящена, минимум, вся последняя страница.

Без образ, але те ж саме можу запропонувати вам, але зробити це з першої сторінки.

Ну так всё-таки, если по admin_level нельзя привязать населённый пункт к области (району, сельсовету), то как это можно сделать без использования addr:region, addr:district, addr:subdistrict ?

А почему стоит задача “без использования”?

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

PS. В российской ветке OSM на подобный вопрос обычно отвечают - анализируйте геометрию (т.е. внутри какого полигона лежит данный объект). Мне лично такой подход не нравится, но он тоже имеет место быть.

потому что опять начнётся срач - на каком языке писать addr:*- теги.

Приведений приклад Берліну не дуже вдалий, бо в Німеччині три міста (Берлін, Гамбург і Бремен) є одночасно містом і федеративною землею. Якби Київ був одночасно областю і містом, тоді варто було б ставити amin_level=4 (на мою думку). Якщо дивитися далі на Німеччину, то федеративна земля Бранденбург знаходиться навклоло Берліну, але має свою столицю - Потсдам. Так що на відміну від України, в Німмечині думали логічно коли робили адміністративний поділ.

Не розумію чому міста з особливим статусом не можна позначити особливим :slight_smile: тегом? Для якиї цілей потрібно знати, що Київ, Севастополь є містами з особливим статусом?

Тут все значно цікавіше :slight_smile:
В нас в Україні, згідно з класифікацією (http://w1.c1.rada.gov.ua/pls/z7502/a002) є навіть міста у місті. Або село у місті. Або місто, яке складається з міста, кількох селищ та сіл :slight_smile:

Наприклад, місто Первомайськ Луганської області у своєму складі має два міста та два селища міського типу
http://w1.c1.rada.gov.ua/pls/z7502/A005?rdat1=10.03.2013&rf7571=18990

Ось так! Місто у місті. Як матрьошка :slight_smile:

Аналогічно адмінцентром Криму є не Севастополь, а Сімферополь, а центр Київської області все ж колись перенесуть з Києва в Ірпінь(про що говорять вже кілька років) чи Бровари чи в інше місто.

admin_level=4 для Києва і Севастополя - для того щоб повністю покрити Україну полігонами(областями + Київ + Севастополь) рівня 4 без прогалин.
admin_level=6 для міст облзначення - для того щоб повністю покрити Україну полігонами(районами області + міста облзначення) рівня 6 без прогалин. До того ж це дозволяє включити в них райони міста(admin_level=7) + міста-сателіти(admin_level=8) без перетину полігонів на одному рівні
Ідея відсутності прогалин на всіх рівнях адмінподілу(2/4/6/8) мені здається логічною.
КОАТУУ також визначає області,Київ,Севастополь як адмінодиниці одного рівня.

А це КОАТУУ якось розрізняє населені пункти і регіони? Чи для адресації треба забути про admin_level та придумати якісь інші теги?

Ось тут, наприклад: http://www.openstreetmap.org/browse/way/191612988/history
Маємо межу boundary=administrative, admin_level=6, place=town, name=Первомайськ.

І в межах цього “Первомайську” є дві точки - місто Тошківка і село Нижнє.

Ну і шо? І як? Де тут село, де місто, де регіон? Що вказувати у адресному пошуку - місто Тошківка чи місто Первомайськ?

Карта со слоем admin level, поддерживающая отношения: http://129.206.74.245/ (http://wiki.openstreetmap.org/wiki/OpenMapSurfer)

Детально про КОАТУУ можна почитати в вікіпедії або на ukrstat.gov.ua

Трохи переробив Первомайськ: http://www.openstreetmap.org/browse/changeset/15321192
Первомайська міськрада(admin_level=6), включає Первомайськ і 4 навколишніх населених пункти.
Первомайськ(place=town), включає тільки сам Первомайськ
смт. Тошківка і смт. Нижнє тепер окремо і не перетинаються, у обох admin_level=8 + place=village(як для town вони надто малі)

osm2mp пропише всім addr:district=“Первомайська міськрада”, оскільки у неї admin_level=6, а addr:city візьме з place-полігонів(вони не перетинаються - тому ніяких конфліктів).
Повна адреса:
http://w1.c1.rada.gov.ua/pls/z7502/A005?rdat1=10.03.2013&rf7571=18996
27, вулиця Леніна, Тошківка, Первомайська міськрада, Луганська область, Україна.
[addr:housenumber],[addr:street],[name from place=*],[name from admin_level=6],[name from admin_level=4],[name from admin_level=2]

Ну це вже інша справа.
Взагалі, проблеми виникають в основному, з адмін. районами у великих містах. Бо конвертер намагається розташувати “населений пункт” (place=city) у якомусь районі самого міста.
Ось, наприклад, точка з place=city, name=Київ потрапляє в регіон з admin_level=6, name=Шевченківський район, а також в регіон з admin_level=4, name=Київ та регіон з admin_level=2, name=Україна.
І тоді адреса якогось будинку у Києві буде такою:
4, Костьольна вулиця, Київ, Шевченківський район, Київ, Україна.
9, Суворова вулиця, Київ, Шевченківський район, Київ, Україна. (Хоча насправді та вулиця у іншому районі).

А у пошуку міста буде так: місто Київ, що розташоване у “Шевченківський район, Київ, Україна”)