Lankytinų vietų sinchronizavimas (I dalis)

Lankytinų vietų informacija

Tikriausiai viena išskirtinių atviro žemėlapio savybių – lankytinų vietų (toliau – LV) skaičius ir įvairovė – kavinės, restoranai, muziejai, piliakalniai, parduotuvės, istorinės vietos, bankomatai, elektromobilių įkrovimo vietos ir t.t. ir pan.

lankytinos_vietos

LV atvirame žemėlapyje atsiranda įvairiais keliais:

  • įvedamos po vieną pagal vietines žinias. T.y. kažkoks žymėtojas pamato kavinę ar muziejų ir įveda jį į atvirą žemėlapį.
  • LV informacija gauta iš išorinių šaltinių ir importuojama į žemėlapį. Gal tai degalinių ar parduotuvių informacija iš tinklo valdytojo, gal turizmo objektų informacija iš regioninio parko ir pan.

Informacijos priežiūra

Nesvarbu, kuriuo iš aukščiau išvardintų būdų lankytinos vietos beatsirastų žemėlapyje, gali iškilti kelios problemos/uždaviniai:

  • Prieš įkeliant informaciją apie LV reikia patikrinti, ar LV dar nėra įrašyta (galbūt kitu pavadinimu, su kiek kitokia informacija, kitaip klasifikuota, šiek tiek kitoje vietoje ir pan.)
  • Dėl vienų ar kitų priežasčių jau įvesta LV informacija kartais gali būti netyčia pašalinta ar kažkieno netyčia neteisingai pakeista
  • Informacija gali būti netiksli arba pasikeisti po LV įvedimo į duomenų bazę

Šias problemas teoriškai galima spręsti rankiniu informacijos peržiūrėjimu, tikrinimu ir keitimu, bet tai visiškai nepraktiška, ypač kai objektų skaičius didelis (šiuo metu Lietuvoje yra virš 30000 LV).

Sinchronizavimas

Vienas iš galimų sprendimų – dvi objektų aibės, kurios periodiškai lyginamos viena su kita. T.y. iš išorinio šaltinio gauname kažkokių objektų (tarkim piliakalnių) sąrašą (su koordinatėmis, pavadinimu, tipu ir kita informacija) – tai mūsų „išorinis šaltinis“. Tada imame informaciją apie piliakalnius iš atviro žemėlapio (irgi koordinates, pavadinimą ir kitą informaciją) ir taip gauname „OSM duomenis“. Išorinio šaltinio duomenis keičia tik išorinis šaltinis (tas, kas teikia informaciją), o OSM duomenis keičia ir tas, kas perkelia išorinius duomenis į OSM, ir visi kiti atviro žemėlapio naudotojai/žymėtojai. Tada belieka periodiškai palyginti abi šias aibes ir rasti neatitikimus:

  • objektai, kurių trūksta žemėlapyje
  • objektai, kurių trūksta išoriniame šaltinyje (gali būti, kad ir išorinio šaltinio duomenys nepilni ar pasenę)
  • objektai, kurių informacija išoriniame šaltinyje ir žemėlapyje nesutampa (koordinatės kitoje vietoje, neatitinka pavadinimas, tipas ar kita informacija)

sinchronizacija

Gavus tokią informaciją pildomi/keičiami trūkstami duomenys OSM bei siunčiama informacija išorinių duomenų tiekėjui apie netikslumus jų duomenų rinkinyje.

Ką laimime?

Vieną kartą suvedus duomenis mes galime sekti, kad tie duomenys nebūtų netyčia sugadinti. Jei duomenis žemėlapyje kažkas pakeičia, tai gali rodyti, kad:

  • LV informacija pasikeitė ir pasikeitimai dar neperkelti į išorinį šaltinį
  • Kažkas padarė klaidą keisdamas LV informaciją žemėlapyje

Pirmu atveju žinome, kad reikia informuoti pradinės informacijos tiekėją, kad jie ir savo duomenis pasikeistų (gali būti, kad reikia tiesiog atsisiųsti naują informacijos rinkinį iš pradinio tiekėjo).

Antru atveju operatyviai pataisome duomenis ir informuojame apie tai klaidą padariusį žymėtoją – paaiškiname kaip, kur, kas ir kodėl.

Taigi turime balansą tarp masinio importo ir rankinio įvedimo po vietinės apžiūros: masinis importas padeda greitai suvesti duomenis, įvedimas po vietinės apžiūros leidžia tikslinti ir prižiūrėti duomenis.

Naudą gauna tiek atviras žemėlapis, tiek ir išorinis duomenų tiekėjas:

  • Atviras žemėlapis gauna aibę duomenų, didėja bendras turimų duomenų kiekis
  • Duomenų tiekėjas gauna informaciją apie klaidas/netikslumus turimuose duomenyse, platinami išorinio tiekėjo duomenys

Kas toliau?

Tokį sinchronizavimą daryti žymiai patogiau, kai naudojama informacinė sistema. Kaip tokia sinchronizavimo sistema realizuota Lietuvoje bus aprašyta kitame įraše.

Share