Problems with readPointCloud function

3 次查看(过去 30 天)
I have used the following functions to read data from a las file
lasReader = lasFileReader('DataCloud.las');
ptCloud = readPointCloud(lasReader);
The obtained pointCloud object has ptCloud.Location stored in single precision even if it also accepts values in double precision. Since for my data it is quite important to have double precision locations (and I am sure that in my las file locations are in double precision), it is possible to suggest to readPointCloud to save locations in double precision?
Thanks a lot for your help
  1 个评论
Helge Nysæter
Helge Nysæter 2022-5-11
I have the same problem. The decimals in the UTM-north-values are lost, and only one remains for the eastings. I then tried to move the origin with pctransform() before retrieving the coordinates from the Location-property. This resulted in more decimals for the eastings, but only one decimal for the northings.

请先登录,再进行评论。

回答(1 个)

Helge Nysæter
Helge Nysæter 2022-5-12
Read utm-coordinates from one .las-file, shift origin, and then write to a new .las-file
pkt = lasdata('kd_1.las')
origoX = floor(min(pkt.x))
origoY = floor(min(pkt.y))
pkt.x = pkt.x-origoX
pkt.y = pkt.y-origoY
pkt.z = pkt.z
write_las(pkt,'kd_2.las')

类别

Help CenterFile Exchange 中查找有关 Point Cloud Processing 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by