Contents
LibLAS ‘command-line utilities’ 命令行工具集集成了 LibLAS 函数库的各种功能,方便用户完成多种数据处理操作。以下对不同处理给出了一些示例。
LAS 数据总是基于某种坐标系,但其文件中有时也可能不包含坐标系信息。对于大地测量数据而言,通常采用 EPSG 数据库中的地学坐标参考系统。在 http://spatialreference.org 可以查询更详细的信息。
lasinfo --no-check srs.las
Note
–no-check 使 lasinfo 只读取文件头。对于一个 10 数据,这无关紧要。但 LiDAR 数据常常包含五千万或五亿这样量级的数据,故只需要文件头时该开关就很重要。
这里 ‘lasinfo’ 识别 srs.las 文件的坐标系统为 UTM North Zone 17:
PROJCS["WGS 84 / UTM zone 17N",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",-81],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","32617"]]
现在进行重投影操作。这里运用的是 venerable plate carrée non-coordinate system EPSG:4326 。
las2las srs.las --t_srs EPSG:4326
操作正常完成。但是,通过 lasinfo output.las 检查新文件显示出了问题:
...
Scale Factor X Y Z: 0.01 0.01 0.01
Offset X Y Z: -0.00 -0.00 -0.00
...
Min X, Y, Z: -83.43, 39.01, 170.58,
Max X, Y, Z: -83.43, 39.01, 170.76,
原有的 srs.las 空间精度为 0.01 即 X、Y 和 Z 均包含两位小数。对于 UTM 数据而言,这对应着 1 cm 的实际精度,能够满足一般的应用需求。但对于 Plate Carrée coordinate system 这样的地理坐标系而言,其精度就太差了。因此需要设置较高的精度:
las2las --t_srs EPSG:4326 srs.las --scale 0.000001 0.000001 0.01
重新使用 ‘lasinfo’ 查看,得到了较为合理结果:
...
Scale Factor X Y Z: 0.000001 0.000001 0.01
Offset X Y Z: -0.000000 -0.000000 -0.00
...
Min X, Y, Z: -83.427598, 39.012599, 170.58
Max X, Y, Z: -83.427548, 39.012618, 170.76
las2txt input.las --parse xyzti