160 likes | 294 Views
Operativni sestanek partnerjev v projektu L2-3650. Namen sestanka. Kako dostopati do projekta prek SVN? Kaj so LASFile , LASReader , LASWriter in LASManager ? Kako vključiti podatke LiDAR v samostojen projekt? Kako dodati funkcionalnosti v LASReader / Writer ?
E N D
Namen sestanka • Kako dostopati do projekta prek SVN? • Kaj so LASFile, LASReader, LASWriter in LASManager? • Kako vključiti podatke LiDAR v samostojen projekt? • Kako dodati funkcionalnosti v LASReader/Writer? • Kako dosegati podatke hitro? • Kako spremeniti barvo (ali katerikoli parameter) točk in to prikazati? • Kako vizualizirati trikotniške modele? • Identifikacija morebitnih pomanjkljivosti! • Osnovanje rešitev!
Namen sestanka 7. Kako prikazati trikotniške modele? 6. Kako prikazati kaj smo naredili? 1. Kako do kode? 2. Kaj sploh je to? 5. Kako razširiti funkcionalnosti? 3. Kako vključiti podatke LiDAR v nov projekt? 4. Kako dostopati hitro?
SVN • Strežnik: • svn://gemma13.uni-mb.si/lidar • Uporabniško ime in geslo dosegljivo na mailu: • denis.obrul@uni-mb.si
Shema dosega podatkov • Predstavlja datoteko • Vsebuje: Header, VLR in Points • Sam sebe prebre in sam sebe shraniti • Točke imamo v m_Points ali na disku • Vodi seznam vseh naloženih datotek • Datoteke so javno dostopne • Hitro ustvarjanje in brisanje podatkov za vizualizacijo • Listanje datotek v LCMP • Uporaba ni zahtevana • Knjižnice za podporo dosegu podatkov
Vključevanje podatkov LiDAR v samostojen projekt • Ustvarimo nov projekt • Dodamo gumb “Load LAS File” • Dodamo filter “LASFile” in v projekt vključimo datoteke: • LASManager.h/.cpp • LASFile.h/.cpp • CLasException.h/.cpp • LASReader.h • LASWriter.h • LASHeader.cpp • LASPoint.cpp • LASVarLenRecords.cpp • Utils.h
Branje iz datoteke • C++ sourcecode: • .H file: #include "LASTools\LASManager.h" • .CPP: CLASFilelFile; CFileDialogoF(true,NULL,NULL,OFN_CREATEPROMPT," LAS File (*.las) |*.las||",GetSafeOwner()); if( oF.DoModal() == IDOK) { lFile.ReadFile(oF.GetPathName().GetBuffer()); }
Pisanje v datoteko LAS • .CPP: CFileDialogoF(false,NULL,NULL,OFN_OVERWRITEPROMPT,"LAS File (*.LAS)|*.LAS||",this->GetSafeOwner()); if( oF.DoModal() == IDOK) { lFile.WriteFile(oF.GetPathName().GetBuffer().GetBuffer()); }
Spremljanje napredka • Progresscontrol: • Podamo referenco na progresscontrol • Integernumber: • Podamo referenco na int • Branje ali pisanje izvedemo v niti • Vrednost int sprotno preverjamo • Vsak v svojem modulu poskrbi za svoj “splashscreen”, ki omogoča spremljanje napredka • Izdelamo primer, ki ga uporabljamo vsi?
Razširitev funkcionalnosti LASReader/Writer • Trenutno stanje: • lasFile.ReadFile(“C:\Test.LAS”); • lasManager.ListFiles(“C:\Test.LCMP”, char** fileList); lasFile.ReadFile(“C:\Test.LCMP”,”file.las”); • Končno stanje: • lasFile.ReadFile(“device”, ”PORT: 2266”, “test.lcmp”, ”datoteka.las”); • lasFile.ReadFile(“192.168.1.1”, ”Test.LAS”, ”uporabnik”, ”geslo”); • lasFile.ReadFile(“192.168.1.1”, ”Test.LAS”, ”uporabnik”, ”geslo”, PROGRESSIVE);
Razširitev funkcionalnosti LASReader/Writer • Potrebne datoteke prenesemo v svojo mapo! • V projektu naredimo filter in uvozimo zahtevane datoteke • V CLASManager.hvključimo zahtevano datoteko • #include “zahtevana_datoteka.h” • V CLASFile dodamo metodi: • ReadFile(parameters list); • WriteFile(parameters list); • Po potrebi dodamo v LASManager metodo: • ListFiles(parameters list);
Hiter doseg neomejene količine podatkov Trenutno stanje: Cilji: Naložimo neomejeno količino podatkov in se lahko sprehodimo skozi vse točke: for(int i=0; i<∞;i++) m_Points[i]->SetClassification(c); Brisanje točk Nad točkami izvedemo range query: m_Points[i]=lasFile.Select( minX,minY, maxX,maxY); Operator overloading • Tip: LASPoint** m_Points; • Doseg: m_Points[i]->GetX(); Point 1 Point 2 Point n m_Points
Razširitve funkcionalnosti s samostojnimi moduli • Potrebne datoteke prenesemo v svojo mapo • Ustvarimo filter in vključimo ustrezne datoteke v projekt • V datoteko LASAView.h vključimo zahtevano datoteko • V GUI dodamo novo izbiro • Kot parameter v klicano metodo podamo LASFile!!! • Ko podatke obdelamo, jih lahko prikažemo
Vizualizacija • Lokalna kopija datoteke LAS • Z operacijami Set spreminjamo: • vizualizacijo in • podatke v lokalni kopiji datoteke.
Dokumentiranje • Industrijski standard? • DoxyGen • Kako testirati?
Zaključek Rešitve za skupne točke: V domeni posameznikov ostaja: Izvedbe posameznih modulov Izvedba spletnega servisa Izvedba spletne vizualizacije Izvedba modulov za merjenje učinkovitosti Izvedba lokalne vizualizacije za trikotniške modele • Vključevanje obstoječih rešitev v nov projekt • Uporaba pri izvedbi spletnega servisa in spletne vizualizacije • Razširjanje dosega podatkov: • Stisnjene datoteke (izgubno in strojno podprto) • Spletni servisi • Progresivni prenos • Lokalna vizualizacija • Dokumentiranje in testiranje