Набросок валидатора тут: http://wowik.freevar.com/places/kz-test/ (потом переедет)
Так как границ мало, то НП пока плохо матчатся, завтра доработаю.
Уже сейчас видно, что а Алма-Ата оказалась внутри области. Я ее вынес, завтра посмотрим что вышло.
Кое-что еще на уровне районов поправил, но бреда еще предостаточно.
Наработки - это я громко сказал. Скорее реальная практика и КАТО перед глазами последние два года.
Но я смотрю вы сами уже разобрались и нашли Г.А. )))
Предлагаю следовать good practice, а именно использовать для админ.границ четные номера (что и делалось до сего момента), а нечетные оставить для нестандартных ситуаций.
Если исключить Астану и Алмату, то:
**admin_level=2 - страна
admin_level=4 - области
admin_level=6 - районы области и Городские Акиматы (Г.А.)
admin_level=8 - города и поселки входящие в Г.А.
**
Есть небольшой затык с селами, аулами и прочими мелкими поселениями. Т.к. население в них маленькое, для “эффективного управления” их укрупняют до сельских|аульных округов. Теоретически эти округа в КАТО находятся на уровне городов, т.е. admin_level=8, но тогда уровень входящих в них НП надо делать ещё меньше.
Тут надо отметить один момент: admin_level назначается границе, т.е. контуру административной территории с указанием центра. Обычно для этого в ОСМ используется relation с тегами type=boundary
boundary=administrative
admin_level=*
в него включают контуры территории с ролями outer | inner и точку с ролью admin_centre. Отсюда вопрос: в Казахстане порядка 2800 сельских округов, будет ли кто-то в здравом уме наносить эти отношения и следить за их целостностью ? Учитывая что в Казахстане всего пара десяток активных маперов (половина из которых сидит в ID и потлатче) и нет карт с точным указанием принадлежности земель тому или иному округу.
Поэтому предлагаю оставить сёла в покое до лучших времён, но если очень приспичит - то
Вариант 1 (предпочтительный с точки зрения практики) admin_level=7 - сельский | аульный округ
admin_level=8 - сёла и аулы
В результате все НП, кроме Астаны и Алматы, будут иметь admin_level=8 и совпадать с контуром place, они станут синонимами. От этого имеем огромный бонус, а именно поддержку коммерческими программами (например Be-on-Road). Не всегда же будем по одному Навителу ездить )))
Вариант 2 (если хотим полное соответствие КАТО без исключений) admin_level=8 - сельский | аульный округ admin_level=10 - сёла и аулы
name, name:ru, name:kk - название без статусной части; я пока делаю исключение для нестандартных НП “станция” и “разъезд” с обязательным пробелом (например: станция Акчулак) addr:region - полное название области (например Жамбылская область) addr:district - название района или Г.А. (copy-paste из КАТО, например Байзакский район)
Теоретически этого достаточно для уникального имени в программах навигации, но если есть время или есть совпадающие названия (например часто дублируются Актобе), добавляем
addr:subdistrict - название сельского округа (copy-paste из КАТО, например Жанатурмысский с.о.)
Хорошо бы придумать какое-то поле для кода КАТО, причем не времянку для валидатора, а на постоянной основе т.к. названия НП иногда меняются, а код остается.
В перспективе для НП, если кому-то окажется нужным: status:ru или admin_status:ru из списка город, поселок, село, аул, участок, разъезд, отгон, станция и т.д. status:kk или admin_status:kk из списка Қала, ауыл и т.д.
Что использовать status=* или admin_status=* - надо договариваться.
admin_level 4 - области / республиканские города (addr:region)
admin_level 6 - районы / областные города (акимат) / районы респ.города (addr:district)
admin_level 8 - сельские/аульные округа / районные города (адм) / районы обл.города (addr:subdistrict)
для более мелких НП admin_level 10 по желанию.
Меня на этом форуме практически убедили, что, по крайней мере в РФ, нп - это не административная единица и
для НП границы полезнее красить как place.
В addr:region, addr:district, addr:subdistrict должно быть ровно то, что в name у объекта, на который ссылаемся. Нельзя в одном месте раскрывать сокращения, а в другом нет. Софт обычно это расчитывает на буквальное совпадение.
Выявилось несколько проблем с названиями.
какие сокращения раскрываем, а какие нет? Хорошо бы раскрывать как можно больше. По России тенденция такая. Например - сельские округа.
ставить ли пробел после нераскрытых сокращений-статусов, кончающихся на точку?
какие статусные части отрезать у НП?
Вот, что встречается, для НП:
*город, посёлок, село, аул, станция, разъезд, разъезд №, отгон, отгон станции, участок, отделение, поселье, отяр, зимовка, ферма, точка, точка аул, точка зимовка,
*дальше не раскрывая сокращений лесхоз, маш.двор, подхоз, селхоз,
санаторий, оздоровит. центр, санаторий прафил., сезонный дет.сан.
…
Да, объясните, что такое “крес.пос.” - “крестьянское поселение/поселье/посёлок”?
куда складывать отрезанное, да и не отрезанное, но знаковое, типа акимата/администрации (от этого типа иногда обработка может быть иной)?
a) в Польше используют name:prefix
б) по Росиии сваливают в official_status http://forum.openstreetmap.org/viewtopic.php?id=19001
Но тут приплываем с двуязычием.
в) ну и совершенно законный способ — заполнить full_name, что в любом случае не повредит, да и с многоязычаем этот тег дружит (full_name:*=)
Сомнения, чего новый тег-то городить, если есть пара старых? Тем более, то НП не совсем административное деление (в РФ - муниципальное).Да и на point admin_level не ставят, а НП косяком точечные.
Что касается place и admin_level. Всегда найдутся новички, которым вынь да положь пунктирную границу на карте, а place как известно не рендерится. Гораздо легче объяснить человеку “добавь теги boundary=administrative + admin_level=*”, чем городить ещё один мультиполигон, который в 99% случаев совпадёт с контуром place. Ну и, как я упоминал ранее, полигон place используется для адресации по-моему только в странах СНГ. Это удобно, но в мировом масштабе нестандартно )))
В принципе не вижу ничего страшного если для НП будут использоваться admin_level=8 и 10. Тогда будет полное соответствие КАТО без исключений.
По префиксам-суффиксам согласен, надо думать. Как-то не был готов к такому быстрому развитию событий.
Если полностью следовать КАТО - крупные нас.пункты и сельские округа на одном уровне (значение 0 в поле HIJ), например:
Костанайская область admin_level=4
Рудный Г.А. admin_level=6
город Рудный admin_level=8
но
пример с поселковой администрацией:
Костанайская область admin_level=4
Рудный Г.А. admin_level=6
Горняцкая поселковая администрация admin_level=8
поселок Горняцкий admin_level=10
пример с сельским округом:
Костанайская область admin_level=4
Алтынсаринский район admin_level=6
Димитровский с.о. admin_level=8
село Воробьевское admin_level=10
Залил старый КАТО с нормально читаемыми названиями. Я его переформатировал, можно фильтровать по разным полям, сразу понятно ху из ху ))) http://rusfolder.com/39228199
Еще раз убеждаюсь, что для ПН admin_level не очень-то подходит, так как плавает. Но его завсегда, если что, можно игнорировать.
Если четко различать администрации и НП, а также не называть уровень иерархии admin_level’ом, то всё станет понятнее.
Костанайская область admin_level=4 (уровень иерарии 1)
Рудный Г.А. admin_level=6 (уровень иерарии 2)
город Рудный place=city (уровень иерарии 3)
Вообщем то, я за то, что admin_level у НП - достаточно опционален (акромя республиканских городов)