V1.4 POINTCLOUDS
POINTCLOUDS p. 2 Inhoud 1. Bestandsformaten... 4 1.1. ASCII-formaat... 4 1.1.1. Voorbeeld: PTS-bestand... 4 1.1.2. Voorbeeld: TXT-bestand... 5 1.2. LAS/LAZ... 6 1.2.1. Voorbeeld: Lidar-data Vlaanderen... 6 2. 2D venster... 9 2.1. Weergave... 9 2.2. Aangrijpen... 9 2.3. Kenmerken... 9 2.4. Classificatie... 10 2.4.1. DHMV... 10 2.4.2. Eigen classificatie van grondpunten... 10 2.4.3. DTM creeren... 12 2.5. Bewerken... 12 2.5.1. Tekenfuncties... 12 2.5.2. Op basis van een polygoon... 13 3. 3D Venster... 15 3.1. Openen... 15 3.2. Algemeen... 15 3.2.1. Assen... 15 3.2.2. Tekentools... 15 3.2.3. De camera... 16 3.2.4. Eigen camerastandpunten... 16 3.2.5. Wandelen... 16 3.2.6. Snedes... 16 3.2.7. Section box... 17 3.2.8. Snappen... 17 3.2.9. Verticale lijnen... 17 3.2.10. Tab... 17 4. Vectorisatie... 18 4.1. Vectoriseer snede... 18 4.1.1. Werkwijze met snedes... 18
POINTCLOUDS p. 3 4.2. Vectoriseer vlak... 19 4.2.1. Werkwijze - met een section box... 19 4.2.2. Vectoriseer 3D lijnen... 20 4.3. Clipping: wegknippen... 22 4.4. Manuele vectorisatie... 22 4.5. Vectoriseren orthofoto en een pointcloud combineren: een 3D as-build... 23 5. Allerlei... 25 5.1. QT Reader... 25
POINTCLOUDS p. 4 1. BESTANDSFORMATEN 1.1. ASCII-FORMAAT Puntenwolk-bestanden in het ASCII-formaat hebben doorgaans de extensie.txt of.pts. Het is een simpel tekstbestand dat je dus kan openen in Kladblok, Notepad++ of gelijkaardige programma s. Het ASCII formaat wordt meestal enkel gebruikt voor kleine puntenwolken. Het ASCII-formaat neemt namelijk voor een gelijkaardige hoeveelheid data een veel grotere hoeveelheid schijfruimte in. Indien het ASCII-bestand in de grootte-orde van enkele gigabytes is, kan het niet geopend worden in de standaard teksteditors zoals Kladblok of Notepad++, omdat deze programma s het RAM geheugen niet goed managen voor grote bestanden. Een programma dat dat beter doet, is gvim. Het is te downloaden op: https://vim.sourceforge.io/. 1.1.1. VOORBEELD: PTS-BESTAND Bestanden met extensie PTS hebben een vast formaat: X-coördinaat, Y- coördinaat, Z- coördinaat, intensiteit, Rood-waarde, Groen-waarde, Blauw-waarde. Pointcloud_Stockpile_Diegem.pts In Kladblok: Dubbelklik op Pointcloud_Stockpile_Diegem.pts. Indien het nog niet automatisch in Kladblok wordt geopend, vertel dan tegen Windows om dat vanaf nu wel te doen. Het bestand bestaat uit 7 kolommen: X-coördinaat, Y- coördinaat, Z- coördinaat, intensiteit, Rood-waarde, Groen-waarde, Blauw-waarde, gescheiden door een spatie. RGB-kleurensysteem Het RGB-kleursysteem is een kleurcodering, een manier om een kleur uit te drukken met behulp van een combinatie van de drie primaire kleuren Rood-Groen-Blauw, uitgaande van additieve kleurmenging. De hoeveelheid van elke primaire kleur die benodigd is om de mengkleur te verkrijgen, wordt uitgedrukt in een getal kan variëren tussen 0 en 255. (bron: Wikipedia). Voorbeeld: RGB(0,0,0) = zwart - RGB(255,0,0)= rood - RGB(0,255,0) = groen - RGB(0,0,255) = blauw RGB(255,255,255) = wit
POINTCLOUDS p. 5 In Pythagoras: Ga naar Bestand Importeer Puntenwolk Selecteer het bestand Pointcloud_Stockpile_Diegem.pts Omdat het PTS-formaat een vast formaat is, detecteert Pythagoras correct de opbouw van het bestand: Kies OK. Vervolgens wordt gevraagd om de locatie van het PPC-bestand. Het PPC-bestand is een bestand dat extern wordt opgeslagen. Het moet dus apart meegestuurd worden als de tekening wordt meegestuurd. Het Pythagoras Point Cloud-formaat bevat alle originele punten. De punten worden verliesloos gecomprimeerd en op zo n manier gesorteerd dat weergeven en bewerken met de Point Cloud zo optimaal mogelijk verloopt. 1.1.2. VOORBEELD: TXT-BESTAND Deze bestanden kunnen buiten X-Y-Z-R-G-B ook nog andere info bevatten. herzele-stuk.txt In Kladblok: De eerste regel is een hoofding
POINTCLOUDS p. 6 Het scheidingsteken tussen kolommen is de tab De X, Y en Z-coördinaten bevinden zich in de 3 de, 4 de en 5 de kolom. De RGB-waardes bevinden zich in de 6 de, 7 de en 8 ste kolom. De 1 ste en 2 de kolom lijken bijkomstige scandata. We kunnen dit niet bij importeren in Pythagoras. In Pythagoras: Ga naar Bestand Importeren puntenwolk en selecteer het bestand herzele-stuk.txt. Maak volgende instellingen: Volgende parameters kunnen aangepast worden: Decimaal scheidingsteken: of het kommagetal met een komma of een punt wordt aangeduid. Veld scheidingsteken: het scheidingsteken tussen de kolommen. Aantal hoofdlijnen: de eerste regel(s) kunnen andere data bevatten. Hier moet aangegeven worden hoeveel andere regels er zijn. Inkleuring door RGB, Intensiteit of Hoogte: Standaard bevat een pointcloud-bestand wel kleurinformatie. De uiteindelijke punten moeten dan uiteraard die kleur krijgen. Soms is er geen kleur opgemeten, maar enkel een intensiteit. Als er geen kleur aanwezig is in het bestand, kan de inkleuring ook nog gebeuren op basis van de hoogte. 1.2. LAS/LAZ LAS en LAZ is de industriestandaard wat betreft puntenwolken. De LAS/LAZ datasets bevatten naast de coördinaten van de punten, ook eventuele extra data zoals de kleur, tijdstip, intensiteit, en info over de laserscan. Het is een binair formaat. 1.2.1. VOORBEELD: LIDAR-DATA VLAANDEREN LiDAR_DHMV_2_P5_ATL12532_FU_20140223_32083_2_173000_173500.LAZ
POINTCLOUDS p. 7 Via Informatie Vlaanderen kunnen LAZ-files verkrijgen worden van gans Vlaanderen. Het is de brondata die met LIDAR verkregen is. Die LIDAR-data is voor de aanmaak van het Digitaal Hoogtemodel Vlaanderen (DHMV) gebruikt. Sinds kort is deze publiek beschikbaar gesteld. LIDAR = LIght Detection And Ranging of Laser Imaging Detection And Ranging is een technologie die de afstand tot een object of oppervlak bepaalt door middel van het gebruik van laserpulsen. De techniek is vergelijkbaar met radar, dat echter radiogolven gebruikt in plaats van licht.(bron: Wikipedia) In een browser: Surf naar https://remotesensing.agiv.be/opendata/lidar/. Maak een account aan (gratis). Na inloggen, gebruik de Zoeken naar locatie om te zoeken op adres, of zoom naar de gewenste locatie. Kies onder Data download voor Lidar DHMV II LAZ tiles : De puntenwolken-bestanden zijn ingedeeld in vele kleine zones, waarbij er soms overlappingen zijn. De omlijningen duiden die zones aan. Klik op zo n zone. Er verschijnt een pop-up-venster, met een oplijsting van de beschikbare puntenwolken op de gekozen plaats, omdat de puntenwolken soms overlappen. Indien dit pop-up-venster niet verschijnt, probeer dan een andere browser. Soms worden pop-ups tegengehouden door bepaalde beveiligingsinstellingen in de browser.
POINTCLOUDS p. 8 Ook interessant is informatie-sheet: https://remotesensing.agiv.be/opendata/lidar/lidaropendata.pdf In Pythagoras: Ga naar Bestand Importeer Puntenwolken.
POINTCLOUDS p. 9 2. 2D VENSTER LiDAR_DHMV_2_P5_ATL12532_FU_20140223_32083_2_173000_173500.laz 2.1. WEERGAVE De zichtbaarheid puntenwolk veranderen doe je via de werkbalk Actieve instellingen : 2.2. AANGRIJPEN In de werkbalk Selectie zet je het aangrijpen op de Puntenwolken aan en uit: 2.3. KENMERKEN Druk dan met de rechtermuisknop op de puntenwolk. Kies kenmerken. Volgende dingen kunnen bekeken of aangepast worden: De naam van de pointcloud Bestandslocatie van het PPC-bestand Aantal punten Zichtbaarheid
POINTCLOUDS p. 10 Inkleuring op basis van: Puntkleur: dit is de RGB-waarde van het originele bestand Intensiteit: dit de intensiteit-waarde van het originele bestand Hoogte: De inkleuring wordt dan automatisch gedaan op basis van de hoogte, van laag (blauw) naar hoog (rood) Classificatie: 2.4. CLASSIFICATIE Het LAS of LAZ-formaat voor pointclouds kan classificatie-informatie van punten bevatten: of een punt een punt op de grond is, of vegetatie, water, of een gebouw. Die classificatie-informatie wordt ook geïmporteerd in Pythagoras, en inkleuring en bewerkingen op basis van die classificatie is ook mogelijk. Pythagoras kan automatisch de grondpunten filteren uit een puntenwolk. In de toekomst willen we ook algoritmes implementeren die gebouwen, water, en vegatatie eruit filteren. 2.4.1. DHMV In de LAZ-bestanden van het DHMV zit er reeds een classificatie in van de punten: 1 = unclassified (alles behalve grondpunten en waterpunten) 2 = ground 9 = water Er is dus al reeds een filtering gebeurt. 2.4.2. EIGEN CLASSIFICATIE VAN GRONDPUNTEN Classification.ppc Importeer de puntenwolk, rechterklik op de puntenwolk en kies classificeer grond.
POINTCLOUDS p. 11 Hoe het werkt Een eerste groffe DTM van de laagste punten van de pointcloud wordt berekend. Dan wordt ieder punt van de puntenwolk vergeleken met deze groffe DTM: is het verschil in hoogte kleiner dan een bepaalde factor, dan wordt het geclassificeerd als zijnde een grondpunt. Als het verschil in grootte hoger is dan een bepaalde factor, dan wordt het niet als grondpunt geclassificeerd. Door deze methode wordt rekening gehouden met hoogteverschillen in het terrein. Indien er reeds een classificatie van grondpunten aanwezig was in de pointcloud, dan wordt die met deze functie gewijzigd en overschreven. De andere classificaties worden niet veranderd. Gebruik Bij kenmerken, zet de Niet toegewezen kleuren op Ongedefinieerd. Ongedefinieerd wilt zeggen onzichtbaar. In de kolom Aantal staan de aantal punten per klasse opgelijst. Aangezien er enkel punten van de klasses niet toegewezen, en grond aanwezig zijn, hoeven we enkel met die klasses rekening te houden. Het resultaat:
POINTCLOUDS p. 12 2.4.3. DTM CREEREN Ga naar DTM Nieuw terreinmodel. Als je dan een DTM creëert op basis van de puntenwolk, zal het enkel de zichtbare punten bevatten, in dit geval dus enkel de grondpunten. Bij reductie kan je kiezen om niet alle punten van de puntenwolk te gebruiken, maar slechts een bepaald aantal per m 2. In de achterliggende berekening bij de reductie wordt er een grid gelegd over de DTM, met de door jouw ingevulde grootte. 1 punt/m2 geeft een grid van 1m 2. 2 punten / m2 geeft een grid van 0.5m 2, enzoverder. Per gridveld wordt het laagste punt genomen. We gaan uit van een pointcloud-scan van bovenaf, en je wilt dan graag de grond hebben i.p.v een punt midden in een boom of gebouw. Je hebt nu een goed terreinmodel gebaseerd op de grondpunten. 2.5. BEWERKEN 2.5.1. TEKENFUNCTIES In het 2D-venster zijn volgende tools beschikbaar voor het bewerken van puntenwolken:
POINTCLOUDS p. 13 Indien er een zwart driehoekje in de rechterbenedenhoek van de tool staat, klik en houd de linkermuisknop een seconde ingedrukt, en er verschijnt een lijst met extra mogelijkheden. Knip puntenwolk weg binnen gebied: duid een rechthoekig gebied aan, alle puntenwolk-punten binnen het aangeduide gebied worden gewist. Knip puntenwolk weg buiten gebied: duid een rechthoekig gebied aan, alle puntenwolk-punten buiten dat gebied worden gewist Lasso: wis in puntenwolk: de punten binnen het ge-lasso-de gebied worden gewist. Zandhandel Lummen.ppc Importeer de puntenwolk. Kies de tool Lassa: wis in puntenwolk en wis zo de transportban. Een venster verschijnt, om een.pco-bestand weg te schrijven. Sla het in dezelfde map op als het.ppcbestand. Dit PCO bestand is het pointcloud-operations bestand. Het staat los van het PPC-bestand. De PPC zelf wordt zo niet gewijzigd. In die PCO staan de wijzigingen die aangebracht zijn aan de PPC. Je kan op deze manier in veel tekeningen starten van dezelfde PPC, en verschillende resultaten verkrijgen door verschillende operaties. Wil je dat de wijzigingen die je hebt aangebracht, toch worden veranderd in de PPC, rechterklik dan op de puntenwolk en kies voor Bewaar alles. 2.5.2. OP BASIS VAN EEN POLYGOON Teken een polygoon romdon rond de auto: Zorg dat aangrijpen op puntenwolken aan staat bij aangrijpen info Selecteer de Teken polygoon -tool: Zoom voldoende in op de auto. Klik 1 voor 1 om een contour te trekken rond de auto. Selecteer de polygoon en ga naar Bewerken Knip weg Binnen Puntenwolken Het resultaat:
POINTCLOUDS p. 14 Ongedaan maken (ctrl+z) en opnieuw doen (ctrl + Y) werken ook voor bewerkingen op puntenwolken:
POINTCLOUDS p. 15 3. 3D VENSTER 3.1. OPENEN Rechterklik op de puntenwolk en kies Openen in 3D venster. Of: Rechterklik op de document tab en kies Open document in 3D venster : Klik vervolgens op de orbit-tool bij de tekentools om het 3D model te roteren. 3.2. ALGEMEEN Het 2D venster en het 3D venster worden ten allen tijde gesynchroniseerd. Wijzigingen in het ene venster zijn meteen zichtbaar in het andere. 3.2.1. ASSEN Klik op het - icoon in het 3D controlepaneel om de XYZ-assen te visualiseren. Rood X-as Groen Y-as Blauw Z-as Bij het tekenen van lijnen kan de CTRL-toets ingedrukt worden, om evenwijdig te blijven met één van de assen. De lijn wordt in een rode, groene of blauwe kleur getoond, om aan te duiden aan welke as je evenwijdig zit. 3.2.2. TEKENTOOLS Volgende 3D tekentools zijn beschikbaar in het 3D-venster: Creëer punt Creëer lijn Parallelle lijn Loodrechte lijn Knip object Verdeel object Verleng lijn Verbind/verkort
POINTCLOUDS p. 16 3.2.3. DE CAMERA Bij het starten van het 3D venster, wordt het plan eerst in grondplan getoond. Via manipulatie met linker- en rechtermuisknoppen en de pijltjestoetsen kan je het camerazicht aanpassen., de Als de selectietool het 2D venster. actief staat, kan je inzoomen en pannen op een gelijkaardige manier als in Als de orbittool actief staat: Klikken en slepen met de linkermuisknop roteert de tekening. Klikken en slepen met de rechtermuisknop wijzigt de hoek van de camera, alsof je op dezelfde plaats zou blijven staan, maar enkel je hoofd zou draaien in een andere richting. Gebruik de pijltjestoetsen op je toetsenbord om rond te wandelen in de tekening. 3.2.4. EIGEN CAMERASTANDPUNTEN Om een eigen camerastandpunt op te slaan in de tekening, kies je. Deze kunnen dan steeds opgeroepen worden via de lijst. Indien actief, worden snedes en/of sectionboxes ook bewaard in de camera-standpunten. 3.2.5. WANDELEN Deze functie laat je toe om te wandelen doorheen de puntenwolk op ooghoogte. Klik op een grondpunt in de puntenwolk. Je kan vervolgens een hoogte ingeven in het controlepaneel. De camera wordt vervolgens verplaatst naar die hoogte boven het aangeduide punt. Gebruik vervolgens de pijltjestoetsen, en de rechtermuisknop om doorheen de puntenwolk te wandelen. 3.2.6. SNEDES Het is mogelijk om snedes te bewaren. Dit is geïntegreerd in het camerabeheer. Bewaar een camerastandpunt om ook een snede te bewaren. Bij het creëren van de snede, vraagt het controlepaneel om de breedte aan te geven.
POINTCLOUDS p. 17 3.2.7. SECTION BOX Met deze tool kan je een kubus definiëren. Enkel de objecten binnenin de kubus worden getoond. De vlakken van de kubus zijn allemaal aanpasbaar. 3.2.8. SNAPPEN Het is nu ook mogelijk om te snappen naar ½, ¼, van een lijn in het 3D venster. 3.2.9. VERTICALE LIJNEN Het controlepaneel is beter aangepast voor verticale lijnen. 3.2.10. TAB Wanneer je met de cursor over lijnen, punten, of polygonen beweegt, zal het controlepaneel verschillende informatie tonen wanneer je ook nog eens op de TAB-toets drukt. Bijvoorbeeld voor lijnen zal het de 3Dlengte, 2D-lengte, dz, bearing en hellingspercentage tonen.
POINTCLOUDS p. 18 4. VECTORISATIE 4.1. VECTORISEER SNEDE 4.1.1. WERKWIJZE MET SNEDES TechRoom.ppc Importeer de pointcould via Bestand Importeer Pointcloud. Na import, rechterklik op de pointcloud en kies voor Open in 3D venster. Voeg een horizontale snede toe. Een snede bestaat uit 2 vlakken. De positie van deze 2 vlakken moet gedefinieerd worden. Positioneer de camera zo dat je van opzij op de structuur kijkt. Kies de tool. Klik één maal voor de positie van het eerste vlak. Klik een tweede keer voor de positie van het tweede vlak. Het Controlepaneel zal vervolgens zal vervolgens om de afstand D vragen, wat de afstand is tussen de twee vlakken. Je kan de positie van deze vlakken nu ook nog aanpassen, door te klikken in het vlak, en vervolgens te slepen met de muis. Je kan de gehele positie van de snede aanpassen door op de randlijnen (de streeppuntlijnen) van de snede te klikken, en dan te slepen. Na de correcte positionering van de snede, blijven de punten over die voor de vectorisatie zullen gebruikt worden. Ga naar Puntenwolk vectoriseer snede. Er zullen nu lijnen ingetekend worden. Indien je in de tussentijd kiest voor de orbit-tool, of de selectietool, druk dan terug op om de vlakken van de snede te visualiseren. Snede van een pointcloud: Resultaat:
POINTCLOUDS p. 19 Één van de twee vlakken van de snede is het dichtste bij de camera. De objecten die in dat vlak liggen, worden gebruikt om de vectorisatie op te berekenen. 4.2. VECTORISEER VLAK 4.2.1. WERKWIJZE - MET EEN SECTION BOX Vectorisation facade.ppc Importeer de puntenwolk en toon ze in het 3D venster. Voeg een section box toe. De bedoeling is om alle overbodige informatie eruit te halen. Kies de tool Teken een lijn doorheen de puntenwolk, en bevestig in het Controlepaneel. Gebruik om het camerastandpunt aan te passen, om dan terug met een vlak van de section box kan verslepen, om tot volgend resultaat te komen:
POINTCLOUDS p. 20 Verander het camera-standpunt, zodat je vooraan op de gevel kijkt, en kies dan voor het menuitem Puntenwolk Vectoriseer vlak. Het grootste vlak dat zich het dichtst bij de camera bevindt, wordt gebruikt om de vectorisatie op te berekenen. 4.2.2. VECTORISEER 3D LIJNEN Vectorisation 3D lines.ppc Werkwijze Importeer de puntenwolk en toon deze in het 3D venster.
POINTCLOUDS p. 21 We willen de electriciteitskabels vectoriseren. Daarom moeten we de rest van de puntenwolk opkuisen. Kies voor volgend camerastandpunt: Kies dan de tool om alles buiten de rechthoek weg te knippen: Pythagoras vraagt nu om een PCO-bestand weg te schrijven. In dit PCO-bestand worden de wijzigingen bijgehouden die gedaan worden aan de puntenwolk. Gebruik de tool om andere stukken van de puntenwolk weg te knippen: Ga dan naar Puntenwolk Vectoriseer 3D lijnen. De pointcloud: Het resultaat:
POINTCLOUDS p. 22 4.3. CLIPPING: WEGKNIPPEN Het is mogelijk om eender welk deel uit de pointcloud te verwijderen, door een goed camerastandpunt te kiezen. Zo kan je gemakkelijk je pointcloud opkuisen. 4.4. MANUELE VECTORISATIE Met de tekentools kan je tekenen in de puntenwolk en je puntenwolk zo handmatig vectoriseren, indien voorgaande automatische vectorisatie-tools niet volstaan. Velodyne.ppc Zet de standaardinstellingen als volgt: Een nieuwe laag aanmaken moet in het 2D-venster gebeuren. Gebruik een snede om enkel de electriciteitskabel over te hebben. Sla de snede op in een camerastandpunt: en noem het electriciteit.
POINTCLOUDS p. 23 Start de tekenfunctie creëer lijn, houd de SHIFT-toets ingedrukt, en begin de electriciteitskabels over te tekenen. Aangrijpen op een gewoon punt: de aangrijpcursor ziet er zo uit: Aangrijpen op een punt van de puntenwolk: de aangrijpcursor ziet er zo uit: Werk op een gelijkaardige manier voor de contouren van de gebouwen. 4.5. VECTORISEREN ORTHOFOTO EN EEN POINTCLOUD COMBINEREN: EEN 3D AS-BUILD 3D asbuilt.img 3D asbuilt.ppc Een orthofoto is dikwijls velen malen gedetailleerder dan een puntenwolk. Daarom kan je soms beter de orthofoto gebruiken voor het vectoriseren. Je kan dan daarna het resultaat van de vectorisatie op hoogte brengen via een functie van de Bonus Tools. Ga naar Bestand Importeer Beeld Verbinden met bestand en kies de afbeelding 3D asbuilt.img. Zet de puntstijl bij de Standaardinstellingen op onzichtbaar. Selecteer de afbeelding, rechterklik en kies Vectoriseer randen. Open een 2 de tekening, en importeer de pointcloud 3D asbuilt.ppc Maak een DTM van de pointcloud. De foto staat in een lokaal coördinatensysteem, de pointcloud staat in LB72. Teken in beide tekeningen minstens 3 gemeenschappelijke punten, zodat we een Helmert-transformatie kunnen uitvoeren. Deze punten moeten in beide tekeningen dezelfde puntnummer hebben. Selecteer deze 3 punten in de tekening van de orthofoto, en ga naar Berekening Transformatie Helmert transformatie. Vergeet niet om Bereken schaal aan te zetten, en Transformeer Z uit te zetten:
POINTCLOUDS p. 24 Kopieer na de transformatie de lijnen en punten van het vectoriseren naar de tekening met de pointcloud. Houd deze geselecteerd, zet de Bonus Tools actief, en kies in de Bonus Tools menu voor DTM 2D--> DTM. Met deze functie worden alle punten (en lijnen die eraan vast hangen) naar de hoogte van de onderliggende DTM gebracht, dus naar de hoogte van de puntenwolk.
POINTCLOUDS p. 25 5. ALLERLEI 5.1. QT READER Applicatie voor pointclouds te bekijken. Het kan handig om te checken hoe je pointcloud eruit ziet, en in het geval er iets mis is met de import in Pythagoras, om te checken of het in de file zelf zit, of in Pythagoras. Te downloaden op http://appliedimagery.com/download/