Juostinis upių žemėlapis

Mikalojaus Kristupo Radvilos 1613 metų žemėlapis

Dauguma žino ar bent jau kada nors viena akimi yra matę Mikalojaus Kristupo Radvilos 1613 metų žemėlapį „Magni Ducatus Lithuaniae, et Regionum Adiacentium exacta Descriptio“. Šiame žemėlapyje yra ir įdomūs dviejų upių žemėlapiai:

Upių žemėlapiai

Šie upių žemėlapiai skirti grynai plaukiojimui upėmis. Plaukiant upe svarbu žinoti, kas yra upės kairėje ar dešinėje pusėje, koks miestas yra už kokio kito miesto, salos, vingiai ir pan. Stambaus mastelio detalės, tokios kaip tiksli kryptis, kuria upė teka viename ar kitame taške, čia nevaizduojamos, nes jos plaukiant upe nesvarbios. Neatvaizduodami tikslios krypties, laimime galimybę visą upės vagą sudėti į naudojimui patogią ilgą vertikalią juostą – daug mažesniame plote telpa net ir ilgos upės. Taipogi nevaizduojami toli nuo upės esantys kelionei upe nesvarbūs objektai.

Savas juostinis upių žemėlapis

Toks žemėlapis būtų patogus ir šiandieniniams vandens keliautojams, pavyzdžiui plaukiantiems baidarėmis ar plaustais. Juk ne visi drąsūs vežtis elektroninius prietaisus, kurie gali įkristi į vandenį (nors elektroniniai prietaisai turėtų savo pranašumų, pavyzdžiui galima būtų naudoti specialiai upėms skirtą GPS įrenginių žemėlapį). Įprastiniai popieriniai žemėlapiai kaip ir tiktų navigacijai upėmis, bet jie nėra tam specialiai pritaikyti, todėl nėra idealiai patogūs. Ką jeigu sukurti savo juostinį upių žemėlapį naudojant atvirus OpenStreetMap duomenis? Bandžiau ieškoti internete informacijos apie tokius žemėlapius, bet nepavyko rasti absoliučiai nieko. Gali būti, kad tiesiog nežinojau teisingo termino, bet taip pat gali būti, kad nelabai kas ir domėjosi šia tema.

Taigi, po daugiau nei metų norėjimo, pribrendo laikas prisėsti ir pabandyti pasidaryti tokį žemėlapį. Žemiau aprašysiu pagrindines užduotis ir pastebėjimus.

Užduotis

Taigi užduotis yra žemėlapio duomenis transformuoti (iškraipyti) taip, kad upė tekėtų daugmaž tiesiai, bet tuo pačiu neprarandant mažų detalių – posūkių, jų krypčių. Tokiu būdu transformuotą žemėlapį galima būtų atspausdinti ant patogiai siauros, bet labai ilgos juostos, sulankstytos armonikėle (baidarėje nėra labai patogu išsilankstyti didelį standartinį žemėlapį).

Imkime puikią Lietuvos upę dar puikesniu pavadinimu Ūla. Ūlos vaga yra vingiuota tiek žiūrint stambiame, tiek ir žiūrint smulkiame mastelyje – puikiai tinka bandymams. Pabandykime ištiesinti stambaus mastelio posūkius. Tam mes nubraižysime tolydžią kreivę, einančią daugmaž pagal Ūlos tekėjimą, tik kad ta kreivė turėtų kiek galima mažesnius „posūkius“ (kad kiek galima mažiau reikėtų kraipyti pradinius duomenis). Tarkime gavome tokią (raudonai pavaizduotą) kreivę:

Dabar mums reikia pasirašyti transformaciją, kuri realias koordinates pakeistų į naujas taip, kad raudona linija būtų tiesi ir vertikali.

Transformacija

Paprasčiausias variantas, kaip turint tašką p gauti jo koordinates naujoje „koordinačių sistemoje“, – x koordinatę skaičiuoti kaip taško p nuotolį nuo centro (raudonosios) linijos, t.y. trumpiausią įmanomą atstumą iki centro linijos. O y koordinatę – kaip atstumą centro linija nuo centro linijos pradžios iki taško centro linijoje, kuris yra arčiausiai taškui p.

