Обележавање назива улица и повезивање са Адресним регистром

Једна од значајних примена дигиталних мапа је да послуже као мапе градова и насеља а нарочито за потребе навигације. Добро обележене улице су за то неопходне. Републички геодетски завод је објавио званични Адресни регистар Републике Србије под лиценцом отворених података тако да можемо да те податке повежемо у OSM базу.

Улице су део саобраћајне мреже па се обележавају својством (OSM tag) highway=*. Ово својство, разумљиво има много могућих вредности којима се сада нећемо бавити. Наша тема је уписивање назива улица и повезивање са Адресним регистром па ћемо у овом упутству објаснити како се то ради.

Уношење назива улица

Називи се уписују својствима name и његовим варијантама као и за све друге објекте.

У својство name треба уписивати назив улице онако како је званично, то јест како пише на уличним таблама. Назив се уписује ћирилицом. Латинична верзија назива се уписује у својство name:sr-Latn.

Уколико је улица позната и по неком другом називу, тај назив се може уписати у својство alt_name. Ако има више варијанти назива, онда у alt_name може да се упише више њих, одвојених знаком ‘;’ (тачка-зарез). За сличну намену може се употребити и својство short_name.

У стварности постоје улице које у називу садрже исти појам али је различито написан. Карактеристичан а илустративан пример је Улица Првог маја, Улица 1. маја и Првомајска. Три назива улица за исти појам. Слично је и са називима са различитим падежима, као на пример Краља Пeтра Првог и Краљ Петар I. Има чак и случајева када је исти назив улице написан по различитим правописним правилима, или боље да кажемо, негде није написан у складу са правописом.

У свим оваквим случајевима једини исправан начин уноса је да се у name упише назив улице онако како је званично, то јест – како пише на табли улице. Чак и ако је званичан запис погрешан, није на нама да то исправљамо.

Ако нисте сигурни, водите се потребом да неко ко користи мапу, треба да на мапи види исти назив као што пише на уличним таблама, да би се снашао. То нарочито важи за странце, који не познају наш језик а поготово не познају писмо. Ако на карти пише другачије, њима је много теже да се снађу.

Означавање за потребе навигације

Наши мапери који се баве мапирањем за потребе навигације, сугеришу да се ови други, слични, називи упишу као алтернативни. Они чак предлажу да се, ако се у називу улице налази редни број, као једна од алтернатива упише верзија без тачке као знака интерпункције. Тако прилагођен назив би требало да се уписује у short_name и то латиницом.

Иако ово изгледа а у суштини и јесте уписивање за потребе приказа (што по правилу није добро радити) овде се ради о изузетку. Наиме, већина програма за навигацију не умеју да се снађу са српским називима. Стога им треба помоћи. Без тога, корисник навигације би морао да апсолутно тачно укуца назив улице на нашем језику (можда чак и ћирилицом) да би је пронашао. Ради се о практичном проблему употребљивости за који за сада нема бољег решења.

Као помоћ за претрагу улица по називу добро је попунити својство int_name. Њега попуните латиницом али не користите наша латинична слова већ њихове поједностављене замене: c уместо č и ć, s уместо š, z уместо ž, dj уместо đ (на пример Uzice, Cacak, Arandjelovac, Sabac, Cuprija…).

Уношење референтних ознака

Згодна могућсност код OSM мапе је да се, поред уобичајених података потребних за израду мапе, могу уносити и неки додатни подаци, који имају разне намене.

За мапирање улица нама је значајан референтни број односно број за идентификацију. То је званична идентификација која је додељена објекту, у нашем случају – улици, а који служи за повезивање са другим базама података.

За путеве се по правилу за уношење званичних идентификационих бројева употребљава својство ref. То су заиста званичне државне ознаке путева које ћете видети на ознакама на путевима али и на аутокартама и другим документима.

Често пут у насељеном месту служи и као улица и тада свакако треба да садржи уписан податак у ref.

Међутим, ми имамо и државни Адресни регистар који је увео идентификацију улица додељивањем матичних бројева. За улице је то важан податак јер он омогућава да улице у OSM бази повежемо са државним регистром али и са свим другим базама које користе матичне бројеве улица. То је далеко бољи начин повезивања од повезивања путем назива.

Поред саме могућности повезивања са другим базама, важна вредност уписивања матичних бројева улице је у томе, што нама то омогућава да касније, вршимо поређења података у OSM са Адресним регистром и да лако утврдимо да ли је дошло до неких измена као што је промена назива улица или формирање нових улица. То је врло моћна ствар јер нам омогућава брже и лаше ажурирање тих измена у OSM мапи.

