SuperMap GIS点云数据处理Q&A

​​​​​​​作者:姜尔

一、点云数据简介

获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云”(Point Cloud)。通常使用三维激光扫描仪或照相式扫描仪得到的点云,点数量比较大并且比较密集,叫密集点云。

二、点云数据格式

常用的存储格式有 las、laz、txt、xyz、ply 等,点云是离散的三维点,不仅可以用来生产 DEM、DOM、三维模型,还能加载到三维场景中,展示地物原貌(地表、植被、建筑物、电力线、杆塔、变电站等等)。

三、点云数据处理

1.iDesktop 加载点云

iDesktop有以下两种方式可以加载点云数据。

  • 导入点云作为数据集的方式。

该方式仅支持txt格式的点云数据。导入后的数据做为三维点数据集,此时可以通过插值的方式生成数字高程数据DEM。

  • 生成缓存方式。

除了txt格式的点云数据,都需要通过该方式将点云数据生成缓存,在场景中添加三维切片缓存图层的方式,以加载点云数据至场景中浏览。

1)导入点云

激光雷达获取到的数据点非常密集,也被称为点云数据。Lidar 数据中存储了X、Y坐标位置、高程值等信息。 SuperMap iDesktop 支持将 *.txt 格式的雷达数据导入为二维或三维数据集。

以下有三种方式可导入点云数据为数据集:

(1)【开始】选项卡->【数据处理】->【数据导入】

    具体操作步骤如下:

  1. 在【数据导入】对话框中,在工具条中,单击【添加文件】按钮 ,添加要导入的 *.txt 格式 Lidar 文件。
  2. 添加完成后,在文件列表中双击【文件类型】对应单元格,选择文件类型为【雷达文件】。
  3. 结果设置中的目标数据源、结果数据集、编码类型、导入模式,以及源文件信息的参数说明。
  4. 转换参数建立影像金字塔:勾选该参数,表示导入数据时为数据创建影像金字塔。
  5. 设置完成后,单击【导入】按钮,执行导入 Lidar 数据的 *.txt 文件的操作。

(2)在【工作空间管理器】中选中需导入到的【数据源】->单击鼠标右键->【导入数据集】

(3)【工具箱】->【数据导入】->【LIDAR】->【导入.TXT】。(iDesktopX)

2)点云缓存

为了提升点云数据在三维场景中的加载性能,点云数据要进行重新组织和生成三维缓存,在超图桌面软件中【三维数据】-【点云】-【生成缓存】功能里,不仅提供了点云生成三维缓存的功能,还提供了在已有的缓存上追加新点云的能力,同时也可以对点云添加分组信息,从数据层面进行管理。

下面详细介绍点云生成三维缓存的每一个流程的细节。流程如下:

  • 追加文件路径:勾选此项,实现在已有的点云缓存文件的基础上追加生成。若勾选则缓存路径和缓存名称不可设置,为已有文件的路径和名称。
  • 缓存路径:单击“缓存路径”右侧按钮,在弹出的“浏览文件夹”对话框选择缓存文件的保存路径,单击“确定”按钮即可;也可在文本框中直接输入保存缓存文件路径。
  • 缓存名称:输入字符串作为缓存的名称。
  • 金字塔剖分类型:用于设置缓存切片创建树型金字塔的剖分类型。点云数量庞大,需要通过空间索引来建立合理的数据组织,以管理点云数据,程序提供了四叉树和八叉树两种方式。

        (1)四叉树:一种二维空间索引,根节点按照空间范围被划分为四个子区域而形成四个子节点。四叉树适用于平面范围大、高度上差值较小而不需要高度层级剖分的空间范围,如城市级别的建筑。

        (2)八叉树:八叉树是四叉树在三维空间的自然延伸,以空间内的一个点为基准将空间划分为八个区域而形成八个子树。八叉树适用于高度上值很大、平面范围较小的空间范围,如一栋高楼。

  • 特征值:用于后期进行分层设色的属性字段,有高度、强度与类别三种特征值。单击右侧按钮,在下拉菜单中选择配置文件中含有的特征值。
  • 几何压缩方式:系统提供两种压缩方式,不压缩和常规压缩,不压缩是指使用默认几何方式。
  • S3M版本:支持两种S3M版本号,S3M1.0和S3M2.0。
  • 生成类别:设置需要生成缓存的类别ID,可以根据需求输入多个类别ID,ID之间用分号“;”隔开,中英文分号均可。
  • 瓦片剖分类型:设置生成瓦片的剖分方式,默认为全球剖分。
  • 设置层级:勾选此项,进行层级设置。分别输入开始层和结束层,开始层不得大于结束层。
  • 设置完以上参数后,单击“确定”按钮,即可执行点云生成缓存的操作。 若文件类型选择S3MB,则生成完成后,在指定缓存路径下产生一个与缓存名称命名的文件夹,文件夹中包含一个.SCP索引文件,以及多个存有.s3mb模型文件的文件夹,其结果如下图所示:

