Vektorinis žemėlapis

Džiugu pranešti, kad atnaujintas openmap.lt pradėjo naudoti vektorinius žemėlapius. Mano žiniomis, tai pirmas Lietuvoje padarytas vektorinis žemėlapis (kitas yra Google žemėlapis, bet jis ne Lietuvoje padarytas).

Sakysite, kad techninės detalės, niekam neįdomu? Ne. Štai kelios paprastam naudotojui matomos vektorinio žemėlapio savybės, kurių nebuvo ir negalėjo būti anksčiau naudotuose rastriniuose („kaladėliniuose“) žemėlapiuose.

Žemėlapio pasukimas

Nors šiais laikais įprasta žemėlapį orientuoti taip, kad viršuje būtų šiaurė (beje, istoriškai taip buvo ne visada: viduramžiais viršuje buvo pietūs, dar anksčiau viršuje buvo rytai). Vektorinį žemėlapį galima pasukti kaip norime, ir visos etiketės (gatvių, lankytinų vietų ir pan. pavadinimai) bus atitinkamai perpaišytos, nebus aukštyn kojomis parašyto teksto:

Kam to reikia? Dažnai žmonės mėgsta žemėlapį pasukti savo žiūrėjimo kryptimi. Jei tarkim aš stoviu prie Gedimino paminklo Katedros aikštėje ir noriu eiti link Rotušės, tai norėsiu taip pasukti žemėlapį, kad Rotušė būtų „virš“ Katedros aikštės. Taip pat galima padaryti, kad žemėlapis automatiškai sukinėtųsi pagal judėjimo kryptį (kaip tai daroma GPSR įrenginiuose).

Žemėlapio pakreipimas

Žemėlapį taip pat galima pakreipti, taip sudarant erdvinio vaizdo įspūdį:

Pasukti ir pakreipti žemėlapį galite dešiniu pelės mygtuku arba dviem pirštais tapšno-įrenginiuose.

Žemėlapis yra interaktyvus

Galima spausti ant žemėlapyje rodomų lankytinų vietų, bus rodoma papildoma informacija, tokia kaip darbo laikas, svetainė, nuotrauka ir pan.

Ortofotografinis sluoksnis

Šiame žemėlapyje yra ir Nacionalinės Žemės Tarnybos ortofotografinis ORT10LT sluoksnis. Tai nėra vektorinės technologijos nuopelnas tiesiogiai, bet su vektoriniu žemėlapiu yra daug paprasčiau padaryti, kad ant ortofotografinio žemėlapio būtų rodomi kelių, upių pavadinimai ir pan.

Kitos techninės naujovės

Taipogi yra eilė naujovių labiau techninėmis detalėmis besidomintiems. Tarkim vektorinio žemėlapio atveju, serveris grąžina tik objektų formas. Kaip braižomas žemėlapis (kokie objektai braižomi, kokie nebraižomi, kokios naudojamos spalvos, kelių storiai, piktogramos lankytinoms vietoms ir panašiai) yra valdoma paprastu json failu žemėlapį rodančioje svetainėje. Tai reiškia, kad dabar, net neatlikdami sudėtingų veiksmų, tokių kaip savo duombazės kūrimas, osm duomenų įkėlimas ir atnaujinimas ir pan. jūs galite susikurti savo žemėlapį tiesiog įvairiais vizualaus redagavimo įrankiais pakoregavę stiliaus json failą pagal savo poreikius (gal išmesti sau neįdomius objektus, gal spalvas pritaikyti prie savo svetainės spalvų schemos ir pan.).

Pakreipus žemėlapį galima pridėti 3D žemėlapį tiesiog panaudojus pastatų aukščio informaciją.

Ir dar daug daug kitų naujų galimybių, apie kurias bus rašoma vėliau 🙂

Share

Lietuvos pažintiniai takai

Lietuvoje yra virš šimto pažintinių takų. Informacija apie juos buvo renkama OpenStreetMap nuo pat projekto atsiradimo pradžios. Nes tuo metu (prieš 13 metų) praktiškai nebuvo kito pasirinkimo (neskaitant dedikuotų GIS sprendimų). Kalbant apie pažintinius takus, mums įdomi tiek taškinė informacija (kurią paprasta rodyti žemėlapyje, „į kurią“ galima naviguoti ir pan.), tai paprastai bus pažintinio tako pradžios taškas (ar taškai, kai pradžių yra kelios). Na ir įdomi pati trasa (maršrutas), nes kai jis nubraižytas žemėlapyje, mes galime geriau suprasti, ką pamatysime eidami konkrečiu taku.

