Kadangi tema pakrypo link duomenų sinchronizavimo, tai pradžiai apie tai.

Štai pristatymas, kurį buvau paruošęs mūsų susitikimui:
https://docs.google.com/file/d/0B0sWMShmYsbRaVdKT21Md3dNdEU/edit?usp=sharing

Pristatymas ruoštas su mintimi, kad aš pasakosiu, tai vien iš skaidrių
mintis gali būti neaiški, bet kryptį turėtų būti galima pagauti. Taigi
šiek tiek apie sinchronizavimo dalį (13 skaidrė „Sinchronizacijos
schema“).

Idėja tokia: sukurti ne konkrečių duomenų importavimo įrankius (daug),
o abstrakčių duomenų (tipų) sulyginimo/importavimo mechanizmą (vieną).
T.y.
1. Randame kažkokius (bet kokius) išorinius šaltinius.
2. Parašome jiems transformacijas į mums suprantamą formatą.
3. Darome periodinius sulyginimus su OSM esamais duomenimis.
4. Skirtumus apdorojame rankomis arba automatiniais skriptais (kas
konkrečiai naudojama priklauso nuo situacijos su tendencija į 100%
automatizavimą).

Tokiu būdu pradinė realizacija bus kiek sudėtingesnė, bet ilgainiui
(atsiradus daugiau duomenų šaltinių) turėtume laimėti:
1. tokiu būdu „darbus“ galima pasiskirstyti: vieni ieško šaltinių,
kiti daro transformacijas, treti dirba su duomenimis (mažiau dviračio
perišradinėjimo)
2. tas pats mechanizmas veiktų ir kaip esamų duomenų tikrinimas ir
išorinių duomenų pasikeitimo sekimas

Dabar prie konkrečių klausimų:

2013 m. vasaris 21 d. 10:09, Paulius Masiliūnas rašė:
> Aš labiau norėjau sužinoti čia kaip darot dėl tarkim kokių
> piliakalnių sukėlimo į OSM, jei turime tik piliakalniu sąraša excel formatu,
> nemanau kad rankomis deliojate kokiame JOSM, manau kažkaip automatizuotai
> supučiat viską į OSM (jei taip, tai kokiu maždaug budu).

  Piliakalniai - nelabai geras pavyzdys, nes jie kaipo tokie man
asmeniškai labai įdomūs, todėl su kiekvienu piliakalniu aš padarau
gerokai daugiau, nei kad tiesiog įkeliu duomenis. Bet
automatizuojamoji pusė tokia: skriptai aptinka, kokių piliakalnių dar
nėra OSM'e arba kurie yra, bet duomenys šiek tiek skiriasi (žodžiu
eile sql užklausų apdorojamos ir paklaidos/netikslumai). Taigi visi
pradiniai išoriniai duomenys suskirstomi į „YRA“, „NĖRA“ ir „BEVEIK“.
Tada sukuria man xml failą, kurį atsidarau JOSM'e ir per jį galiu
duomenis tiesiog nusiųsti į OSM DB (realiai prieš nusiuntimą rankomis
padaroma daug kitų pakeitimų/papildymų, dažniausiai piliakalnio info
įkėlimo changeset'e būna ~1000 objektų).

  Jei klausimas apie automatinį OSM DB duomenų keitimą, tai yra eilė
variantų, nuo tiesioginio API naudojimo, iki jau paruoštų visokių
python skriptų ir pan. Apie šitai, manau, kiti daugiau papasakos, nes
aš pakankamai nedaug visiškai automatinių pakeitimų darau.

> P.S. Manau reikėtu kažkur surašyti rekomendacijas, ar šiaip sistemas, kurias
> naudoja OSM programuotojai, <...>

  Čia yra dvi dalys:
  1. Patarimai, kaip panaudoti OSM savo kuriamame puslapyje/produkte
(tarkime kaip kompanijai įsidėti žemėlapį su savo tarkim parduotuvių
koordinatėmis ir papildoma informacija)
  2. Kaip prisidėti prie „bendro“ OSM produktų/paslaugų rinkinio plėtimo.

  Dėl pirmo punkto - yra planai sudėti į wikibooks informaciją.
  Dėl antro punkto - kiek pamenu, Ramūnas sutiko (Ramūnai, pataisyk,
jei klystu), kad viską galima dėti į openmap.lt (darant pull requestus
į openmap.lt git'ą). openmap.lt yra vienintelė vieta, kur guli LT
daryti „production“ produktai. Pas mane guli tik visokie PoC,
pasibandymai, pasižaidimai ir pan. Ir samogitian negarantuoja ir
nesiruošia garantuoti jokio stabilaus „uptime“.

> manau gal tada atsirastu daugiau norinčiu
> prisijungti programuoti, nes dabar matai kad yra tarkim užduotis padaryti
> CSV importą ir atvaizdavimą duomenų, bet nežinai nei kur, kaip daryt,

  Yra LABAI daug dalykų, kuriuos galima padaryti. Manau netikslinga (o
gal ir neįmanoma) aprašinėti, kaip visus juos reikėtų daryti. Tuo
labiau, kad visa OSM ekosistema pastoviai keičiasi. Tai gali gautis,
kad per daug darbo bus įdedama veltui atnaujinant tokius aprašymus.

  Mano galva, jei kas nors nori užsiimti kokia nors užduotimi:
  1. Savo sugalvota
  2. Kitų anksčiau pasiūlyta
(https://www.pivotaltracker.com/projects/462023 - įjunkite dalį
„ICEBOX“)
  Reikia apie tai parašyti į talk-lt. Tada bus aišku, ar yra kitų,
norinčiu užsiimti pasirinktu darbu. Tada bus galima ir konkrečią
užduoti aptarti/patarti.

  vaje koks ilgas laiškas gavosi... aš pats tokius retai teskaitau... :-)

-- 
Tomas

_______________________________________________
Talk-lt mailing list
Talk-lt@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-lt

Atrašyti