3)加载点云

生成三维缓存后,以下方式加载和浏览点云数据:

5026fb14de7358d62ce29fe9598689c9.png

  • 新建或打开一个场景窗口后,单击【功能区】 > 【场景】选项卡 > 【数据】组中【缓存】项的按钮部分;或者在【图层管理器】窗口,在【普通图层】处,右键【添加三维切片缓存】。
  • 弹出【打开三维缓存文件】对话框,对话框下面的【文件类型】默认为【所有支持三维缓存】,即 SuperMap 支持的所有三维缓存文件。此外,用户也可以单击后面的下拉按钮,选择相应的缓存类型。
  • 在【打开三维缓存文件】对话框中选择要加载的三维缓存文件,然后单击对话框中的“打开”按钮即可完成三维缓存数据的加载。
  • 新加载的三维缓存数据作为场景中的一个三维图层显示在场景中的模拟地球上。具体的操作说明,您可在帮助文档搜索【加载三维缓存】,在线帮助文档链接如下:SuperMap iDesktop 10i(2020) 联机帮助

4)分层设色

场景】中右键选择点云缓存图层,选择【图层属性】-【分层设色及淹没分析】,即可对没有颜色属性的点云数据进行分层设色,其颜色特征值为缓存时所选择的特征值参数,例如上图中特征值为高度。

2.WebGL加载点云

1)发布服务

参考文章地址:SuperMap GIS发布三维服务流程

2)WebGL加载点云

以scene.open方式加载场景代码如下:

var promise = scene.open(URL_CONFIG.SCENE_POINTCLOUD);

可参考官网示例:

http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#S3MTiles_pointCloud

四、可能遇到的报错及解决方案

问题一点云生成缓存桌面看是全白色的,而iserver预览和webgl中加载都会出现黑边怎么去除

  • 问题分析:Eye Dome光照(EDL),以突出点云边缘并增强深度,其默认值为true。
  • 解决方案:前端WebGL中加载数据时,加上layer.pointCloudShading.eyeDomeLighting=false,关闭eyeDomeLighting即可。

问题二:las点云软件中黑白灰颜色,导入桌面全白

  • 问题分析:las点云数据中未存储颜色属性。
  • 解决方案:点云工具将las格式转为txt格式,查看是否带有颜色属性,数据无颜色属性,需要做颜色效果可以在iDesktop中通过分层设色进行设置颜色,或者前端WebGL中设置分层设色。

问题三:点云生成缓存生成后拉到最近才能显示正常,拉远会很稀疏,lod调整到最大还是觉得稀疏

  • 问题分析:生成缓存时设置了层级,影响显示。
  • 解决方案:点云生成缓存的时候不要设置【开始层】和【结束层】 。

问题四:点云数据生成缓存添加球面场景看不到

  • 问题分析:点云设置的坐标系不匹配源数据 。
  • 解决方案:坐标系设置不正确,例如提供的插入点单位为米,应该设置单位为米的投影坐标系。

问题五:前端设置点云分层设色没有效果

  • 问题分析:前端设置的高度范围不包含数据高度范围。
  • 解决方案:分层设色类的最大可见高度和最小可见高度,要包含数据的高度范围,否则看不到效果。

猜你喜欢

转载自blog.csdn.net/EliseJ/article/details/128214677
今日推荐