Possible Bug in Multiply and Scale
Posted: Mon Feb 15, 2016 6:20 pm
Daniel;
I'm working through various scenarios to figure out exactly what is going on and I will report more, but I wanted to draw your attention early to something that looks like a serious bug.
When opening a LAZ cloud, we have an opportunity to set offsets. I work in UTM so my offsets in XY are pretty big though I always set them to even 500m or 1000m values. In Z I'm usually in the 100m to 350m range, so I prefer to set the offset to 0.
Next I use the SOR tool to remove noise. I don't think this has anything to do with the problem but I'm including it for completeness. My data comes from a UAV via Pix4D, so there is noise there for sure.
The next step is new in my process and since the problem is also new, I strongly suspect it is related. I apply a Z only scale of 5 and I uncheck 'keep in place'. What I want is a 5x exaggeration in Z, scaled from 0. looking at the point values and the documentation suggests this is exactly what happens - all good so far.
Next I manually remove the man-made bits from my cloud. I'm looking for a nice clean DTM and automated processes only go so far. I segment and then use a combo of limiting Coord.Z and filtering with tilting the cloud and manually segmenting out bits I don't want. This process gets repeated over and over until everything is clean.
I regularly merge the cleaned (or trimmed) bits of the original cloud and save the cloud as ABC Trimmed.LAZ and the remaining cloud as ABC Remaining.LAZ. Occasionally I must close down CC or even stop working on the project for hours or days. When I start again I open the two clouds, export Z to a scalar and continue.
After everything is done, I scale the Z by 0.2 with 'keep in place' unchecked.
Here is where the problem comes in. Since I have ground targets with precise heights, I should be able to confirm that the target locations have points around them that are close (say +/- 5 cm) to my GPS elevations. If I don't do the scaling I can definitely confirm my elevations are still good. When I use scaling, however, the elevations can be quite far off (+/- 1 metre is what I've seen). Not only that, different control points will be off by different amounts, so I can't just shift up or down.
Furthermore, if, instead of a single ABC Trimmed.laz I have multiple (e.g. ABC Trimmed East.laz and ABC Trimmed West.laz), there is an elevation shift between the two pieces when I'm done.
It's almost as if each piece I work on separately gets scaled a different amount despite the fact they've all been merged back together.
As I said, I'm not completely sure what is happening and will keep investigating, but I wanted to let you know about a potentially serious issue.
Also, can you add additional numbers to the beta versions? I downloaded the beta again a couple weeks ago, but I can't tell you anything beyond 2.6.3 beta as shown in Help / About (I'd like to see a build number after the 2.6.3 if possible). The newest entry in history.txt is v2.7.beta ??/??/201? - Polyline tracing tool
I'm working through various scenarios to figure out exactly what is going on and I will report more, but I wanted to draw your attention early to something that looks like a serious bug.
When opening a LAZ cloud, we have an opportunity to set offsets. I work in UTM so my offsets in XY are pretty big though I always set them to even 500m or 1000m values. In Z I'm usually in the 100m to 350m range, so I prefer to set the offset to 0.
Next I use the SOR tool to remove noise. I don't think this has anything to do with the problem but I'm including it for completeness. My data comes from a UAV via Pix4D, so there is noise there for sure.
The next step is new in my process and since the problem is also new, I strongly suspect it is related. I apply a Z only scale of 5 and I uncheck 'keep in place'. What I want is a 5x exaggeration in Z, scaled from 0. looking at the point values and the documentation suggests this is exactly what happens - all good so far.
Next I manually remove the man-made bits from my cloud. I'm looking for a nice clean DTM and automated processes only go so far. I segment and then use a combo of limiting Coord.Z and filtering with tilting the cloud and manually segmenting out bits I don't want. This process gets repeated over and over until everything is clean.
I regularly merge the cleaned (or trimmed) bits of the original cloud and save the cloud as ABC Trimmed.LAZ and the remaining cloud as ABC Remaining.LAZ. Occasionally I must close down CC or even stop working on the project for hours or days. When I start again I open the two clouds, export Z to a scalar and continue.
After everything is done, I scale the Z by 0.2 with 'keep in place' unchecked.
Here is where the problem comes in. Since I have ground targets with precise heights, I should be able to confirm that the target locations have points around them that are close (say +/- 5 cm) to my GPS elevations. If I don't do the scaling I can definitely confirm my elevations are still good. When I use scaling, however, the elevations can be quite far off (+/- 1 metre is what I've seen). Not only that, different control points will be off by different amounts, so I can't just shift up or down.
Furthermore, if, instead of a single ABC Trimmed.laz I have multiple (e.g. ABC Trimmed East.laz and ABC Trimmed West.laz), there is an elevation shift between the two pieces when I'm done.
It's almost as if each piece I work on separately gets scaled a different amount despite the fact they've all been merged back together.
As I said, I'm not completely sure what is happening and will keep investigating, but I wanted to let you know about a potentially serious issue.
Also, can you add additional numbers to the beta versions? I downloaded the beta again a couple weeks ago, but I can't tell you anything beyond 2.6.3 beta as shown in Help / About (I'd like to see a build number after the 2.6.3 if possible). The newest entry in history.txt is v2.7.beta ??/??/201? - Polyline tracing tool