2019-03-30 10:20, Tomas Straupis rašė:
Sveiki

   Upės turi savo pavadinimus, vandens telkiniai irgi turi savo
pavadinimus. Upių vektoriai eina ir per vandens telkinius, to mums
reikia upių maršrutizavimui ir baseinų skaičiavimui. Bendra
(kartografinė?) taisyklė braižant žemėlapius yra nepaišyti upės
etiketės virš vandens telkinio. Kas logiška, nes realiai toje vietoje
mes įsivaizduojame vandens telkinį, o ne pratekančią upę (kuri vandens
telkinyje dažniausiai net neturės tikslios geometrijos, tik
apytiksliai paskaičiuotą).
Aš manau, kad tą reikia daryti braižymo stadijoje, o ne OSM duomenyse.
Pvz., darant upių/ežerų sankirtas ir atmetant tas upių atkarpas, kurios eina per vandens telkinius, naudojant sluoksnius, ar kitus techninius sprendimus.

   Vienas sprendimo variantas, kuris nereikalautų jokių duomenų
pakeitimų - galima braižyti upių etiketes prieš/žemiau už vandens
telkinių plotus/poligonus. Deja čia bus problemų: kad neišlįstų dalis
upės etiketės, vis tiek reikės keisti upės duomenis - karpyti ties
vandens telkinio riba. Ir tai vis tiek neišspręs visų problemų, jei
upė eina greta vandens telkinio (yra upių, kurios eina greta tvenkinių
ar tarpe tarp kelių tvenkinių dalių), tai gali būti uždengta dalis
upės etiketės, kai neturėtų būti jokio uždengimo. Žodžiu vien
sluoksnių dėliojimu lyg ir nėra sprendimo(?)
Yra kitų techninių sprendimų, pvz., duomenų parengiamasis apdorojimas prieš atliekant braižymą.


   Taigi reikia keisti duomenis. Čia turime du pasirinkimus:
   1) pridėti papildomą žymą (arba ją paskaičiuoti automatiškai), kad
tai per vandens telkinį einanti upė
   2) išimti/perkelti upės kelio name žymą virš vandens telkinio.
Abu variantai iš esmės yra „tagging for renderer“.

   1'as variantas geras tuo, kad mes niekaip neįtakojame jau esamų
žemėlapių. Tik savuose (openmap.lt) žemėlapiuose galėsime panaudoti
šią žymą ir nerodyti upės pavadinimų ten, kur nereikia. Jis ir blogas
tuo, kad neįtakojame jau esamų žemėlapių - visur virš ežerų, tvenkinių
bus braižomas ir pratekančios upės pavadinimas.
Bent jau skaitmeniniuose žemėlapiuose nemanau, kad tai yra blogai.
Pvz., OsmAnd'e labai patogu, kai matosi kokia upė teka per vandens telkinį, o ne tik krypties rodyklėlės.

   2'as variantas reiškia, kad upės pavadinimai dingsta visur. Ir čia
interpretacijos klausimas, ar čia darome „tagging for renderer“, ar
čia taisome duomenis - nuimame upės pavadinimą ten, kur realiai nėra
pavadinimo ar gal net upės (beje, standartinėse GIS sistemose tai gan
įprasta).
Ar nėra taip, kad standartinėse GIS sistemose duomenys žemėlapių braižymui ir duomenys, pvz., paieškai yra skirtingi? Kad ir geoportal.lt – vietomis nerodo upių pavadinimų virš vandens telkinių, vietomis rodo, bet paieškoje suradus upę rodo upės vektorių visur.

   Taigi pabandymui aš jau nurankiojau nuo nemažos dalies upių virš
vandens telkinių name žymas. Tiksliau perkėliau jas į waterway:name
žymą, kad, jei pamatysim/nuspręsim, kad tai blogas sprendimas, būtų
galima greitai hop ir sukelti viską atgal į name žymą. Kol kas neradau
vietos, kodėl mums kada nors galėtų prisireikti name pavadinimo upės
atkarpai virš vandens telkinio.
Braižymui nereikia, bet OSM duomenyse reikia. Dabar upę iš atskirų atkarpų galima sukonstruoti pagal waterway=river + name=XXX arba per relation:waterway, analogiškai keliams. Perdarius su waterway:name upės paprastai sukonstruoti nebeišeina.

   Taigi, ką galvojate?
Kaip ir visais kitais atvejais aš manau, kad OSM duomenys turėtų būti kiek įmanoma tikslesni, o visi braižymo niuansai sprendžiami braižymo stadijoje, nepriklausomai nuo to, kad visuose „standartiniuose“ OSM žemėlapiuose gali būti neidealus atvaizdavimas. Dabar su tokiais pakeitimais galime pagerinti „standartinius„ OSM žemėlapius, bet apsunkinti specializuotų žemėlapių kūrimą, ypač vektorinių, kur atvaizdavimas gali būti dinamiškas (pvz., uždedi varnelę, pradeda rodyti upių pavadinimus).


P.S. Kaimynai tiesiog nurankioja name žymas virš ežerų, bet tai mažiau
pastebima, nes jie panašu nenaudoja automatinių taisyklių, randančias
tokias situacijas.
Vieni nurankioja, kiti ne. Vieni naudoja relation:waterway, kiti ne.

_______________________________________________
Talk-lt mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-lt

Atrašyti