• 关于las数据的数据规范

从本质上来说,LAS格式是一种二进制文件格式。其目的是提供一种开放的格式标准,允许不同的硬件和软件提供商输出可互操作的统一格式。现在LAS格式文件已成为LiDAR数据的工业标准格式。

LAS文件按每条扫描线排列方式存放数据,包括激光点的三维坐标、多次回波信息、强度信息、扫描角度、分类信息、飞行航带信息、飞行姿态信息、项目信息、GPS信息、数据点颜色信息等。LAS格式定义中用到的数据类型遵循1999年ANSI(American National Standards Institute,美国国家标准化协会)C语言标准。

一个符合LAS标准的LIDAR文件分为三个部分:公用文件头块(PUBLIC HEADER BLOCK)、变量长度记录(VARIABLE LENGTH RECORDS)和点数据记录(POINT DATA RECORD)。

a、PUBLIC HEADER BLOCK介绍

其中文件记录了点云的版本号(1.1,1.2,1.3等)记录在version Minor字段中,Point Data Record Length决定了每一个点云的长度。 Point Data Format ID 不相同,Point Data Record Length的值也不相同,点云的点的属性也不相同。

注:(二进制文件流的长度-Offset to point data)/ Point Data Record Length=点云的个数即头文件中的Number of Point Records

b、POINT DATA RECORD介绍

C--class(所属类)
F一flight(航线号)
T一time(GPS时间)
I一intensity(回波强度)
R一return(第几次回波)
N一number of return(回波次数)
A一scan angle(扫描角)
RGB一red green blue(RGB颜色值)

其中头文件中的Point Data Format ID 不相同,Point Data Record Length的值也不相同,点云的点的属性也不相同。上图是比较常用的,还有一些其他的字段属性UserData、BitMask等此时的Point Data Format ID与上图的Point Data Format ID就不是同一种类型了。

  • 常用的开源的las文件的读写库

提到常用的开源库,就会用到市面上比较常用的两个开源库如laslib与liblas。刚开始的时候会傻傻分不清两者的关系。

liblas和laslib是两个不一样的库,laslib是lastools这个工具编译出来的库,是一个教授维护的库,liblas是一个工程师维护的库。在竞争抗衡的过程中因为一些问题后面liblas库没有继续更新了维护了,然后liblas库的开发者推出了一个新的库来对抗lastools 就是pdal,准备继续与lastools竞争。

现在市面上常用的基本都是lastools编译出来的laslib库,C++可以直接引用使用该库对las文件进行读写。

Github上也有一些其他的版本的如C#版本的,Python版本的等

LASTools下载地址

https://github.com/LAStools/LAStools

C#使用laslib或liblas读写las数据

https://github.com/wren11/AtlassLASLib

Python使用laspy或pylas读写las数据

https://github.com/tmontaigu/pylas

https://github.com/laspy/laspy

  • las数据读写中存在的问题

las数据的要依据las属性的类型进行存储,譬如强度值没有小数位,xyz都是int32类型等。

las头文件中的 XYZ scale是可以对xyz的值进行缩放的,设置xyz的缩放比。

las数据的读写及注意事项总结相关推荐

  1. spring Batch实现数据库大数据量读写

    spring Batch实现数据库大数据量读写 博客分类: spring springBatchquartz定时调度批处理  1. data-source-context.xml Xml代码   &l ...

  2. c语言作业雇人写,C语言作业的链表数据的读写

    问题的引入: 这学期C语言项目我选择做一个理财管理系统,数据存储使用链式映象,也在此基础上实现数据显示功能块.在完成了数据的统计显示,按时间段显示,按类别显示等功能后,才开始考虑数据的读写的文件操作功 ...

  3. las数据转pcd并显示

    成功的方法: 可以转成ply bin pcd格式,转换流程如下所示: 1.打开CloudCompare软件,加载点云数据(.las或者是.laz等等). 2.选择要进行转换的文件,此时屏幕上会出现一个 ...

  4. 【ArcGIS风暴】ArcGIS+CASS点云(.las)数据生成等高线方法案例精解

    本文讲解基于点云LAS数据,在ArcGIS+CASS平台上生成等高线的方法. 扩展阅读: 什么是点云?什么是Las数据集?一篇文章告诉你点云数据的奥秘 ArcGIS+CASS点云(.las)数据生成等 ...

  5. java获取xlsx某列数据_Java读取Excel指定列的数据详细教程和注意事项

    本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...

  6. python sqlserver 数据操作_python对Excel数据进行读写操作

    python对Excel数据进行读写操作 将学习到的基础操作记录在这里,便与复习查看 1.python读取Excel工作簿.工作表 import xlrd # 读取工作簿 wb=xlrd.open_w ...

  7. opc读取ab的plc数据_C#读写 AB PLC 直接通过节点来读写数据 读写 AllenBradley PLC

    本文将使用一个Github开源的组件库技术来读写AB PLC,使用的是基于以太网的实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 本类库绝对是ab最 ...

  8. matlab segy文件,利用matlab实现segy格式数据的读写研究和分析.ppt

    利用matlab实现segy格式数据的读写研究和分析 2.SEGY数据格式 地震数据一般以地震道为单位进行组织,采用SEG-Y文件格式存储.SEG-Y格式是由SEG (Society of Explo ...

  9. python对Excel数据进行读写操作

    python对Excel数据进行读写操作 将学习到的基础操作记录在这里,便与复习查看 1.python读取Excel工作簿.工作表 import xlrd # 读取工作簿 wb=xlrd.open_w ...

最新文章

  1. Python编程基础:第四十节 类变量Class Variables
  2. Netty 框架学习(一):初始netty
  3. Cookie,Session基础知识
  4. Codeforces 524C Idempotent functions
  5. 归并python_python基本算法之实现归并排序(Merge sort)
  6. Mapped Statements collection already contains value for com.wen.mapper.ProjectMapper.xxx
  7. 关于Hibernate ResultTransformer
  8. 关于使用FileZilla软件出现中文乱码解决方法
  9. OPPO VOOC快充电路和协议
  10. 李南江html5教程资源合集,哇爪跟着李南江学习HTML5—HTML学习
  11. google hacking
  12. linux riot密码,拳头账号密码忘了怎么办?riot账号怎么找回密码修改密码
  13. 坚定文化新自信 提升文化软实力
  14. ERP : 总量库存管理
  15. 如何实时抓取动态网页数据?
  16. gstreamer+qgc+aarch64
  17. NET Framework合集(官方)
  18. Python 实现黑白棋
  19. HOUDINI 平面漩涡
  20. 1980-2018年全国30米土地利用类型样例数据

热门文章

  1. 关于VS调试时的加载符号
  2. 爆音在bilibili 的韵脚语录
  3. 主流 html5播放器,10 个最佳 HTML5 音频播放器推荐
  4. 画世界怎么用光影_世界绘画经典教程:水彩光影魔法教程
  5. revit插件加载位置 addin 文件位置
  6. 模糊字符串匹配:双重解密算法
  7. mysql5.6.1732位_MySQL - 龚哥哥的博客 - gong.gg
  8. PSIM免安装的方法附加使用教程
  9. 计算机远程教育网点,网络远程教育统考《计算机应用基础》电子表格部分练习(二)...
  10. 元器件封装标准IPC-7351