类 DatasetLas
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.Dataset
-
- com.supermap.data.DatasetLas
-
public class DatasetLas extends Dataset
Las数据集。用于高效管理las点云数据。Las数据集采用元数据+原始las点云文件的方式进行管理。
将las点云文件添加到Las数据集时,只会在Las数据集中记录影像文件的路径、轮廓、高程等元信息,在使用时才会根据元信息加载所需的las文件。
该模式相比传统的入库管理方式,大大提升了入库的速度,同时也减少了磁盘的占用。
该数据集支持1.0~1.4版本的LAS文件
该类适用的引擎类型
示范代码:EngineType
包括:UDBX、PostGIS以下代码示范如何创建Las数据集并添加las点云文件。
//打开数据源 sm_datasource。 //创建Las数据集。 DatasetLas las = sm_datasource.getDatasets().createDatasetLas(datasetName, new PrjCoordSys(PrjCoordSysType.PCS_NON_EARTH)); //点云文件路径 String[] filePaths = new String[]{"C:\\las_file.las"}; //进度监听器 LasSteppedListener listener = new LasSteppedListener() {
- 从以下版本开始:
- 12.0.0
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 boolean
addFiles(String[] filePaths, LasSteppedListener listener)
向Las数据集添加las点云文件。boolean
addFilesWithReport(String[] filePaths, StringBuilder stringBuilder, LasSteppedListener listener)
向Las数据集添加las点云文件并输出报告。boolean
addSurfaceConstraints(LasSurfaceConstraintsInfo[] constraints, LasSteppedListener listener)
向Las数据集添加表面约束boolean
buildPyramid()
创建Las数据集金字塔boolean
computeAllFileStatisticsDirectly(LasSteppedListener listener)
直接计算Las数据集统计信息。boolean
computeSingleFileStatisticsDirectly(String filePath, LasSteppedListener listener)
直接计算单个文件的统计信息。boolean
computeStatisticInfo(String resultPath, LasStatisticsType type, LasStatisticsSeparator decimalSeparator, LasStatisticsSeparator fieldSeparator, LasSteppedListener listener)
计算Las数据集统计信息并输出到指定路径 可选择汇总数据集中所有las点云文件,或者不汇总,每个文件单独统计。String[]
getAllFilesPath()
获取指定Las数据集中所有las点云文件的路径LasStatisticsEntry[]
getAllStatisticsInfo()
获取Las数据集全部文件的统计信息。int
getFilesCount()
获取Las数据集中包含的las点云文件数HashMap<String,LasFileMetaData>
getFilesMetaData(String... filePaths)
获取Las数据集中指定las文件的元信息DatasetVector
getFootprintDataset()
返回Las数据集的轮廓子数据集。double
getMaxZ()
获取Las数据集点云最大高程值double
getMinZ()
获取Las数据集点云最小高程值long
getPointsNumber()
获取Las数据集中包含的总点数 总点数指数据集中所有las点云文件包含的点数量总和String
getPyramidPath()
获取Las数据集金字塔存储路径LasStatisticsEntry[]
getSingleStatisticsInfo(String filePath)
获取Las数据集指定文件的统计信息。DatasetVector
getSurfaceConstraintsDataset()
返回Las数据集的表面约束子数据集 表面约束指关键地形特征线,用于提高点云转换地形模型的准确性。ArrayList<LasSurfaceConstraintsInfo>
getSurfaceConstraintsInfos()
获取Las数据集中的所有表面约束信息int
getSurfaceConstraintsNumber()
获取Las数据集中表面约束个数boolean
removeFiles(String[] filePaths, LasSteppedListener listener)
从Las数据集移除las文件。boolean
removeFilesWithReport(String[] filePaths, StringBuilder stringBuilder, LasSteppedListener listener)
从Las数据集移除las文件并生成输出报告。boolean
removePyramid()
删除Las数据集金字塔boolean
removeSurfaceConstraints(String[] infoNames, LasSteppedListener listener)
从Las数据集删除表面约束-
从类继承的方法 com.supermap.data.Dataset
addClosedListener, addClosingListener, addLockChangedListener, addSteppedListener, close, dispose, equals, getBounds, getDatasource, getDescription, getEncodeType, getExtInfo, getGeoStoreType, getGroup, getID, getLockState, getName, getPrivilegeTypes, getPrivilegeTypes, getPrjCoordSys, getSchema, getTableName, getTransState, getType, hasAttachment, hashCode, hasPrivilegeGrant, hasPrjCoordSys, isDisposed, isOpen, isReadOnly, isVersioned, open, refresh, removeClosedListener, removeClosingListener, removeLockChangedListener, removeSteppedListener, setBounds, setDescription, setExtInfo, setLockState, setPrivilegeTypes, setPrjCoordSys, setReadOnly, toString
-
-
-
-
方法详细资料
-
getFootprintDataset
public DatasetVector getFootprintDataset()
返回Las数据集的轮廓子数据集。轮廓是整个点云的四至,轮廓数据集中包含每个las点云文件的轮廓、文件路径、创建软件、创建日期、LAS版本、点格式、点数据长度、点数以及高程最值。
LAS版本范围支持1.0~1.4。
点格式在一个las点云文件中唯一,即单个las点云文件中所有点的格式相同。
点数据长度指las点云文件中,一个点数据所占的字节数,在点云文件中也是唯一的。
- 返回:
- Las数据集的轮廓子数据集。
- 从以下版本开始:
- 12.0.0
-
getSurfaceConstraintsDataset
public DatasetVector getSurfaceConstraintsDataset()
返回Las数据集的表面约束子数据集表面约束指关键地形特征线,用于提高点云转换地形模型的准确性。
表面约束数据集包含约束名称。约束所在源文件、约束类型以及约束高程字段
- 返回:
- 返回Las数据集的表面约束子数据集。
- 从以下版本开始:
- 12.0.0
-
getFilesCount
public int getFilesCount()
获取Las数据集中包含的las点云文件数- 返回:
- Las数据集中包含的las点云文件数
- 从以下版本开始:
- 12.0.0
-
getPointsNumber
public long getPointsNumber()
获取Las数据集中包含的总点数总点数指数据集中所有las点云文件包含的点数量总和
- 返回:
- Las数据集中包含的总点数
- 从以下版本开始:
- 12.0.0
-
getSurfaceConstraintsNumber
public int getSurfaceConstraintsNumber()
获取Las数据集中表面约束个数- 返回:
- Las数据集中表面约束个数
- 从以下版本开始:
- 12.0.0
-
getMaxZ
public double getMaxZ()
获取Las数据集点云最大高程值- 返回:
- Las数据集点云最大高程值
- 从以下版本开始:
- 12.0.0
-
getMinZ
public double getMinZ()
获取Las数据集点云最小高程值- 返回:
- Las数据集点云最小高程值
- 从以下版本开始:
- 12.0.0
-
addFiles
public boolean addFiles(String[] filePaths, LasSteppedListener listener)
向Las数据集添加las点云文件。- 参数:
filePaths
- 待添加的las文件路径数组。listener
- 添加文件进度监听器,可为空。- 返回:
- true表示全部添加成功,false表示部分或者全部不成功。
- 从以下版本开始:
- 12.0.0
-
addFilesWithReport
public boolean addFilesWithReport(String[] filePaths, StringBuilder stringBuilder, LasSteppedListener listener)
向Las数据集添加las点云文件并输出报告。当添加文件的各种前提环境(如:数据源不为空,记录集可以正常获取等)不满足时,输出报告中包含一个错误信息。
当添加文件时,单个文件有失败或跳过的情况时,输出报告中包含一个JSON,其中包含成功、失败、跳过和总数以及各个跳过、失败文件的原因
{ "Total":4, "Success":2, "Skip":0, "Failed":2, "SuccessFiles":["las12_format1.las","las12_format2.las"], "SkipFiles":[], "FailedFiles":[ {"FilePath":"error.las","Reason":"文件 error.las 打开失败"}, {"FilePath":"test.txt","Reason":"路径 test.txt 对应的文件不存在"} ] }
- 参数:
filePaths
- 待添加的las文件路径数组。stringBuilder
- 接收输出报告的StringBuilder。listener
- 添加文件进度监听器,可为空。- 返回:
- true表示全部添加成功,false表示部分或者全部不成功。
- 从以下版本开始:
- 12.0.0
-
removeFiles
public boolean removeFiles(String[] filePaths, LasSteppedListener listener)
从Las数据集移除las文件。- 参数:
filePaths
- 待移除的las文件路径数。组listener
- 删除文件进度监听器,可为空。- 返回:
- true表示全部移除成功,false表示部分或者全部不成功。
- 从以下版本开始:
- 12.0.0
-
removeFilesWithReport
public boolean removeFilesWithReport(String[] filePaths, StringBuilder stringBuilder, LasSteppedListener listener)
从Las数据集移除las文件并生成输出报告。当删除文件的各种前提环境(如:数据源不为空,记录集可以正常获取等)不满足时,输出报告中包含一个错误信息。
当删除文件时,单个文件有失败或跳过的情况时,输出报告中包含一个JSON,其中包含成功、失败、跳过和总数以及各个跳过、失败文件的原因。
{ "Total":4, "Success":2, "Skip":0, "Failed":2, "SuccessFiles":["las12_format1.las","las12_format2.las"], "SkipFiles":[], "FailedFiles":[ {"FilePath":"error.las","Reason":"文件 error.las 打开失败"}, {"FilePath":"test.txt","Reason":"路径 test.txt 对应的文件不存在"} ] }
- 参数:
filePaths
- 待移除的las文件路径数组。stringBuilder
- 接收输出报告的StringBuilder。listener
- 删除文件进度监听器,可为。空- 返回:
- true表示全部移除成功,false表示部分或者全部不成功。
- 从以下版本开始:
- 12.0.0
-
addSurfaceConstraints
public boolean addSurfaceConstraints(LasSurfaceConstraintsInfo[] constraints, LasSteppedListener listener)
向Las数据集添加表面约束- 参数:
constraints
- 待添加的表面约束信息数组listener
- 添加表面约束进度监听器,可为空- 返回:
- true表示全部添加成功,false表示部分或者全部不成功
- 从以下版本开始:
- 12.0.0
-
removeSurfaceConstraints
public boolean removeSurfaceConstraints(String[] infoNames, LasSteppedListener listener)
从Las数据集删除表面约束- 参数:
infoNames
- 待删除的表面约束信息名称listener
- 添加表面约束进度监听器,可为空- 返回:
- true全部删除成功,false表示部分或者全部添加不成功
- 从以下版本开始:
- 12.0.0
- 另请参阅:
LasSurfaceConstraintsInfo
-
getAllFilesPath
public String[] getAllFilesPath()
获取指定Las数据集中所有las点云文件的路径- 返回:
- Las数据集中所有las点云文件的路径数组
- 从以下版本开始:
- 12.0.0
-
getSurfaceConstraintsInfos
public ArrayList<LasSurfaceConstraintsInfo> getSurfaceConstraintsInfos()
获取Las数据集中的所有表面约束信息- 返回:
- 包含所有表面约束信息的列表
- 从以下版本开始:
- 12.0.0
- 另请参阅:
LasSurfaceConstraintsInfo
-
getFilesMetaData
public HashMap<String,LasFileMetaData> getFilesMetaData(String... filePaths)
获取Las数据集中指定las文件的元信息- 参数:
filePaths
- 待获取元信息的las文件路径数组- 返回:
- 以las文件路径为key,对应元信息为value的Map,只包含Las数据集中已有的las文件
- 从以下版本开始:
- 12.0.0
- 另请参阅:
LasFileMetaData
-
buildPyramid
public boolean buildPyramid()
创建Las数据集金字塔- 返回:
- 是否创建成功, true表示创建成功,false表示创建失败
- 从以下版本开始:
- 12.0.0
-
removePyramid
public boolean removePyramid()
删除Las数据集金字塔- 返回:
- 是否删除成功, true表示删除成功,false表示删除失败
- 从以下版本开始:
- 12.0.0
-
getPyramidPath
public String getPyramidPath()
获取Las数据集金字塔存储路径- 返回:
- 金字塔存在则返回存储路径,否则返回空字符串
- 从以下版本开始:
- 12.0.0
-
computeStatisticInfo
public boolean computeStatisticInfo(String resultPath, LasStatisticsType type, LasStatisticsSeparator decimalSeparator, LasStatisticsSeparator fieldSeparator, LasSteppedListener listener)
计算Las数据集统计信息并输出到指定路径可选择汇总数据集中所有las点云文件,或者不汇总,每个文件单独统计。
统计信息包含回波、分类、属性、分类标记类型:
回波类型包含回波点数、占总点数百分比,高程最大最小值,属于回波类型统计项的有:第N次回波(Return_N),最后一次回波(Last),多次回波中的首次(First_of_Many),多次回波中的末次(Last_of_many)。
分类类型包含点数、占总点数百分比,高程最大最小值,强度最大最小值,属于分类类型统计项的有:各个分类(Classic_N)。
属性类型包含该属性的范围,属于属性类型统计项的有:回波次数(Return_NO),强度范围(Intensity),分类代码(Class_Code),扫描角度(Scan_Angle),颜色R通道范围(Color_R),颜色G通道范围(Color_G),颜色B通道范围(Color_B)。
分类标记类型包含模型关键点、合成、保留、覆盖分类的点数和百分比
- 参数:
resultPath
- 结果路径,支持txt、csv和tab格式文件type
- 汇总类型,可选择汇总全部文件或不汇总decimalSeparator
- 统计信息保存的结果文件内的小数点符号。表示统计信息结果文件中小数的小数点形式,可选点或者逗号,注意和字段分隔符不能同时为逗号,否则计算失败fieldSeparator
- 统计信息保存的结果文件内的字段分隔符。表示统计信息结果文件中每个统计项的字段间的分隔符,可选空格或者逗号,注意和小数分隔符不能同时为逗号,否则计算失败listener
- 统计信息计算进度监听器,可以为空- 返回:
- true统计信息计算并保存成功,false表示失败
- 从以下版本开始:
- 12.0.0
- 另请参阅:
LasStatisticsSeparator
,LasStatisticsType
-
computeAllFileStatisticsDirectly
public boolean computeAllFileStatisticsDirectly(LasSteppedListener listener)
直接计算Las数据集统计信息。计算成功会保存统计信息到数据集,可以通过
DatasetLas.getAllStatisticsInfo()
获取。- 参数:
listener
- 统计信息计算进度监听器,可以为空- 返回:
- true表示计算成功,false表示计算失败。
- 从以下版本开始:
- 12.0.0
-
computeSingleFileStatisticsDirectly
public boolean computeSingleFileStatisticsDirectly(String filePath, LasSteppedListener listener)
直接计算单个文件的统计信息。计算成功会保存统计信息到数据集,可以通过
DatasetLas.getSingleStatisticsInfo(String)
获取。- 参数:
filePath
- 待计算统计信息的文件路径listener
- 统计信息计算进度监听器,可以为空- 返回:
- true表示计算成功,false表示计算失败。
- 从以下版本开始:
- 12.0.0
-
getAllStatisticsInfo
public LasStatisticsEntry[] getAllStatisticsInfo()
获取Las数据集全部文件的统计信息。统计信息包含回波、分类、属性、分类标记类型:
回波类型包含回波点数、占总点数百分比,高程最大最小值,属于回波类型统计项的有:第N次回波(Return_N),最后一次回波(Last),多次回波中的首次(First_of_Many),多次回波中的末次(Last_of_many)。
分类类型包含点数、占总点数百分比,高程最大最小值,强度最大最小值,属于分类类型统计项的有:各个分类(Classic_Number_Name),其中Number是分类代码,Name是分类的名称。
属性类型包含该属性的范围,属于属性类型统计项的有:回波次数(Return_NO),强度范围(Intensity),分类代码(Class_Code),扫描角度(Scan_Angle),颜色R通道范围(Color_R),颜色G通道范围(Color_G),颜色B通道范围(Color_B)。
分类标记类型包含模型关键点、合成、保留、覆盖分类的点数和百分比
- 返回:
- Las数据集全部文件的统计信息,如果没有计算过,返回空数组,可以使用
DatasetLas.computeAllFileStatisticsDirectly(LasSteppedListener)
计算统计信息。 - 从以下版本开始:
- 12.0.0
- 另请参阅:
LasStatisticsEntry
-
getSingleStatisticsInfo
public LasStatisticsEntry[] getSingleStatisticsInfo(String filePath)
获取Las数据集指定文件的统计信息。统计信息包含回波、分类、属性、分类标记类型:
回波类型包含回波点数、占总点数百分比,高程最大最小值,属于回波类型统计项的有:第N次回波(Return_N),最后一次回波(Last),多次回波中的首次(First_of_Many),多次回波中的末次(Last_of_many)。
分类类型包含点数、占总点数百分比,高程最大最小值,强度最大最小值,属于分类类型统计项的有:各个分类(Classic_Number_Name),其中Number是分类代码,Name是分类的名称。
属性类型包含该属性的范围,属于属性类型统计项的有:回波次数(Return_NO),强度范围(Intensity),分类代码(Class_Code),扫描角度(Scan_Angle),颜色R通道范围(Color_R),颜色G通道范围(Color_G),颜色B通道范围(Color_B)。
分类标记类型包含模型关键点、合成、保留、覆盖分类的点数和百分比。
- 参数:
filePath
- 待计算统计信息的文件路径- 返回:
- Las数据集指定文件的统计信息,如果没有计算过,返回空数组,可以使用
DatasetLas.computeSingleFileStatisticsDirectly(String, LasSteppedListener)
计算单个文件统计信息。 - 从以下版本开始:
- 12.0.0
- 另请参阅:
LasStatisticsEntry
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.