Taip gauname koordinačių transformacijos funkciją. Dabar belieka norimų vaizduoti objektų visų viršūnių koordinates transformuoti naudojant šią funkciją. Transformavę Ūlos centro liniją, gauname tokį vaizdelį:

Centre matome vertikalią linija – tai mūsų ankstesniame vaizdelyje esanti „raudonoji linija“. Ir greta matome Ūlą, iškraipytą pagal šią „centro liniją“. Kaip matome, Ūla ištiesinta stambių posūkių atžvilgiu, bet neprarasti smulkūs posūkiai. T.y. žiūrėdami tokį žemėlapį mes matysime, kada bus posūkis į kairę, kada į dešinę (galėsime orientuotis), bet visą Ūlos žemėlapį vis tiek bus galima atspausdinti ant ilgo siauro popieriaus, kurį sulanksčius armonikėle bus labai patogu naudoti baidarėje.

Aplinkiniai objektai

Panaudoję tą pačią transformacijos funkciją, gauname ir aplinkinius objektus – Ūlos krantus, kelius, miškus, pievas, miestus, pastatus ir t.t. ir pan. Kadangi visi jie yra iškraipyti pagal mūsų nusibrėžtą raudonąją liniją, tai aplinkinių objektų geometrija irgi neatitiks realybės. Žinoma iškraipymas labiausiai matomas ten, kur „raudonoji linija“ sukasi, ir kur ji sukasi labiausiai. Štai palyginkime objektus ties Kriokšliu (viena iš dviejų vietų, kur „raudonoji linija“ keičia kryptį labiausiai). Kaip viskas atrodo „realioje“ projekcijoje:

O štai kaip atrodo iškreiptoje pagal „raudonąją liniją“ projekcijoje:

Kaip matome, visi objektai matomi. Ūlos vingių esmė išlikusi. Bet tarkim Tilto gatvė, kuri realybėje yra daugmaž tiesi – išsikreipė. Pastatai irgi pakraipyti. Bet bendrai paėmus vaizdelis tikrai neblogas – galima susiorientuoti, kur yra kas.

Kas toliau?

Pradiniai pažaidimai būtų tokie. Galutiniame žemėlapyje bus pridėta ir plaukimo informacija iš upese.lt (įlipimo/išlipimo, pavojingos vietos, intakai), lankytini objektai aplink upę ir pan.

Tokius juostinius žemėlapius daryti galima nebūtinai vandenininkams. Galima žemėlapį kraipyti pagal dviračių ar automobilių kelią, ar bet ką kitą.

Dabar reikia gražiai sudėlioti kodą, išrankioti kai kuriuos ekstremumus ir… paruošti juostinį žemėlapį bandomajam spausdinimui. Kai tik tai bus padaryta – parašysiu dar. (atnaujinimas: pirma bandomoji versija jau atspausdinta)

Jei kas turite informacijos apie tokius „juostinius žemėlapius“ – būtinai pasidalinkite. Malonaus, įdomaus ir saugaus plaukiojimo!

Share

