Унифициране на имена на училища, детски градини и ясли

Привет на всички,

Напоследък се занимавам с обработка на данните за образователните институции в България и се сблъсках с огромна каша в начина, по който са изписани имената им в тага name (смесица от ЦДГ/ОДЗ/СОУ, кавички, дълги имена и т.н.).

Искам да предложа конкретна схема за унифициране на тези обекти в България, която едновременно да следва логиката на актуалното законодателство, както и да вкара консистенция в таговете. Освен за основното име (name), предлагам да въведем и допълнителни тагове за оператор и връзка с официалния регистър на МОН.

Ето конкретното предложение:

Формати за основно име (name)

Задължително използваме правилните български кавички и . Пояснения за сгради и филиали се изчистват от основното име.

Училища

[номер]. [тип/абревиатура] „[патрон]“

Типове: ОУ, ОбУ, СУ и кратки абревиатури за гимназиите (АЕГ, НЕГ, ПМГ, ПГТКАА и т.н.). Номерът е отпред, последван от точка.

Пример: 91. НЕГ „Проф. Константин Гълъбов“

Изключение: Когато номерът не е част от общата номерация на училищата в общината, а е специфично традиционно наименование (Първа АЕГ, Втора НЕГ).

Детски градини

ДГ №[номер] „[патрон]“
Пример: ДГ №159 „Орхидейка“

Детски ясли

СДЯ №[номер] „[патрон]“
Пример: СДЯ №1 „Папагалче“

Пълни имена (official_name)

За да не губим детайлност заради кратките абревиатури в name, предлагам в official_name да записваме пълното наименование без съкращения.

name=91. НЕГ „Проф. Константин Гълъбов“
official_name=91. Немска езикова гимназия „Проф. Константин Гълъбов“

name=НПГПТО „М. В. Ломоносов“
official_name=Национална професионална гимназия по прецизна техника и оптика „М. В. Ломоносов“

Форматите са адаптивни. Ако даден компонент липсва, той се прескача изцяло, без да оставя празни или излишни символи след себе си (например: ако училището няма патрон, не се слагат празни кавички; ако няма номер, се изпуска и точката след него). Това важи и за кратките имена в name.

Допълнителни тагове

operator

Общински (масовия случай): operator=[Име на община] + operator:type=public + operator:wikidata=[Q-код на общината]
Държавни (единични случаи): operator=[Име] + operator:type=public + operator:wikidata=[Q-код на учреждението]
Частни: operator:type=private

ref:neispuo (само за училища и детски градини)

НЕИСПУО (Националната електронна информационна система за предучилищното и училищното образование на МОН, последния да затвори вратата) е системата в която са вписани всички училища и детски градини. Всяка институция получава уникален код (т.нар. код по НЕИСПУО).

Предлагам да добавим тази информация в ref:neispuo тага.

МОН поддържа регистър както за активните, така и за закритите обекти, което позволява лесно да следим за нови или закрити обекти. За справка: https://ri.mon.bg.

Други промени

Смятам да премахна имена, които съвпадат частично или изцяло с новодобавените, както и такива които са излишни (например name:en, int_name, name:ro). В повечето случаи на терен няма такива табели. Единствените изключения са специализирани езикови гимназии (name:en за английска, name:fr за френска и т.н.).

Пример за тагване на конкретни обекти

amenity=school
name=119. СУ „Акад. Михаил Арнаудов“
official_name=119. Средно училище „Акад. Михаил Арнаудов“
operator=Столична община
operator:type=public
operator:wikidata=Q12345 (примерна стойност)
ref:neispuo=12345 (примерна стойност)
amenity=school
name=9. ФЕГ „Алфонс де Ламартин“
official_name=9. Френска езикова гимназия „Алфонс де Ламартин“
name:fr=9e Lycée de langue française „Alphonse de Lamartine“
operator=Столична община
operator:type=public
operator:wikidata=Q15313 (примерна стойност)
ref:neispuo=2211009 (примерна стойност)
amenity=kindergarten
name=ДГ „Славей“
official_name=Детска градина „Славей“
operator=Община Пловдив
operator:type=public
operator:wikidata=Q2045866 (примерна стойност)
ref:neispuo=1602012 (примерна стойност)
amenity=nursery
name=СДЯ №1 „Щастливо детство“
official_name=Самостоятелна детска ясла №1 „Щастливо детство“
operator=Община Бургас
operator:type=public
operator:wikidata=Q2044813 (примерна стойност)