Maršrutų informacija yra pakankamai sudėtingas dalykas, todėl nėra taip jau ir trivialu pamatyti pažintinių takų informaciją, nors būdų tikrai yra daug. Žemiau pateiksiu kelis variantus skirtingiems taikymams/įrenginiams.

Interneto svetainės

Galite naudoti http://hikebikemap.org/. Joje įsijungę „Lonvia Hiking Routes“ matysite pažintinių takų maršrutus (ten pat galite įsijungti ir dviračių maršrutų rodymą).

Lietuvoje galite naudoti https://places.openmap.lt svetainę. Joje yra galimybė matyti pažintinius takus kaip taškus žemėlapyje, tai patogu ieškant pažintinių takų Lietuvoje:

Bet galite ir gauti tiesiog sąrašą visų pažintinių takų: https://places.openmap.lt/pazintiniai-takai/

Na ir detalią pažintinio tako informaciją:

Mobilioji programėlė

Mobiliuose aparatuose (telefonuose, planšetėse), kai norite viską turėti nenaudojant interneto, kaip visada nepralenkiama yra OsmAnd programėlė, tik žmonės dažnai nežino/neranda reikiamo funkcionalumo, kurio OsmAnd labaaaai jau daug.

Taigi. Einame į meniu „Konfigūruoti žemėlapį“, ir ten pačioje pabaigoje randam punktą „Maršrutai“:

Tada žiūrime skiltį „Padengimas žygių simboliais“:

Čia galite pasirinkti jums priimtinesnį pėsčiųjų maršrutų vaizdavimą (arba jį išjungti). Ir viskas, tada žemėlapyje matysite paryškintus pažintinius takus:

Duomenys

O dabar truputis techninės informacijos tiems, kas ne tik naudoja OpenStreetMap informaciją, bet ją pildo/taiso.

Pažintinių takų tašką žymime maršruto pradžioje kaip paprastą tourism=attraction, tik pridedame papildomą žymą attraction:type=hiking_route. Toliau standartiškai name, website, description, image, distance žymos.

Pats maršrutas – keliai, sujungti į ryšį, turintį tokias žymas:

  • type=route
  • route=hiking
  • network=lwn
  • name=**** pavadinimas, lygiai toks pats, kaip ir aukščiau minėtame tourism=attraction taške ****
  • distance=5

Štai ir viskas. Gero vaikščiojimo! 🙂

Share

Lankytinų vietų kolekcionavimas

Lankytinų vietų Lietuvoje tikrai yra daug – tūkstančiai. Pastoviai atsiranda naujos lankytinos vietos, senos kartais, deja, dingsta (pvz. pažintiniai takai apleidžiami, muziejai užsidaro ir pan.). Na ir dėl paties vietų kiekio gan sunku populiaresniuose regionuose iš karto aplankyti viską. Todėl anksčiau ar vėliau iškyla problema: kaip greitai rasti dar neaplankytas vietas?

Yra tokie puikūs aktyvus užsiėmimai kaip geocaching ar opencaching – lobiukų rinkimas. Jo esmė paprasta – tūkstančiai žmonių slepia lobiukus, registruoja jų pozicijas, o tada norintys ieško lobiukų, radę pažymi „radau“ ir tada ieško kitų lobiukų. Taigi tokiu pačiu principu sukurtas ir paleistas https://places.openmap.lt lankytinų vietų kolekcionavimas. Mintis paprasta: prisijungiate, nurodote, kokio tipo lankytinos vietos jums įdomios, gaunate sąrašą artimiausių lankytinų vietų, peržiūrite, pažymite aplankytas ar jūsų nedominančias – sąrašas mažėja. Taip sąraše turite tik tai, ko dar neaplankėte. Paprasta ir patogu greitai nuspręsti, ką aplankyti.

Kaip tai veikia

Visų pirma places.openmap.lt Lankytinų vietų žemėlapyje susirandate jus dominančią vietą, iš kurios lankysite objektus. T.y. žemėlapį pastumiate/priartinate taip, kad centras būtų jus dominanti vieta. Galite naudoti automatinį jūsų pozicijos nustatymo funkcionalumą.

