GIScience / helios

HELIOS - the Heidelberg LiDAR Operations Simulator - is a software package for interactive real-time simulation and visualisation of terrestrial, mobile and airborne laser scan surveys written in Java.
http://www.geog.uni-heidelberg.de/gis/helios.html
GNU General Public License v3.0
87 stars 41 forks source link

A contribution for automatic generation of forest scene (MATLAB script) #35

Closed ludwig1860 closed 4 years ago

ludwig1860 commented 4 years ago

Hi, I come again. In this post, I'd like to provide several MATLAB scripts for automatically generating various forest scenarios. These scripts were motivated by my need of TLS simulations for many forest plots. Generally, we need a forest plot with many different trees (look like more realistic). Hence, we can modify the scale, position and rotation of tree models. The function of these scripts is to do so.

An example of forest plot

Download it!

But, there might be a bug I need to report. Not worry. Not a bug of matlab script, it's about HELIOS. I make sure that the generated XML file of tls survey is correct after inspection. However, when I run the HELIOS, some of tls scans were located at the top of forest canopy. Really strange. Could someone tell me why this happened? the tls scan position is correct

Linyuan Li

kathapand commented 4 years ago

Hi Linyuan Li, thank you for sharing the script! From your visualization and screenshot of scanner settings it seems indeed strange that the positions are located somewhere in the air. The expected behaviour would be that the tripod is on the ground (onGround="true") and anyways you have the z coordinate at 0 on the groundplane. The other case would occur if onGround="false" and z!=0, like I tested here: helios_java_issue35 Currently, I cannot reproduce your observation. If your settings in all legs are correct as I describe, maybe you can provide the survey- and scene-xml (together with the sceneparts), and I could look into it.

ludwig1860 commented 4 years ago

Hi, kathapand,

Thank you for your reply. After check once again, the z value and onGround value are reasonable in the platformSetting element. I also noticed that everything is normal when I only set one leg, but is abnormal when I set three or more legs.

Here is the data you need (download).

Thank you for nice help.

Linyuan Li

kathapand commented 4 years ago

I looked at your files - thanks for providing them - and you seem to have stumbled into unexpected behavior regarding the "onGround"-parameter. I think when the trees are present in the scene, their surface is taken as "ground" and that is why the TLS position is placed there seemingly in the air. What I did (see picture): I started your survey with a scene (i) without trees --> all positions on actual ground, and (ii) with trees --> two positions are on the trees. If (iii )onGround is set false, they are positioned on the ground(plane) also with trees. helios_java_issue35_onGround We will keep this issue open, as this needs fixing in the code. As an immediate solution for your analysis, I suggest to keep "onGround" false and specify the height explicitly from your terrain data. If you are using the groundplane of course it is easy and simply "0". I attached the xml files that I used for testing. I hope this helps for your work with HELIOS! (will look at the other issue in a bit ;-)) Greetings Katharina

Attachmed files: survey_scene_xmls.zip

ludwig1860 commented 4 years ago

Perfect. Katharina. Many thanks. Let me launch my simulations. Bravo! Linyuan Li