Razširjena navodila za »obdelavo« in vizualizacijo LiDAR podatkov
Gradišča nad Grahovim - Cerkniško jezero
Kazalo
2. Razširjena navodila | 3. Programska oprema | 4. Vir podatkov lidarskega snemanja | 5. Od oblaka točk lidarskega snemanja do oblaka točk površja | 6. In naprej do rastra in 2D vizualizacije | 7. Zaključek | 8. O avtorju | 9. Literatura1. Uvod
O tem kaj je LiDAR in o uporabi lidarskega snemanja za raziskovanje v arheologiji je bilo napisanih že nekaj strokovnih člankov v strokovni slovenski arheološki literaturi. Če jih naštejem samo nekaj: Štular 2011; Mlekuž in Budja 2008; Štular, Kokalj, Oštir, Nuninger 2012; Mlekuž 2009, 2013, 2015, Mlekuž in Rutar 2013.
Verjetno ste ob prebiranju teh (in drugih) člankov, ob občudovanju kart narejenih iz podatkov lidarskega snemanja površja pomislili, da bi radi znali to tudi sami narediti. A kaj ko se ustavi že pri prenosu datoteke iz ARSO portala v neznanem formatu LAZ. Kako naprej? Kako se to sploh odpre?
Preden lahko uporabimo podatke oblakov točk lidarskega snemanja za izdelavo kart, je podatke potrebno obdelati in jih spraviti v ustrezno obliko. Kako sploh to narediti, sem se tudi sam spraševal pred nekaj leti kot popolni začetnik znotraj GIS okolja. Na spletu nisem našel nobenih celostnih navodil kako delati znotraj odprtokodnega GIS programskega okolja. Drobci tu in tam.
Rezultati poizkusov, učenja na napakah in preskakovanja ovir so tukaj predstavljeni kot navodila kako priti od klasificiranega oblaka točk lidarskega snemanja do 2D vizualizacije (karte), ki je uporabna za arheološko raziskovanje in interpretacijo.
Podatki pridobljeni z LiDAR snemanjem so izjemen nabor informacij o fizičnem prostoru, ki jih lahko uporabimo za raziskovanje arheoloških najdišč in pokrajin. Kljub temu, da so dostopni na spletu brez omejitev, je vrednost teh podatkov ničelna, če jih ne znamo uporabljati. Namen tega članka je predvsem da se pokaže eno izmed poti na osnovi odprtokodnih programov kako te podatke spraviti do te stopnje berljivosti in zapisa, da so uporabni za arheološko interpretacijo.
2. Razširjena navodila
Tukaj zapisana razširjena navodila so nadgradnja in malce bolj podrobno razdelana navodila, ki so bila objavljena v reviji ARHEO št. 34. Zaenkrat sledim istim korakom kot v objavljenem članku, vendar se lahko zgodi v prihodnosti, da se bodo osnovni koraki spremenili zaradi novih programov in posodobitve programske opreme. Te spremembe bodo jasno označene.
V navodilih uporabljam tudi angleške besede. Te so izključno uporabljene ker nekateri programi niso prevedeni v slovenski jezik. Da ne bi prihajalo do zmede jih v opisu delovnega procesa nisem prevajal, ko je šlo za navodila kako uporabiti oziroma dostopati do določenega orodja.
3. Programska oprema
Za celoten proces obdelave in vizualizacije potrebujemo namestiti naslednjo odprtokodno programsko opremo:
QGIS - Eden vodilnih in najbolj razvitih odprtokodnih GIS programov. Poleg veliko funkcij za izdelavo kart in prostorskih funkcij ponuja tudi velik nabor vtičnikov in jezikov, tudi slovenščino. Je v uporabnosti in zmogljivosti ob strani plačljivemu ArcGIS-u. Pri pisanju navodil sem uporabljal različico 2.18.15. Na voljo je že različica 3.2 vendar je ne uporabljam v teh navodilih ker nima še v celoti podprtih nekaterih vtičnikov, ki jih uporabljam. V kolikor je prišlo do kakšnih razlik v postopku, bom dopisal še za novejšo različico.
LAStools - Zbirka orodji za obdelavo podatkov iz oblakov točk. Optimiziran za celostno obdelavo LiDAR podatkov. Nekaj orodji v zbirki je na voljo brezplačno in te bomo tudi uporabili.
FUSION - Odprtokodni program s celostnim naborom algoritmov za obdelavo podatkov iz oblakov točk. Razvija se v glavnem za uporabo v gozdarstvu.
SAGA - GIS program, ki je namenjen predvsem rastrskim in vektorskim analizam. Vsebuje velik nabor GIS orodij in je v stalnem razvoju.
RVT - Glavno orodje za izdelovanje različnih vizualizacij digitalnega modela reliefa (DMR).
4. Vir podatkov lidarskega snemanja
Za območje Slovenije so podatki lidarskega snemanja dosegljivi na ARSO eVode portalu. Tam lahko prenesete podatke v različnih stopnjah obdelave podatkov, formatih in koordinatnih sistemih. Nasplošno so podatki in raznovrstnost podatkov, ki so na voljo zelo prijazni uporabnikom.
4.1. Koordinatni sistemi
Lidarske podatke imamo na voljo v dveh koordinatnih sistemih (CRS): D48GK in D96TM. V D48GK koordinatnem sistemu je zapisanih večina dosegljivih katasterskih in vektorskih podatkov, ki jih upravlja GURS. D96TM pa je nov in posodobljen koordinatni sistem v katerem, bodo v naslednjih letih zapisani vsi državni GIS podatki. Če imate od GURS-a podatke, ki ste jih pridobili v preteklih letih priporočam uporabo D48GK. Jaz uporabljam to predvsem iz estetskih razlogov, ker so robovi lepo ravni, ter je bolj pregledno, da uporabljamo čimbolj skladne koordinatne sisteme – manj prostora za napake. QGIS podpira on-the-fly transforamcijo CRS in tako lahko znotraj projekta lahko uporabite tudi D96TM brez težav.
Za vse, ki vas zanimajo še dodatne inforamcije glede CRS:
Zbirka prostorskih podatkov:Drzavni koordinatni sistem
4.2. Formati lidarskega zapisa
Na portalu imamo na voljo za prenos dva različna formata.
zLAS je format iz strani podjetja ESRI. Podprt je v ArcGIS programu. Ker ne gre za odprtokodno programsko okolje in format, ga ne bomo uporabljali.
LAZ je odprtokodni format, ki je podprt iz strani večine odprtkodonih oziroma podpirajo njegovo nestisnjeno različico formata z imenom LAS. Uporabili bomo LAZ format.
Več informacij o tem, kaj je LAZ/LAS format in kaj vsebuje format: LAS format
Nekaj dodatnega branja o »bitki« med zLAS in LAS/LAZ formatoma: zLAS vs. LAS/LAZ
4.3. Stopnja obdelave podatkov
Na voljo imamo tri različne stopnje stopnje obdelave:
5. Od oblaka točk lidarskega snemanja do oblaka točk površja
Na tem mestu moramo imeti nameščeno vso programsko opremo, ki sem jo navedel zgoraj. Na začetku moramo nastaviti nekaj stvari, da bo delo v nadaljevanju lažje. Da bomo lahko poganjali LAS in FUSION orodja iz Ukazniega poziva (Cmd), moramo nastaviti pot do programov. Odpremo Nadzorno ploščo (Control panel) in poiščemo Urejanje spremenljivk sistemskega okolja (Edit the system environment variables) ter kliknemo na Sistemske spremenljivke (Environment variables). V oknu Sistemske spremenjlivke (System variables) najdemo Spremenljivko (Variable) PATH, jo označimo in kliknemo Uredi (Edit). Na koncu že vnešenih poti do map v polju Variable value prilepimo »C:\lastools\bin;C:\FUSION;«. Tukaj sta mapi, kjer imam nameščena oba programa. Če imate mape z programio nameščene drugje uredite pot temu primerno. Da preverimo ali deluje odprite Ukazni poziv (Cmd) in vtipkajte laszip.exe. Če vam odpre LAStools grafični vmesnik ste vse pravilno nastavili. Če ne deluje še enkrat preverite ali ste prav napisali pot do namestitvenih map.
Znotraj QGIS programa moramo v njegovi Orodjarni paketnih obdelav nastaviti in omogočiti, da bodo LAStools in FUSION orodja delovala znotraj QGIS-a.
V programu QGIS odpremo meni Processing – Možnosti. Znotraj Možnosti pod rubriko Ponudniki najdemo Tools for LiDAR data in tam omogočimo obe orodji (FUSION in LAStools), tako da vstavimo pot do mape, kjer smo jih namestili. Če nam, ko nastavimo mape za oba orodja, javi da manjka msys (wrong value), nastavimo pod rubriko Ponudniki – GRASS commands vrstica Msys folder tako kot kaže slika spodaj.
Obe nastavitvi, ki smo jih nastavili v v začetku poglavja 5 sta potrebni samo, ko nameščamo programe prvič.
Sedaj lahko začnemo delati z datotekami *.LAZ formata, ki smo jo prenesli iz portala eVode. V tem koraku bomo iz celotnega oblaka točk izbrali samo tiste, ki tvorijo površje. Najprej moramo pretvoriti LAZ datoteko v nestisnjen format LAS, ki ga podpirata programa FUSION in SAGA.
To storimo z orodjem laszip.exe, ki ga lahko poženemo na več načinov. Lahko ki ga odpremo direktno v mapi kjer smo ga namestili (npr. C:LAStools\bin, tukaj sem ga namestil jaz). Lahko ga poženemo tudi iz Ukaznega poziva (Cmd) ali pa znotraj QGISa. Preko ukaznega poziva (Cmd): odpremo (Cmd) in gremo v mapo, kjer imamo datoteke *****.LAZ, s katerimi bomo delali. Vtipkamo laszip.exe in odprl se nam bo Lastools grafični umesnik. Če želimo delati brez grafičnega vmesnika je ukaz laszip *****.LAZ Če želimo dekompresirati več datotek naenkrat ustvarimo *.txt datoteko s seznamom datotek LAZ. Ukaz v CMD je laszip -lof file_list.txt. LAS datoteke se bodo nahajale v mapi, kjer imamo LAZ datoteke.
Za delo v grafičnem vmesniku v QGISu moramo v Orodjarni paketnih obdelav poiskati laszip in ga zagnati s klikom. Ko se nam odpre QGIS grafični vmesnik orodja v input LAS/LAZ file polje vnesemo željeno datoteko in obkljukamo polje open LAStools GUI ter kliknemo Run, da nam odpre grafični vmesnik. V odprtem grafičnem vmesniku odpremo LAZ datoteko in jo z klikom na decommpress pretvorimo v LAS format. Ta nestisnjena datoteka v LAS formatu se nahaja v isti mapi kot LAZ format. Grafični vmesnik vseh LAStools je enak. Na sliki laszip.exe.
Ker so lidarski podatki za območje Slovenije LAZ/LAS že klasificirani, bi lahko uporabili samo ground točke (klasificirane točke tal) za izdelavo digitalnega modela reliefa (DMR oz. v ang. DTM). A kaj ko s tem ponavadi izgubimo nekaj informacij, ki so za nas potencialno zanimive (detajle suhih zidov, kamnitih grobelj), kljub morebitnemu večjemu šumu.
Da dobimo oblak točk, ki nam predstavlja tla, moramo zagnati GroundFilter orodje iz nabora programa FUSION. Tega najdemo v QGIS-u na desni strani v Orodjarni paketnih obdelav. Ko odpremo GroundFilter okno, vnesemo *.LAS datoteko, ki smo jo ustvarili v prejšnjem koraku in pod Output LAS imenujemo datoteko kjer bodo zapisane točke tal. Pomembno je, da v polje Additional modifiers vnesemo /class:0,2,6 in da v polje Cellsize for intermediate surfaces vtipkamo 1, s tem določimo velikost mreže na 1x1m. Tako dobimo oblak točk, ki definira površje.
Klasificiran oblak točk v LAS/LAZ formatu vsebuje različne razrede točk, ki definirajo kaj predstavljajo posamezne točke, ki je narejena z avtomatsko klasifikacijo (interpretacijo) točk.
Vseh razredov je 13, jaz pa ponavadi uporabim za izdelavo razrede 0 (točke, ki jih algoritem ni poizkusil klasificirati), 2 (točke klasificirane kot tla) in razred 6 (točke klasificirane kot zgradbe). Uporabe drugih razredov ne priporočam, saj predstavljajo točke, ki skoraj 100% ne predstavljajo tla. Mogoče poskusimo z razredom 1, ki predstavlja neklasificirane točke, vendar po mojih izkušnjah prinese večinoma samo več šuma in ne izboljša končnega rezultata pri izdelavi DMRja. Te nastavitve razredov uporabljam samo za slovenski lidar, pri drugih naredim ponavadi najprej preizkus in potem iščem optimalno izbiro.
Več o programu FUSION in klasificiranih razredih točk v LAS formatu najdete v navodilih, ki jih najdete na tejpovezavi.
6. In naprej do rastra in 2D vizualizacije
Za nadaljevanje bomo uporabljali program SAGA. V programu SAGA na levi strani v toolbox meniju odpremo Import/Export – LAS – Import LAS files in uvozimo zgoraj izdelano LAS datoteko. Ko uvozimo datoteko, poiščemo v levem meniju pod Shapes – Point Clouds – orodje Point Cloud to Grid. Tukaj je edino pomembno, da v polje cellsize vnesemo vrednost 0.5 (To pomeni, da nastavimo resolucijo rastra na 0,5m x 0,5m). Ko orodje dokonča delo dobimo zapis podatkov v rastrski obliki (mreža).
Sedaj moramo zapolniti prazne prostore med točkami – to se imenuje postopek interpolacije. V levem meniju izberemo Grid – Gridding – orodje Inverse Distance Weighted. V tem orodju so pomembne tri nastavitve. V Attribute mora biti vrednost Z, pod Target Grid System mora biti grid or grid system in pod Target Grid izberite »create«, da se ustvari nov raster.
Sam najraje uporabljam zgoraj omenjeno interpolacijo ali pa orodje, ki ga najdemo pod Grid - Tools - CloseGaps. V to orodje enostavno vnesemo mrežo, ki smo jo naredili v prejšnjem koraku, ko smo oblak točk prenesli na mrežo. Plus tega orodja je, da hitreje opravi delo kot IDW, minus pa da kdaj CloseGaps preveč zgladi površje. Malo probajte z obema in preverite končne rezultate.
Če vas kaj več zanima o interpolaciji in bi rabi preverili v kakšnem okolju je primerno uporabljati določen tip interpolacije si preberite članek o tipih interpolacije, ki ga najdete na tej povezavi.
Ko proces zaključi delo imamo narejen DMR raster.
Za izdelavo vizualizacij moramo raster še izvoziti v berljivi obliki – GeoTIFF formatu. V levem meniju odpremo Import/Export – GDAL/OGR – orodje Export GeoTIFF. Tam pod Grid izberemo raster, ki smo ga nazadnje ustvarili. V tem primeru vsebuje ime besede Inverse Distance Weighted. S tem smo zaključili delo v SAGA programu in izdelali željeni DMR.
Kar nam še preostane je narediti vizualizacije DMR. To naredimo v programu RVT kjer imamo na voljo skoraj vse za arheologijo uporabne metode vizualizacije. O različnih metodah vizualizacije in nastavitvah programa RVT si preberite v teh navodilih. Več o uporabi vizualizacij si lahko preberete v članku na tej povezavi.
V RVT programu vizualizacije bodo v *.tif formatu. Vedno se kreirata dve datoteki. Tista, ki ima v imenu 8bit je namenjena predvsem uporabi v Microsoft ogledovalniku slik ali pa kakšnem drugem programu (GIMP, Photoshop, IrfanView).
Narejene vizualizacije nato uvozimo preko Add Raster funkcije v QGIS. Kar moramo vedeti je kateri koordinatni sistem naj uporabljamo, kar vas bo najprej vprašal program. Tukaj izberemo MGI 1901/Slovene National Grid; EPSG:3912, če smo uporabili in prenesli datoteke v D48GK koordinatnem sistemu. Koordinatni sistem Slovenia 1996/Slovenian national grid EPSG:3794 pa uporabimo, če smo prenesli datoteke v D96TM koordinatnem sistemu. V QGISu se lahko nato lotimo dela na interpretaciji ali pa jih uporabimo za izdelavo kart in 3D modelov. To pa bo tema naslednjih navodil, ki jih bom napisal v bližnji prihodnosti.
Obsežna navodila in nasveti za QGIS - link. In Google najde marsikaj!
7. Zaključek
Ta navodila niso izklesana v kamen in verjetno kdo pozna še lažjo ali pa boljšo pot. Sam redno spremljam novosti na GIS odprtokodnem prostoru in preizkušam nove stvari. Prihajajo nove rešitve in vedno se kaj spremeni. Navodila na spletni strani bom posodabljal in dopolnjeval. Pripomb, mnenj in novih rešitev sem vesel.
Hkrati pa vas spodbudim, da pogledate še onkraj meja Slovenije in preko LiDAR podatkov drugih držav preizkusite svoje znanje.
8. Nekaj o avtorju
Moje ime je Jošt Hobič, po poklicu arheolog. Veliko časa sem preživel na raznih arheoloških izkopavanjih po Sloveniji. Za eno leto sem šel tudi izkopavat v Anglijo (odlična izkušnja). Dejaven sem kot prostovoljec v lokalnem okolju pri ozaveščanju soobčanov in sokrajanov o arheologiji in kulturni dediščini. Trenutno sem zaposlen na Ministrstvu za kulturo RS.
To kar najrajše delam je raziskovanje pokrajine. In preko tega sem se srečal z LiDAR in GIS okoljem. Priznam, da nisem iz časa študija odnesel veliko znanja o tej temi (GIS). Tako, da sem se moral vse naučiti sam (še vedno se učim). To znanje in rezultate delim na različnih spletnih medijih (glej spodaj).
Dejaven sem na Twitterju in večinoma objavljam lidarske vizualizacije pod ključnikom (hashtagom) #FridayLiDAR in v zadnjem času tudi pod ključnikom #HillfortsWednesday
.3D modele narejene iz LiDAR podatkov objavljam na platformi Sketchfab. Ogledate si jih lahko tukaj.
Na svojem blogu objavljam v zelo nerednih intervalih članke o arheoloških najdiščih v Sloveniji in o LiDARju. Moje enoletno bivanje v UK je prekinilo proces pisanja...mogoče pa zopet začnem pisati kaj kmalu. Redno pa vzdržujem seznam prosto dostopnih lidarskih podatkov in podatkov DMR iz celega sveta, ki ga najdete na tej povezavi.
9. Literatura