Tada spaudžiate kolekcionavimo mygtuką:

Kolekcionavimo mygtukas

Patenkate į kolekcionavimo puslapį. Čia jums reikia prisijungti. Prisijungiate savo Google paskyra. Prisijungimo tikslas – unikaliai jus identifikuoti, kad sistema atsimintų būtent jūsų mėgstamas grupes ir būtent jūsų aplankytas vietas. Tai reiškia, kad rinktis lankytinas vietas, žymėti jas aplankytomis ar neįdomiomis, galite skirtingose vietose (tarkim namų kompiuteryje ir savo telefone), places atpažins, kad tai tas pats žmogus.

Prisijungus pirmą kartą jums reikia eiti į skiltį Grupės ir joje nurodyti, kokios lankytinų vietų grupės jus domina:

Lankytinų vietų grupės

Galite pasirinkti vieną ar daugiau grupių.

Pasirinkę grupes grįžkite į lankytinų vietų sąrašą:

Artimiausių lankytinų vietų sąrašas

Matote lankytinas vietas, išrikiuotas pagal atstumą nuo jūsų pradžioje žemėlapyje parinktos vietos. Iš viso rodoma iki 100 artimiausių lankytinų vietų.

Parinkite norimą lankytiną vietą – gausite detalesnę informaciją:

Detali lankytinos vietos informacija

Čia matote tą pačią informaciją, kuri rodoma ir pagrindiniame places.openmap.lt žemėlapyje. Turite tris mygtukus, kurių pagalba galite nurodyti, kad šią vietą jūs jau aplankėte arba kad ji jūsų nedomina – tokiu atveju vieta dings iš jūsų asmeninio neaplankytų vietų sąrašo.

Tai tiek. Bandykite, naudokite, komentuokite ir svarbiausia – lankykite 🙂

Share

Kaip sukurti Garmin žemėlapį I

Atviro žemėlapio duomenys visiems laisvai prieinami, su jais daryti galima bet ką. Tai reiškia galima ir pasidaryti savo Garmin žemėlapį. Garmin žemėlapį sukurti galima galybe skirtingų būdų, yra labai daug galimybių ir metodų, todėl parašysiu seriją straipsnių, po žingsnį rodant kaip padaryti vieną ar kitą dalyką, pradedant nuo paties paprasčiausio Garmin žemėlapio sukūrimo, iki sudėtingo žemėlapio su savais objektais ir savu atvaizdavimo stiliumi (sava simbolika).

Žemėlapio duomenys

Visų pirma mums reikės duomenų. Yra daug variantų, kaip ir iš kur gauti duomenis, čia paminėsiu tik vieną – patį paprasčiausią. Naudokite http://download.geofabrik.de/. Ten rasite visų žemynų, šalių, regionų duomenis.

Visiems tolimesniems bandymams naudosime Lietuvos duomenis, kuriuos parsisiųsti galima iš čia: http://download.geofabrik.de/europe/lithuania.html.

Mus domina pbf failas lithuania-latest.osm.pbf.

Programinė įranga

Žemėlapį kursime naudodami atviro kodo programinę įrangą mkgmap (MaKe Garmin MAP).
Svetainė: http://www.mkgmap.org.uk.

Atsisiųskite paskutinę versiją (failas mkgmap-r1234.zip, kur 1234 – versijos numeris). Išpakuokite naujame aplanke. Turėtumėte gauti tokius failus/aplankus:

  • doc
  • examples
  • lib
  • LICENCE
  • README
  • mkgmap.jar

Patikrinkite, ar gerai atsisiuntė programa ir ar veikia java. Įvykdykite tokią komandą:

java -jar mkgmap.jar --version

Turėtumėte gauti kažką panašaus į šitą:

Time started: Sun Jul 16 16:22:57 EEST 2017
3973

T.y. paleidimo laikas ir mkgmap versijos numeris. Jei paleisti nepavyko – patikrinktie, ar veikia java.

Paprasčiausias žemėlapio kūrimas

Pabandykime paprasčiausią žemėlapio kūrimo komandą:

java -jar mkgmap.jar --input-file=lithuania-latest.osm.pbf

Gauname tokį atsakymą:

SEVERE (MapFailedException): lithuania-latest.osm.pbf:
(thrown in BufferedImgFileWriter.ensureSize()) There is not
enough room in a single garmin map for all the input data.
The .osm file should be split into smaller pieces first.

Garmin žemėlapio formatas turi apribojimą, kokio dydžio gali būti vienas žemėlapio „gabalas“ (nesigilinkime detaliau, kas tas „gabalas“), t.y. kiek informacijos galima sukišti į vieną žemėlapio dalį. Jei bandytume sukurti žemėlapį mažesniam regionui (tarkim tik Vilniui, arba kokiai dar mažesnei už Lietuvą šaliai), tai šios komandos užtektų. Dabar gi mums teks duomenis padalinti į gabalus.

Duomenų dalinimas į gabalus

Dalinimui naudosime programą splitter, kurią galite atsisiųsti iš tos pačios mkgmap svetainės: http://www.mkgmap.org.uk/download/splitter.html.

Padalinimui nurodysime tik pradinį duomenų failą ir maksimalų taškų skaičių – 3,2 milijono. Nesigilinkime, kodėl šis skaičius toks, ar kitoks 🙂

java -jar splitter.jar --max-nodes=3200000 lithuania-latest.osm.pbf

Šis dalintojas sukurs tiek žemėlapio duomenų failų, kiek reikia. Šio įrašo rašymo metu Lietuvai sukuriami keturi failai:

  • 63240001.osm.pbf
  • 63240002.osm.pbf
  • 63240003.osm.pbf
  • 63240004.osm.pbf

Dabar mums reikia pakartoti žemėlapio kūrimą, nurodant visus keturis failus.

Žemėlapio kūrimas iš kelių šaltinio kaladėlių

Mums reikia papildyti anksčiau naudotą mkgmap paleidimą kelių įvesties failų nurodymu (rašykite vienoje eilutėje)

java -jar mkgmap.jar --input-file=63240001.osm.pbf
--input-file=63240002.osm.pbf
--input-file=63240003.osm.pbf
--input-file=63240004.osm.pbf
--gmapsupp

Atkreipkite dėmesį, kad gale pridėta dar papildoma parinktis –gmapsupp – ji nurodo, kad iš visų šių keturių duomenų failų reikės sukurti vieną gmapsupp failą. Paleidžiame:

Time started: Sun Jul 16 21:01:03 EEST 2017
Number of MapFailedExceptions: 0
Number of ExitExceptions: 0
Time finished: Sun Jul 16 21:02:41 EEST 2017
Total time taken: 97612ms

Na ir turėtų būti atsiradęs failas gmapsupp.img – tai žemėlapis, kurį galite įsikelti į savo Garmin GPSR įrenginį:

Paprasto Garmin žemėlapio vaizdas įrenginyje

Tai tiek pirmam kartui. Šis žemėlapis neturi adresų paieškos galimybės, niekaip neįtakota, kokie objektai pateko/nepateko į žemėlapį ir panaudotas standartinis Garmino vaizdavimo stilius. Kaip šiuos dalykus valdyti, bus rašoma vėliau.

Share

Kodėl naudinga lankytinas vietas registruoti OpenStreetMap?

Dažnai žmonės klausia, kodėl reikia lankytinas vietas (muziejus, kavines, restoranus, viešbučius, kaimo sodybas ir t.t. ir pan.) registruoti atvirame žemėlapyje (OpenStreetMap), juk yra Google žemėlapiai. Pabandysiu parašyti kelias priežastis.

Pastaba: Lietuvoje yra dar ir trečias žemėlapių variantas – Nacionalinės Žemės Tarnybos „valstybinis georeferencinių erdvinių duomenų rinkinys GDR10LT“. Plačiajai visuomenei jis tikriausiai bus žinomas pavadinimu „maps.lt“ (maps.lt yra tikriausiai žinomiausia svetainė, naudojanti GDR10LT duomenis). Tai yra puikus žemėlapių pagrindas Lietuvoje, bet šiame įraše apie jį nebus nieko rašoma, nes pagal savo paskirtį GDR10LT nėra skirtas registruoti lankytinas vietas, tokias kaip muziejai, kavinės, kaimo sodybos ir pan.

Taigi pradėkime…

Teisinė pusė

Kai informacija įkeliama į Google žemėlapius, ji iš karto tampa Google nuosavybe. T.y. net žmogus, kuris įkėlė informaciją, negali vėliau išsitraukti jos ir naudoti pagal savo poreikius.

OpenStreetMap atveju visa informacija yra atvira. Viską galima išsitraukti ir perpanaudoti savo tikslais. Tiek savo įvestą, tiek kitų.

Paslaugų tiekėjai

Kadangi Google žemėlapių duomenys yra Google nuosavybė, tai reiškia ir žemėlapius teikia išskirtinai tik Google. T.y. jūs neturite paslaugų tiekėjo lankstumo. Arba sutinkate su Google paslaugų teikimo sąlygomis, arba neturite žemėlapio.

OpenStreetMap atveju yra krūvos tiekėjų, kurie jums gali teikti žemėlapio paslaugas. Pradedant nuo paprastų nemokamų (kad ir pats www.openstreetmap.org), baigiant įvairiai įkainuojamomis sudėtingomis paslaugomis (tarkim mapbox.com). Jau nekalbant apie tai, kad, jei turite noro ir žinių – žemėlapių paslaugas galite teikti (sau arba/ir kitiems) patys.

Skirtingi panaudojimai

Kadangi OpenStreetMap duomenys yra atviri, juos gali bet kas perpanaudoti įvairiausiais tikslais. T.y. galima ne tik padaryti „standartinį“ internetinį žemėlapį (kokius galima padaryti ir ne su OpenStreetMap), bet galima padaryti ir išskirtinius žemėlapius. Visuose juose bus jūsų lankytina vieta.

Keli (ne visi) variantai:

  • Garmin įrenginiams skirti žemėlapiai. Iš Google duomenų niekaip nepadarysite Garmin žemėlapio, o iš OSM – prašau (kaip pavyzdį galite pažiūrėti kiekvieną dieną atnaujinamą Lietuvos Garmin žemėlapį).
  • Nestandartiniai Garmin žemėlapiai. Pavyzdžiui Lietuvos upių žemėlapis, kurio pagalba galima maršrutizuoti upėmis: pasakote, kad norite plaukti nuo šio tilto iki šios stovyklavietės ir jums bus pateikta informacija, kiek kilometrų upe reikės plaukti. Jei automobiliams skirtą Garmin žemėlapį galima nusipirkti tarkim iš Fedingo, tai tokio upių žemėlapio, mano žiniomis, nedaro niekas.
  • Dviračių, pėsčiųjų takų/maršrutų žemėlapiai.
  • Spausdinami žemėlapiai. Jei norite pasidaryti/atsispausdinti kažkokį specifinį žemėlapį: gal savo sodybos vietovės, gal piliakalnių žemėlapį, gal kokio nors nacionalinio parko, gal spalvojimo žemėlapį ir t.t. ir pan.
  • Su OpenStreetMap galite sukurti savo programėlę, kuri naudotų vietoje turimus (ne iš interneto imamus) norimo regiono (bet kurios pasaulio vietos) žemėlapius. Tokios programėlės naudingos tiems, kas nori keliauti užsienyje (kur yra brangus internetas), arba vietose, kur interneto tiesiog nėra (kalnuose, neapgyvendintuose regionuose ir pan.)
  • Na ir galite atsisiųsti duomenis GIS programoms suprantamu formatu (pavyzdžiui shape formatu) ir tada naudodami GIS įrangą daryti ką tik norite.

Ir čia svarbi detalė, kad jei jūs savo kavinę, restoraną, sodybą, muziejų ar kokią kitą mėgstamą vietą įregistruosite OpenStreetMap, ji atsidurs visuose aukščiau išvardintuose žemėlapiuose! Įrašote vieną kartą, o panaudojama informacija daugelyje skirtingų vietų! T.y. bus ji ir Garmino žemėlapiuose, ir spausdintuose žemėlapiuose, ir upių žemėlapiuose, ir lankytinų vietų žemėlapiuose!

Detalumas

„Didieji“ žemėlapiai paprastai koncentruojasi į vietas, kurios yra populiariausios. Paprastai tai bus didieji miestai. Pabandykime pažiūrėti, kaip atrodo toliau nuo Vilniaus nutolusios vietos tarkime Google žemėlapyje ir OpenStreetMap. Tarkime Labanoras. Jo sužymėjimas OpenStreetMap nėra pats detaliausias, ir Google žemėlapiuose jis nėra visai pamirštas – taigi neparinkinėjau specialiai vietos, kur OSM net be paaiškinimų lenkia Google (tą padaryti galėčiau, parinkęs kokios nors nuo miesto nutolusios kaimo sodybos apylinkes).

Taigi, ką turime Google žemėlapyje:

OpenStreetMap žemėlapyje:

Taigi automobilių keliai tokie patys. Bet toliau viskas kitaip. Google žemėlapyje yra keli namukai centre, bet kažkodėl tik jie. OpenStreetMap nubraižyti visi namukai. Google žemėlapyje visas fonas žalias, tarsi tai būtų miškas. OpenStreetMap matome realią padėtį: kur miškas, kur gyvenamoji zona, kur pelkės, pievos ir pan. Jei važiuojate išskirtinai mašina ir nuo jos nueinate ne daugiau šimto metrų, jums tokia informacija gal ir nėra svarbi, bet jei daugiau vaikštote ar važinėjate dviračiu – tai neįkainuojama informacija įvertinant ar sunku bus praeiti, ar bus karšta, ar bus šešėlis ir šiaip kokia bus aplinka. Na ir OpenStreetMap yra daugiau taip vadinamo „mikrožymėjimo“ – stovėjimo aikštelės, pėsčiųjų takai (šiuo konkrečiu atveju matosi takai aplink bažnyčią, bet OSM įvedami ir pažintiniai takai), parduotuvės, turizmo informaciniai stendai ir pan.

Aktualumas

OpenStreetMap duomenys atnaujinami pastoviai. Tarkim nauji keliai OSM atsiranda dar jų planavimo/statymo metu, ir tik tik paskelbus apie atidarymą, paprastai kelių valandų ar dienų (jei toliau nuo didžiųjų miestų) bėgyje, keliai jau yra „aktyvūs“. Taip pat ir su kitais pasikeitimais: statybos, nauji pastatai ir pan. Dar viena puiki OpenStreetMap detalė – galite registruoti pastabas. Jei jums pasiseks, į jas kažkas gali sureaguoti net po valandos, jei pasiseks mažiau – sureaguos per kelias dienas. Pastabose galite parašyti informaciją apie norimą pridėti lankytiną vietą, arba galite pažymėti, kad žemėlapis aplink jus dominančią vietą labai tuščias, ir parašyti, kad jis būtų papildytas informacija, kuri matoma iš ortofotografijos. Tokie pakeitimai galutiniame žemėlapyje pasimatys labai greitai – nuo kelių minučių iki kelių valandų po redagavimo!

Duomenų analizė

OpenStreetMap duomenis galite analizuoti įvairiausiais tikslais tiek naudodami internetines priemones, tokias kaip Overpass Turbo, tiek ir atsisiuntę visą duomenų rinkinį (o gal net ir visą pakeitimų istoriją) į savo vietinę duomenų bazę ir darydami pačias įvairiausias analizes. Tarkim kurios vietos miškingiausios, kuriose vietose daugiausia gyvenviečių, koks atstumas nuo parduodamo namo iki artimiausio darželio ar mokyklos ir t.t. ir pan.

Apibendrinimas

Google žemėlapiai tikrai nėra OpenStreetMap „priešas/konkurentas“. Google ne kartą yra padėjusi OSM projektui įvairiais būdais. Šiame straipsnyje labiau akcentavau OSM privalumus, bet, žinoma, jų turi ir Google: internetinių žemėlapių žinomumas ir api paprastumas. Taigi jei jūsų lankytina vieta yra kur nors didžiuosiuose miestuose, tai Google irgi yra geras pasirinkimas, o visur kitur OSM kol kas pirmauja.

Kaip matote, OpenStreetMap privalumai yra tiek teisiniai, tiek neriboto praktinio panaudojimo. Duomenų panaudojimą riboja tik jūsų fantazija! Taigi registruokite lankytinas vietas atvirame žemėlapyje, ir informacija apie jas atsidurs pačiuose įvairiausiuose žemėlapiuose, kuriuos naudoja visokiausių pomėgių žmonės!

Share