Правилата важат в пълна сила и за частния сектор. Те следват същата логика на именуване, като пред типа просто се добавя буквата „Ч“ (ЧОУ, ЧСУ, ЧДГ) към name и „Частно“ в official_name. Тъй като те също са лицензирани от МОН, тагът ref:neispuo се попълва и за тях, а разграничаването им става чрез operator:type=private.

Следващи стъпки

Предлагам да обсъдим схемата. Ако няма сериозни възражения, форматът може да се впише в уики страницата и поетапно да бъде прилаган.

Очаквам вашите коментари!

ПС: за справка как би изглеждало, може да разгледате повечето училища, детски градини и ясли в рамките на Столична община, които вече обнових по този модел - OpenStreetMap.

Your proposal makes good sense. However I think we should also follow general OSM good practices, esp. Abbreviation (do not) Therefore I would prefer to put the full official name without any abbreviations in name= (so name=91. Немска езикова гимназия „Професор Константин Гълъбов“) and use short_name= for what you propose to put in name= (and let data consumers decide which one to show). However we should make it easy for data consumers to show the abbreviated name by always providing a short_name= if we add the full name in name= . We should also extend this practice to other names like the one for this bus stop (on approach, it’s announced as “Национална природо-математическа гимназия Академик Любомир Чакалов” in the bus!).

I assume that this is what MON is using to systematically give names of schools?

I think we should allow for int_name to be added (containing the official transliteration) as well as any name in another language that the school itself is using (on signage, on their website, etc.).

Regarding the abbreviations in name=: I completely understand the global OSM guideline to avoid abbreviations. My main concern here is practical and related to map cluttering and data consumers.

If we put the full legal name in name= (e.g., Национална професионална гимназия по прецизна техника и оптика „Михаил Василиевич Ломоносов“), it becomes extremely long (93 characters!). Most mobile navigation apps (like OsmAnd, Organic Maps, etc.) heavily rely on the name tag and often hide short_name. On a mobile screen, such an enormous name will either render across 6-7 lines, blocking half the street block, or get an ugly truncation. Even Carto would struggle to fit it on the maximum zoom. In Bulgaria, everyone looks for “НПГПТО „М. В. Ломоносов“” (or even “Ломоносов” only) on the map, not the full spelled-out text. That’s why I suggested keeping the universally recognisable short form in name and the textbook legal form in official_name. When searching, both tags are looked at so Nominatim should be happy.

Regarding MON: In their registry (ri.mon.bg), they use the full official names. However, in their daily operations, guidelines, and exams, MON systematically uses standard abbreviations (ОУ, СУ, ПГ) and not so standard. The short names are also listed on their registry (example). Short names are also used on almost all school signs.

About int_name and foreign names: I strongly believe we should remove int_name for Bulgarian schools. In our local context, int_name is almost always a duplicate of name:en or a machine translation/transliteration that doesn’t exist on the ground. The only exceptions are specialised language schools (Първа и Втора английска, Първа немска, Френската) but they can use the respective name:xx (9. ФЕГ).

Even in the very few schools which have int_name it is either incomplete or of dubious quality (example 1, example 2, example 3, example 4). The same applies to name:en (example 1, example 2, example 3, example 4, example 5, example 6). The situation with the kindergartens in this aspect is even worse but I think that these examples should suffice.

1 Like

Ричард,

оставяйки настрана софтуера, един българин от провинцията например(или незапознат с района), ще те попита:”Извинете, къде се намира 22-ро училище”. А няма да те пита:”Извинете, къде се намира “22 Средно езиково училище „Георги Стойков Раковски““…

Възможно ли е, ако местната общност постигне консенсус за маркиране(какъвто опит вероятно сега се прави), да има и изключения от общоприетите практики, описани в уикито?

Нямам особени възражения против предложението на Митко. Лично аз не бих добавял и патрона в основното име. А НЕИСПУО ми идва малко в повече и не бих се занимавал да добавям кодове. Друг ако иска, да го прави.

1 Like

Аз не съм сигурен как точно е правилно, но не трябва ли титлите да са с малка буква в тези случаи, когато не са в начало на изречение:
91. НЕГ „проф. Константин Гълъбов“
119. Средно училище „акад. Михаил Арнаудов“

Бях пуснал една справка до БАН преди години, обаче не помня кащво ми отговориха. Не намирам и съобщението… Иначе поне според каксепише е с малка буква - Как се пишат длъжностите и званията – с малка или с главна буква? – Как се пише?® с Павлина Върбанова.

1 Like

That is a problem that should be dealt with by the app: if we did it for them, wouldn’t that be a kind of https://wiki.openstreetmap.org/wiki/Tagging_for_the_renderer ? We could (should!) help them by always providing a short_name that they can display if the full name is very long. If they don’t use that help, it should be reported on their issue tracker site.

int_name should contain the name transliterated to Latin script according to the Bulgarian transliteration law: this is then verifiable so it doesn’t need on-the-ground evidence. It can often be machine-transliterated but there are exceptions so it often needs a human to do it correctly. That mistakes are sometimes made is not a reason not to do it. I think it is quite useful for foreigners using a map of Bulgaria to read the names of all PoIs in a script they can read. However school names have lower priority compared to geographic and street names, for instance.

I’m against adding name:en unless it really has an name in English or the name contains words that are clearly English. Translating a name to English is usually not very useful so we shouldn’t do it.

I think that even if that selyanin will see 22 Средно езиково училище „Георги Стойков Раковски“ on his map, he will ask for the 22. school, or maybe the Rakovski school, because he will be able to abbreviate it himself (better than software can). But if he has a good map app, it will display the short_name

В случаят не става въпрос за „Tagging for the renderer“, а за четимо от хората съдържание. Хората трябва да решим как името се възприема и разбира от хората по най-добрият начин. Не тагваме за рендера, тагваме за да сме сигурни, че рендера няма да изплюе някоя глупост.
В official_name е идеално да се вкара, каквото е нужно на машините да си обработват за тях си. Всички ще са доволни и щастливи :)

1 Like

We should realise that we are not here to make a map: map apps (“data consumers”) are making maps, according to the needs of their customers (the map users). We are here to provide map data to enable map makers to make maps. It is up to the map makers to ensure that names appear on their maps in a way that is easy to use for their map users. This is explained here Abbreviations - OpenStreetMap Wiki and there is wide international consensus that it should be like this. If someone thinks this consensus is wrong, or we need to make an exception for certain cases (in Bulgaria, for instance), we need strong arguments for it. I haven’t seen them yet.

Малко offtopic, но:

крайната цел не е ли създаване на карта? openstreetMAP. Наясно съм, че ние вкарваме данни в географска база данни(geographic database) и вече рендерирането не е наш проблем, а на carto например. Както и че данните се използват от различни приложения, програмисти и т. н. В основата на OSM не е ли било създаването на отворена алтернатива на google maps? Между другото, се сетих, че Митко в 1 коментар наскоро ми писа “знаеш ли колко работа има докато КАРТАТА стане готова”.

Та, ако просто вкарваме данни като в excel/access, то тогава не следва да се очаква от нас и старание по отношение на географска прецизност(напр. локация, контури на сгради). А просто, казано по народному, да хвърлим там едни данни и data users да се оправят… Ами в такъв случай само да вписваме някакво име(за което решим как да бъде) и оттам нататък data users да си въвеждат официално, кратко, местно и т.н. имена… Вижте, ако целта е по-пълна карта, мисля, че следва да се насочим към нейното обогатяване с нови данни, обновяване, а не да задълбаваме в буквички и цифрички…

Да чакаме приложенията сами да напишат специфичен алгоритъм за парсване, който да разпознава и правилно да съкращава безумно дългите български институционални имена, е утопия. Те няма да го направят. Или поне не този век. Резултатът от стриктното спазване на “без съкращения” е това, което виждаме сега на места - неизползваеми карти за крайния потребител в България, където името на едно училище заема три квартала на екрана.

В момента ние не предоставяме на консуматорите на данни нищо полезно. Предоставяме им една неконсистентна каша от ЦДГ, ОДЗ, липсващи кавички и сбъркан синтаксис. Моето предложение дава точно това, от което един data consumer има нужда:

  • name за кратко, четимо и популярно име, което в >90% от случаите е налично и на табели на терен
  • official_name за пълно и точно юридическо наименование, без съкращения
  • ref:neispuo за уникален идентификатор
1 Like

I assume that when the don’t abbreviate good practice was discussed and decided on, the ability of software to abbreviate automatically was taken into account (“Computers can easily shorten words”). This might not be true for less common languages, so if we think so for Bulgarian, it should be discussed with the international community. In the meantime, I do propose that we help software by providing abbreviated names using the short_name key. We could also provide a list of commonly used abbreviations in Bulgarian geographic names that apps could use.

However, I appreciate your initiative, Mitko, and I hope you will proceed with the unification of Bulgarian educational institute names. Let perfect not be the enemy of good.

That is exactly why my proposal explicitly includes the official_name tag.

The full, unabbreviated name will be there for any software or data consumer that prefers to use it. In fact, this proposal is a massive improvement for those apps, because right now, the full legal names of most educational institutions in Bulgaria are simply missing from OSM altogether.

By standardising this, we give them the best of both worlds: the commonly used name (with abbreviations), and the full legal name in official_name. Software can easily choose which one to display based on their specific needs.

Не съм съгласен с идеята номера на училището да е част от името. Според мен rhhs е прав и редно да се ползва друг таг. Това прави търсенето и подреждане по имена ужас, всеки град си има номера на училищата и ще се получи едно невероятно смесване на имена и номера и ще имаме много училища с е един същи номер - “1-во НУ” сигурно ще са няколко хиляди например.

Дори абревиатурата следва да е отделен таг. По същата логика може да искаме да вкараме номера на улицата в таг-а за адрес в addr:street таг.

Номера на училището винаги е било част от името му на повечето места. Това е така от поне 50 години, а може би и повече. В малките населени места с 4-5 училища обикновено няма номера.

Ако махнем номера (където го има) заедно с вида, оставаме с едно голо “Христо Ботев” (без кавичките) и въобще не е ясно училище ли е, детска градина ли е или нещо трето. Carto ги показва в еднакво жълто и без иконка.

Дори да се търси “Първо НУ”, приоритета на резултатите е по разстояние от мястото на търсене. Т.е., ако картата е увеличена в Бургас, първите резултати са от Бургас, след това от Айтос и Карнобат и чак накрая от Вълчедръм.

В момента търсенето също е ужас, поради простата причина че навсякъде реда на отделните елементи на името и тяхното изписване е по случаен начин. Считам че е по-добре поне да е консистентно.

Примера с номера на улицата в addr:street не е релевантен, понеже номера на улицата не е част от името ѝ. Това не е така при училищата (виж ИСОДЗ ПГУ и І клас).

I was thinking in teh same direction, but you posted it first. Isn’t it the problem that in official unabbreviated names, much of the name is actually a description of the institution that might as well be described (and often already is) with additional tags.

Examples:

СДЯ №1 „Папагалче“ = amenity=childcare + ref=1 + name=Папагалче (how do we tag “Самостоятелна”, if at all?)

ЧДГ „Жирафче“ = amenity=kindergarten + operator:type=private + name=Жирафче

107. ОУ „Хан Крум“ = amenity=school + grades=1-7 + ref=107 + isced:level=1 + school:BG=основно + name=Хан Крум

91. НЕГ „Проф. Константин Гълъбов“ = amenity=school + grades=8-12 + ref=91 + training=language + language=german + isced:level=3 + name=Професор Константин Гълъбов

Ideally, data consumers should be able to construct the full name from the tag values provided. Other countries have developed local school mapping schemes, so why not Bulgaria? Key:school - OpenStreetMap Wiki Such scheme may also be applicable to other institutions with long abbreviated names:

УМБАЛ „Св. Анна“ = amenity=hospital + healthcare=hospital + operator=Медицински университет – София + type=general + name=Света Анна

Предложеният от @Dimitar155 подход е отличен компромис между официалните имена на училищата, имената, с които са познати на местните, граматически правилно изписване, простота на схемата на таговете, търсене в Nominatim и изписването им на картата, без да бъде запълвана с ненужна и повтаряща се информация като например стотици повторения на “Средно училище”.

Номерата и съкращенията на видовете училища са широко известни и се използват както в официални източници (документи, вестници, телевизия и радио), така и ежедневната разговорна реч. Това не е недостатък, а преимущество, от което трябва да се възползваме, за да предоставим кратка и конкретна информация във визуален вид на картата.

Не съм съгласен с идеята номера на училището да е част от името.

Номерът на училището е част от официалното име на училището. Буквално в НЕИСПУО и в регистър БУЛСТАТ почти всички училища са регистрирани така. Ако не си съгласен с това, или трябва да се оплачеш в МОН, или в картата трябва да бъдат въвеждани обективно грешни данни.

Това прави търсенето и подреждане по имена ужас

Това е карта. Обектите по нея се подреждат геопространствено, не в азбучен ред. Дори да се подреждаха в азбучен ред, следва да се подреждат по номера на училището.

“1-во НУ” сигурно ще са няколко хиляди например.

За уникалността се грижи код по НЕИСПУО и пълно име, както и прилежащото населено място. Когато в разговорната реч някой се отнесе до “Второ СУ”, взима предвид географското си положение. Броя градове в България е 257 и са единици градовете с номерирани училища.

Дори абревиатурата следва да е отделен таг. По същата логика може да искаме да вкараме номера на улицата в таг-а за адрес в addr:street таг.

Логика няма, защото заменяш неща, които не са еквивалентни. Едното е номер на сграда, част от адрес, другото е официално име на институция.

Всяко въвеждане на нови тагове безсмислено ще усложни модела на данните, ще направи въвеждането по-сложно и лесно за сбъркване, ще отдалечи имената в ОСМ от официалните и разговорните и ще напълни картата с безсмислен, повтарящ се визуален шум.

От предложената схема на именуване има нужда от изключения, но те са абсолютни единици за специални случаи, които в софия се броят на пръстите на едната ми ръка.

Поздрави,

П.

I am sorry @rhhs but to me that would make the data completely unusable. The number of the school is part of the name of the school. It is not a ref. It is part of the official name. The type of the school is part of the official name of the school, it is not a prefix. The type of the hospital is part of the official name of the hospital, not a prefix. The name tag is supposed to contain the name of the institution, which includes the mentioned parts and quotation marks, not just the name of the person who the institution was named after.

Given that the bare minimum for correctness is to contain the number, the type, and the name in the name tag. The only liberty taken here by @Dimitar155 is to shorten the type of school/kindergarten/hospital in the name tag for the sake of not having walls of text on the map. This is an OK tradeoff because these abbreviations are well-known and widely used both in official mediums and in colloquially, and we have the opportunity to make use of this fact! It is also an OK tradeoff because hospitals and schools are referred to in official communications with their abbreviation, followed by their names. I am talking news casts, newspapers, websites, press releases, announcements in the public transport. The only time they are referred to with their unabbreviated names is in the beginning of a legal document precisely once.

Especially the example with Sv. Anna is a guaranteed way to make the data in OSM completely out of touch with reality.

To me @Dimitar155’s approach perfectly fits reality here in Bulgaria. The name of the school/kindergarten/hospital is the numbered abbreviated name. The official name is the numbered unabbreviated name.

While there’s no reason not to include any other tags that can be inferred by the name, they cannot be used in place of the name without the resulting data being wrong.