Како за уписивање матичних бројева улица не можемо користити својство ref јер оно већ има намену и дешава се да је оно већ употребљено, употребљавамо друго својство: ref:RS:ulica.

Границе насеља и улице

Улица може да се простире кроз више насеља. Међутим у адресном регистру, таква улица је подељена по насељима и сваки њен део се води као посебна улица (иако имају исти назив).

Ако улица прелази границу између два насеља, прво проверите да ли је она пресечена на граници. Ако није, пресеците је. Тек након тога можете добијеним деловима да упишете референте ознаке за свако насеље посебно.

Алати за уређивање назива и референтних ознака улица

Као и све друго мапирање, тако се и улице обрађују у уобичајеним OSM едиторима као што су ID editor, JOSM и други. Све се своди на то да се попуне својства објеката како треба.

Да бисмо олакшали повезивање података направили смо и неке додатне алате који помажу да се лакше проналазе подаци које је потребно уносити.

Претраживач улица

Адресни регистар је објављен у облику отворених података. То нам је омогућило да направимо алат за брзу и лаку претрагу улица. Он је направљен у облику веб сервиса Претраживач улица.

Претрага се врши једноставно, кроз три поља за претрагу:

У поље „Улица“ уносите пун или делимичан назив улице или матични број улице.

У поље „Насеље“ уносите матични број или назив насеља.

У поље „Општина“ уносите матични број или назив општине.

Претрага се врши по комбинацији ова три услова. Наравно не морате све да попуните него оно што вам је потребно.

Добра ствар овог претраживача је што уме да пронађе и улице сличних назива, али и занамарује разлике између великих и малих слова, ћирилице и латинице и утицај знакова интерпункције. То значи да може да пронађе улицу по називу чак и ако упит није баш истоветан називу у регистру. То је важно, јер разлике именовања улица у OSM бази и Адресном регистру постоје и нису ретке.

Резулат претраге садржи листу улица које одговарају упиту за претрагу, сложеном по индексу поклапања. Већи индекс значи да је поклапање улице са условом претраге веће. Индекс 1 или већи значи да се резултат потпуно поклапа са условом претраге.

Начин употребе је да, док радите у неком од алата за мапирање, ископирате назив улице, пребаците га у Претраживач улица, пустите претрагу и употребите резултат који добијете. Ако радите систематски на једном насељу онда можете у претрагу уврстити и назив или још боље матични број насеља или општине, како би претрага била прецизнија.

Кад нађете улицу, ископирате њен матични број и упишете у OSM базу.

Претраживач улица може да врати податке и у форматима JSON и CSV. То омогућава да други програми користе овај сервис за претрагу.

SerbianTransliterator за JOSM

Основна намена додатка SerbianTransliterator је да омогући брзо сређивање назива на српском језику у OSM бази. У верзији 1.3 овај додатак је допуњен је и функцијом која омогућава брзо повезивање улица у OSM бази са адресним регистром.

Инсталација додатка

Додатак преузмите са GITLab као датотеку serbiantransliterator.jar. Датотеку треба да снимите у директоријум са додацима за JOSM. Покрените JOSM, отворите Preferences/Plugins, изаберите Installed да добијете преглед инсталираних додатака, у њему нађите serbiantransliterator и чекирајте га као активног.

Након тога ће вам се у менију појавити опција ‘Edit nazivi‘ (Alt+Shit+2).

Поступак повезивања улице са Адресним регистром

Претпоставимо да већ имате неке податке у OSM и да сређујeте једну улицу. Кликните на њу и упишите њен назив.

Када сте то урадили држите ту улицу означену и покрените SerbianTransliterator бирањем у менију Edit / Edit nazivi или кликом на десни Shift+Alt+2.

Отвориће се дијалог са неколико опција. За повезивање са Адресним регистром, важна је опција Матични број насеља.

Матични број насеља нам је важан зато што у Србији има много улица са истим називом. Претрага мора да се ограничи на једно насеље да би имала смисла. Не би требало да се у оквиру једног насеља нађу две улице са истим називом.

Како да сазнате матични број насеља?

Адресни регистар поред матичних бројева улица садржи и матичне бројеве насеља (и општина). То можете да искористите.