3 thoughts on “Juostinis upių žemėlapis

  1. Naudingas darbas, puikiai aprašyta. Rimtumo suteikia nuoroda į Mikalojaus Kristupo Radvilos 1613 metų žemėlapį. Tomai, ar neketini publikuoti kokiame nors moksliniame žurnale?

    Bežiūrint kilo mintis ką būtų galima dar patobulinti.

    Visuose didesniuose vingiuose raudona linija galėtų likti vingio viduje. Šiame pavyzdyje: viršutinis didelis vingis būtų mažiau vingiuotas, didesnio spindulio, žemiau esantys vingiai nesikeistų.

    Raudonos linijos kreivumas galėtų būtų optimizuotas taip, kad vingiai užpildytų lapą. Išlyginti tas raudonos linijos vietas, kur smulkūs vingiai išsitenka žemėlapio juostos plotyje – raudoną liniją vingiuoti minimaliai, kur tai neišvengiama.

    Matematiškai (vingius įsivaizduojant kaip apskritimų lankų rinkinį) abu patobulinimai reikštų posūkių spindulių didinimą.

  2. Įdomi idėja, bet nelabai naudinga. Popieriniame variante visai nėra pririšimo prie šiaurė/pietūs, toddėl orientavimasis upėje beveik neįmanomas. Pagal smulkius posūkius orientacija neįmanoma, o stambūs posūkiai – generalinė upės kryptis – žemėlapyje nėra. Patikimi orientyrai upėse – kapitalūs tiltai ir intakai ne mažiau apie 1/3 upės debito. Kiti žemėlapyje pažymėti orientyrai – kaimai, namai, smulkūs intakai etc. dažniausiai iš upės nepastebimi, liepteliai, tiltukai dingsta ar pakeičia vietą. Tokių orientyrų patikimumas panašus kaip karvių banda kr.krante ar pėdos smėlyje:)

    Popieriniai juostiniai žemėlapiai daromi daug paprasčiau – į panašaiai 1/4 A4 formato lapelį talpinama upės atkarpa geriausiai tikanti pagal kryptį, kamputyje pažymima N/S kryptis, į kitą – dar viena upės atkarpa geriausiai tikanti pagal kryptį, kamputyje pažymima N/S kryptis ir t.t. Lapeliai išsilamksto kaip armonika. Spauda dažniausiai dvipusė.
    (Kažkur namuose dar voliojasi keletas lenkiškų ir čekiškų tokių mapsų.)

    Elektroniniame variante (orientacija su GPS) nematau juostinio žemėlapio pranašumo prieš paprastą.

    • Šiaurės rodyklę įdėti nėra problemų pvz. kas kilometrą-du-tris (tarkim dešinėje pusėje vis būtų po šiaurės rodyklę, kuri kiekvieną kartą rodytų skirtingą kryptį pagal tai, kaip pakrypo raudonoji/centro linija).

      Kitas dalykas, kad galutiniame popieriniame žemėlapyje turėtų būti bendras (overview) žemėlapis, kuriame būtų „normalioje“ projekcijoje parodyta, kur (ir kaip pakrypęs) atitinkamas juostinio žemėlapio lapas.

      Dėl „generalinės krypties“ poreikio matyt priklauso nuo upės ir požiūrio. Tarkim Ūla (Lietuvoje, skaičiuojant nuo Dubičių) turi tik du generalinius (stiprius) krypties pasikeitimus (Krokšlys, Rudnia), kas yra stipriai per mažai orientacijai – yra kur kas daugiau akivaizdžiai matomų objektų aplink upę – tiek didelės gyvenvietės, kurių neįmanoma praleisti, tiek didieji tiltai, pelkės, ežerai ir pan.

      Beje dėl to, ar orientacijai labiau padeda generalinis krypties pasikeitimas ar mažų vingių vaizdavimas, irgi galima būtų pasiginčyti, bet tikriausiai tai vėlgi priklauso nuo žmogaus. Pagaliau pagrindinis juostinio žemėlapio privalumas, kad į minimalų ir patogų rankoje laikyti vertikalų plotą galima įdėti maksimaliai REIKALINGOS informacijos, o reikalinga yra tik tai, kas yra šalia upės (kas matosi, ar ką įdomu aplankyti neinant per toli nuo upės). Nedarant lankstymų/transformacijų, galutiniai 1/4 A4 (A6?) lapukai bus mažiukai, kuriuos reikės pastoviai vartyti, arba/ir bus daug toli nuo upės nutolusios – nereikalingos informacijos.

      Lankstyti armonikėle buvo pirma idėja, bet norint padaryti vandeniui atsparų variantą lankstymo variantas atkrenta, nes per lenkimo vieta visi laminavimai ar pan. tiesiog lūš.
      Deja tai, kad negalima padaryti ilgoooos juostos ir jos sulankstyti, šiek tiek anuliuoja juostinio žemėlapio pradinius pranašumus 🙁 Čia gal reikia kitų idėjų, gal bandyti spausdinti ant medžiagos (nežinau, kaip toks variantas draugaus su drėgme…)

      (Dėl elektroninio pilnai sutinku, kad nėra prasmės – popierinis/juostinis būtent ir daromas dėl elektroninių prietaisų minusų: bijo vandens, baterija su įjungtu GPSR ilgai nelaiko, ne visi aparatai dienos šviesoje gerai rodo ir pan.)

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *