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

Ну, вот улица попадает в полигон с admin_level=7, который внутри admin_level=6. К чему её привязывать?

Мне кажется, что всё то, что можно обозначить place, было бы логично обозначить admin_level=8. А административные районы в городах лучше обозначать admin_level=9.

Вчера перечитывал ссылочку пр административно-территориальное устройство Украины. Много ругался. Много думал. Кое-чего переосмыслил. Кое в чём я был не прав.
Но схему Землемера, скорее всего, придётся переделать: http://forum.openstreetmap.org/viewtopic.php?pid=316596#p316596

Поясняю свои мысли:
Разбивка территории Украины на полигоны с разным admin_level нужна не только для обозначения границ областей и районов, но и для привязки населённых пунктов к соответствующим областям, районам, сельсоветам, республике Крым и т.д. При этом должно быть чётко ясно и понятно, какой полигон является областью, какой полигон является населённым пунктом, а какой полигон является административным районом внутри населённого пункта. Поэтому нельзя допускать ситуации когда населённый пункт водном случае будет на 6 уровне, в другом случае на 8 уровне, а в третьем случае на 4 уровне.

Тем не менее, разные населённые пункты имеют разный уровень подчинения. Киев и Севастополь не подчиняются никому (они на самом верху). Харьков принадлежит своей области, но не принадлежит Харьковскому району. Город Богодухов принадлежит Богодуховскому району, который в свою очередь, принадлежит Харьковской области.
Вот эта сложноподчинённость и завела меня в тупик. Но потом я понял: всё просто! Принадлежность населённого пункта определяется его вхождением внутрь полигонов соответствующих уровней. Если населённый пункт не принадлежит окружающему его полигону, то надо просто “вырезать” территорию населённого пункта из полигона района (указать роль inner в релейшене границ района). К примеру, город Изюм вырезаем из полигона Изюмского района.

Таким образом, административный уровень населённого пункта (а также районов, областей, сельсоветов) определяется не через admin_level его границ (у всех НП он равен 8), а через количество вложенных полигонов более высокого уровня, в которые он входит.
К примеру, Киев входит только в полигон границ Украины - уровень 1.
Киевская область тоже входит только в полигон границ Украины - тоже уровень 1.
Харьков входит в полигон границы Украины и полигон Харьковской области - уровень 2
Изюм входит в полигон границы Украины и полигон Харьковской области - уровень 2
Изюмский район входит в полигон Украины и в полигон Харьковской области - уровень 2
Богодухов входит в полигон Богодуховского района, полигон Харьковской области и полигон Украины - уровень 3.

Ну и ещё посмотрите на классификацию admin_level в других странах:
http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dadministrative#10_admin_level_values_for_specific_countries

везде на 8 левеле висят населённые пункты. Хоть столицы, хоть деревеньки - у всех 8 уровень.
А на 9-ом уровне висят внутригородские админ. районы.

Берлін (relation: 62422) - admin_level=4
Москва (relation: 102269) - admin_level=4
Київ (relation: 421866) - admin_level=4

Карта в тему: http://www.itoworld.com/map/2

Ну а как мне конфиг для конвертера прописать? Как конвертору отличать область от населённого пункта (у обоих 4 уровень). Как отличить район в области от района в областном центре (6 уровень)?

Москва и Московская область — одного уровня субъекты. Их отличать не требуется.
Москва admin_level=4 это не нп, собственно говоря. НП все внутри, которые есть.
Киев admin_level=4 аналогично.

А що це вона кордони показує тільки коли на лінії тег стоїть, а відношення не враховує?
наприклад кордон Волині і Львівщини від Польщі йде по річці Буг. Я admin_level тег з лінії річки видалив і додав річку у відношення областей/районів. А також кордони районів немають тегів, усе у відношеннях прописано.

Точно… внизу пише:

Неудачные примеры.
Берлин в Германии. И у немцев другая система уровней.
Москва в России, а там не используют admin_level для привязки НП к областям и районам. Вся привязка у них через addr:region, addr:district и др. Только недавно Льоша добавил в свой конвертер возможность привязки НП по вхождению в полигон района или области.
Киев в Украине, где классификация admin_level ещё не принята сообществом на 100%.

Приклади Берліну і Москви вказують не те, що узагальнення “в других странах… Хоть столицы, хоть деревеньки - у всех 8 уровень.” невірне.
В вікі це все написано, тільки треба читати уважніше

Як правильно конвертувати треба запитувати не тут, а в гілці конвертора

Ми колись вже піднімали цю тему. Особисто, я тегував міські адмін-райони place=city_district.

Враховуючи, що admin_level не відображає однозначно сутності (район, міський район, міська рада, сільрада), було б доречно розширити список значень тегу place в умовах України. а admin_level нехай і далі наслідує ієрархію КОАТУУ.

Потрібна однакова система тегування для всієї країни. А не “тут я ось так тегував”, “а там люди отак позначили”.
Інакше потім нормальної карти для навігаторів не зробити.

А нащо вигадувати щось нове, якщо є admin_level?

А навіщо? Яка з цього користь?

Та навіть з city_district не дуже гарно
Два райони Севастополя не є класичними районами міста, такими як райони в Харкові чи у Львові чи в Кривому Розі чи ще де-інде.
http://www.openstreetmap.org/browse/relation/1753290
http://www.openstreetmap.org/browse/relation/1753293
Севастополь, як адміністративний регіон поділяється на 4 райони: http://w1.c1.rada.gov.ua/pls/z7502/A004RM?rdat1=07.03.2013&rf7571=41624
2 райони(Гагарінський, Ленінський) розділяють місто(place=city) на дві частини, а інші два райони(Балаклавський, Нахімовський) включають по 15 навколишніх н.п. і є скоріше аналогами районів області, а не аналогами районів міста. А якщо позначити Балаклавський і Нахімовський admin_level=7 чи admin_level=9 то dimonster буде першим хто кричатиме, що в його навігаторі якомусь з тих 15 сіл не прописався район.
Тому залиште районам Севастополя і Києва admin_level=6, районам інших міст admin_level=7 і не чіпайте.

Категорично не погоджуюся!
Таку дурнувату класифікацію неможна застосувати для автоматичного визначення приналежності населених пунктів до районів чи областей. Та для визначення приналежності адміністративних районів міста до самого міста.

Ну і що заважеє нам їх виробити? В Росії є, наприклад, place=alloments

КОАТУУ відображає адміністративний устрій України. Для цього admin_level і використовують.

Один рівень КОАТУУ може бути, як міськрадою, районом, селом чи сільрадою. Для села і міста є окремі теги, для сільради, міськради і районів ні. От я і пропоную їх ввести.

dimonster, якщо не згідні, наведіть прості і зрозумілі правила, для визначення сутності адміністративної одиниці по номеру КОАТУУ або рівню вкладеності.

Згідний. Давайте, тоді обмежимось сутністю район. А перетин районів (place=district) з містом (place=city) і буде районами міста. Це можна просто визначити просторовими запитами до БД.

district - це район області, а не район у місті.

Ну нема в Україні чіткого поділу на райони міста і райони області. Ті самі райони Севастополя чи райони Львова виходять за межі самого міста частково чи повністю.

Пишіть свої категоричні непогодження у Верховну Раду та інші законодавчі органи.
Така дурнувата класифікація відповідає реальному адміністративному поділу України і дозволяє визначити приналежність населених пунктів до районів та областей.

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

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

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

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

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

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