Отворите Претраживач насеља и у приказаној табели потражите насеље коеј вас интересује. Преглед насеља можете сузити на једну општину.

Табела уз назив насеља приказује и матични број. Њега ископирајте и тај број упишите у поље Матични број насеља и кликните дугме OK. Отвoриће се табела која ће садржати податке о улици коју сте означили пре покретања опције.

Означите улицу у табели и кликните на дугме RGZ.Отвориће се додатни прозор који ће вероватно приказати листу од једног или више назива улица (ако не прикаже, онда није нађена ниједна улица са таквим или сличном називом). Изаберите назив улице који одговара и кликните OK.Тој улици ће бити попуњено својство ref:RS:ulica изабраним матичним бројем.

Промењен ref:RS:ulica ћете видети тако што ће он у табели бити црвене боје.

Податке у табели можете и да ручно мењате. Само двокликните на поље и добићете едитор да измените садржај.

На исти начин можете истовремено средити више делова исте улице па и више улица. Означите жељене улице, покрените SerbianTransliterator, унесите матични број насеља, у листи означите једну по једну улицу и прођите исту процедуру.

Врло је важно да исправно унесете матични број у SerbianTransliterator. Он не памти претходно коришћен матични број, тако да ако то заборавите можете направити велику грешку и доделити улицама матичне бројеве из погрешног насеља, ако и тамо има улица са истим називом.

Поступак масовног повезивања улица са Адресним регистром

Претага улица у оквиру насеља ради прилично добро и поуздано. Стога ако имате смелости, можете одједном да уредите велики број улица, можда чак и цело једно насеље одједном.

SerbianTransliterator има могућност да одједном повеже велики број улица са Адресним регистром, такорећи аутоматски.

Иако то застрашујуће звучи, у ствари је врло безбедно. SerbianTransliterator ће повезати само оне улице за које је 100% или више од 100% сигуран да зна да их повеже. Оно што није сигуран за промил мање од 100% неће дирати и то ће оставити вама да урадите ручно.

Поступак је сличан као када радите и са неколико изабраних улица, само што ћете уместо неколико, да повучете велики број улица, све их означите и пустите SerbianTransliterator да уради своје.

Најпре треба да у OSM учитате улице из OSM базе. Како SerbianTransliterator може да повезује само податке о улицама за једно насеље, морате учитати улице које све припадају једном насељу, издвојене по матичном броју насеља.

Сада у JOSM покрените опцију за преузимање података из OSM базе (будите сигурни да сте пре тога уклонили све друге претходно учитаване податеке са OSM – JOSM мора бити празан).Изаберите опцију Download from Overpass API. У поље Overpass query ставите следећи упит:

[out:json][timeout:60];
  // СЕВОЈНО, СЕВОЈНО  
  area ["ref:RS:naselje" = "741850"] -> .naselje; 
    ( 
      
[out:json][timeout:60];
// ЗЛАКУСА, УЖИЦЕ 
area ["ref:RS:naselje" = "741639"] -> .naselje; 
( 
  wr["highway"]["highway"!~"^(proposed)$"][area!=yes](area.naselje);
  wr["highway"]["name"][area!=yes](area.naselje);
  rel["ref:RS:naselje"][area!=yes](area.naselje);
    );

(._;>;);
out meta geom qt;  

Овај упит извлачи из OSM базе податке о улицама то јест све објекте који могу бити улице. Улице могу бити објекти типа way и relation. Уз њих упит повлачи и границу насеља.

Пре покретања упита, треба да га измените тако што ћете у њега уписати матични број насеља са којим радите.

Овај пример је за насеље Севојно код Ужица. То назначава број 741850 који је матични број овог насеља. Замените тај број матичном бројем насеља за који желите да сређујете улице.

Да бисте лакше налазили матичне бројеве можете употребити опцију претраге насеља на Претраживачу улица на адреси http://www.osmsrbija.iz.rs/pretrazivaculica/naselja. Поред списка насеља имате и могућност да погледате и ископирате припремљен Оверпас упит за изабрано насеље.

Када сте унели упит у JOSM, кликните на Download да преузмете објекте улица из OSM базе.

Следећи корак је да примените филтер над објектима да склоните оне који највероватније нису улице или их није потребно сређивати.

Филтрирање објеката који нису улице

Прегледност података у JOSM може да се побољша и применом филтера. Ево једног примера:

"ref:RS:ulica": OR "admin_level": OR (-name: (highway=proposed OR highway=steps OR highway=path OR highway=footway OR highway=corridor OR highway=service)) OR type:node OR noname=yes

Овај филтер додајте у JOSM и означите обе колоне A и H. Када је филтер активан, уклониће објекте који по свему судећи нису улице, а то су:

  • степеништа, стазе, пешачки путеви, коридори, сервисни и планирани путеви, ако немају уписан назив
  • објекти типа node
  • објекти означени са noname=yes
  • објекти који већ имају попуњено ref:RS:ulica
  • релација насеља

То све обезбеђује да видите само оно што има смисла те да смањите и број објеката са којима радите, што значи да радите брже, али и да смањите могућност да направите грешку.

Филтер можете да укључујете и искључујете по потреби, а наравно и да направите друге филтере прилагођене неким специфичним ситуацијама.

Пресеците улице које прелазе границу насеља

Ово је већ објашњено раније али је врло важно па зато понављамо: ако улица прелази границу насеља морате проверити да ли је пресечена на самој граници и ако није пресеците је.

То је нарочито важно да урадите пре масовног повезивања улица јер се ту лако провуку грешке које је касније тешко наћи и исправити.

Ако то не урадите онда ће делови улица који не припадају насељу добити погрешан референтни број.

Због тога Оверпас упит повлачи и границу насеља – да вам буде јасно где треба пресећи улице.

Уређивање кроз SerbianTransliterator

То што сте повукли све улице не значи да морате све одједном и да их средите. Можете да означите неке улице па да их пропустите кроз SerbianTransliterator а можете и све (притиснете Ctrl+A).

Водите рачуна када користите Ctrl+A. Могу вам бити учитани неки објекти које не треба да сређујете, а Ctrl+A изабира све објекте.

Укључите филтер који на мапи оставља само оне објекте који треба да се сређују и проверите дали вам се у избор ипак провукло нешто што не треба.

Када означите улице за сређивање покрените SerbianTransliterator. Сада ће табела у SerbianTransliterator-у садржавати много улица, то јест све које сте изабрали.

И сада можете, као и у претходном примеру, да изаберете једну улицу и повежете је са Адресним регистром.Међутим, сада је циљ да их средите све одједном.

Изаберите све у табели (притиснете Ctrl+A) и кликните дугме RGZ. Овај пут неће се отворити прозор за прегледом улица да изаберете. Када радите у масовном режиму, SerbianTransliterator ће сам да нађе везе између улица у OSM и Адресном регистру и упише их. То ћете видети тако што ће се попунити колона ref:RS:ulica, а измењене вредност ће бити црвене боје.

Као што смо рекли, SerbianTransliterator ће то аутоматски попунити само ако нађе недвосмислену везу.

За оне улице у листи за које није сигуран, неће попуњавати ref:RS:ulica па ви можете њих да обрадите једну по једну.

Дешава се да се називи улица у мањој или већој мери разликују у OSM и у Адресном регистру тако да морате сами да препознате и повежете их.

У ствари је препоручљиво да измените назив улице у OSM да одговара оном у Адресном регистру, с обзиром да су у Адресном регистру званични називи. Ипак, немојте то радити баш по сваку цену. Иако је Адресни регистар званичан, има у њему и словних и других грешака. Оне су обично очигледне, али не довољно да то SerbianTransliterator решава сам, већ он то препушта вама да прегледате и средите ручно.

И наравно, када завршите повезивање у SerbianTransliterator-у, кликните на OK. Тек тада ће све измене заиста бити уписане у изабране објекте.

Након тога измене пошаљите на OSM и завршили сте посао.

Сасвим је у реду да када почнете сређивање улица у неком насељу, повучете све улице, изаберете их све, пустите их кроз SerbianTransliterator да аутоматски повеже са Адресним регистром шта може, и то упишете у OSM.

Када након тога поново повучете податке, добићете само улице које нису повезане са Адресним регистром и њих можете да сређујете појединачно, ручно и уз помоћ SerbianTransliterator-а.

Сада можете да средите још неке улице па њих пошаљете и сваки наредни пут ћете преузимати све мање улица, само оне које треба да се сређују.

Уколико ипак желите да преузмете све улице у насељу а не само оне које треба сређивати пронађите [!“ref:RS:ulica“] у примеру упита (појављује се на два места) и уклоните.

Како повећати прегледност улица у JOSM

Када повучете много улица у JOSM све постаје непрегледно. С обзиром да то радите са циљем сређивања улица и повезивања са Адресним регистром, JOSM може да вам још олакша.

Припремили смо помоћни стил за бојење улица у односу на статус срећености података.

Он препознаје и визуелно приказује четири стања сређености улице:

  • Сиво (не треба сређивати)
    – све што није битно за уређивање назива улица и везе са Адресним регистром
    – путање (way) које немају name али им је подешено noname=yes
  • Наранџасто (треба уписати назив улице)
    – улице које немају уписан назив улице а требало би да имају
  • Црвено (треба уписати ref:RS:ulica)
    – улице које имају уписаненазив али нису повезане са Адресним регистром
  • Зелено (сређено)
    – улице које имају уписане називе и повезане су са Адресним регистром)

Стил за бојење Можете га преузети са https://josm.openstreetmap.de/wiki/Styles/SerbianStreetNamesAndRefsColouring. Сачувајте га негде на локалном диску.

У JOSM-у отворите панел Map Paint Styles (Alt+Shift+M) и у њој опцију Open preferences for this panel. Са десне стране поља Active Styles кликните на дугме са знаком ‘+’.

У новом дијалогу кликните на дугме за избор датотеке, пронажите и изаберите датотеку стила на вашем диску. Можете уписати и Name за стил. Означите опцију active и кликните на OK.

Сада ће се у панелу са стиловима појавити нови стил. Ако је он активан, улице ће бити обојене према претходно описаној шеми. Ако га искључите онда ће улице бити приказане на мапи као што је уобичајено.

Са оваквим бојењем ћете врло јасно видети шта и колико треба да се сређује у улицама које имате учитане у JOSM.

На шта још обратити пажњу

Улице које нису улице

Објеката налик улицама на мапи много, чак и ако то нису улице у правом смислу речи. Једна од начина да их се решите је дакористите филтер.

Ишак, добро је да објекте који нису улице и не треба да имају називе означите да их алати за ажурирање непотребно не учитавају и приказују. То су разне стазе и путељци, приступни путеви, нарочито у оквиру индустијских комплекса и слично.

Ако објекат нема назив и не треба ни да га има онда га означите са noname=yes. Од тог момента алати за сређивање улица ће њих да занемарују, па ће све постати прегледније и лакше за рад.

Ако улица нема уписан назив а мислите да треба да га има – онда га упишите.

Како изабрати место за сређивање улица

Када се ради на систематском сређивању овако великог броја објеката као што су улице, неопходно је да се подели посао и договара ко ће шта да ради да не би долазило до непотребних сударања.

За сада нисмо увели неки систематичан начин рада, али можете искористити податке у претраживачу насеља да процените шта може да се ради.

Када излистате насеља погледајте колону Број улица. Она у ствари садржи три колоне: укупан број улица, број улица који је повезан са ОСМ и број објеката у ОСМ који је повезан.

Ако видите насеље које нема повезаних улица, то је добар кандидат да узмете да га средите.

Препоручљиво је да прво сређујете насеља у области где живите и коју познајете. Када стекнете рутину онда пређите и на друга насеља.

Уколико буде потребе, увешћемо неки другачији начин за поделу посла, са ознчавањем да је нешто у поступку сређивања раду или да је сређивање завршено.

И на крају

Када уносите податке, као и обично, уносите само оно за шта сте сигурни да је тачно.

Немојте се упињати да све средите одједном и по сваку цену. Сређујте прво оно што је очигледно и што је лакше да се реди и нарочито за шта сте потпуно сигурни како треба да се среди.

Зачкољице и нејасноће оставите за касније. Много је лакше са њима радити када прво рашчистите оно што се лако решава.

Не морате детаљно попуњавати сва предложена својства наулицама. Неопходан минимум је назив улице и матични број. Све остало се може урадити накнадно и то не морате ви ни да урадите. Попуњавањем ова два податка за улицу многосруко ћете олакшати посао онима који касније буду наставили сређивање података.

Када наићете на нешто што није исправно или вам се мар чини да није исправно а не знате или немате податке да сами исправите означите то или својством fixme или уносом напомене (својство note) у OSM. Тако ће другима бити скренута пажња на проблем а већ ће се наћи неко ко то уме да разреши.

Можете на то да укажете и на форуму https://forum.openstreetmap.org/viewtopic.php?pid=836380 а ту можете и да питате ако вам је потребна помоћ или савет.

Оставите одговор

Ваша адреса е-поште неће бити објављена.