com.supermap.data

类 LasStatisticsEntry

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.data.LasStatisticsEntry
  • 所有已实现的接口:
    IDisposable


    public class LasStatisticsEntry
    extends com.supermap.data.InternalHandleDisposable
    LAS统计信息类。

    统计信息类型LasStatisticsEntry.LasStatisticsEntryType包含回波类型、分类类型、属性类型、分类标记类型。

    不同类型的统计信息包含的字段值不一样,见LasStatisticsEntry.getStatisticsFields()

    示范代码:

    以下代码示范如何从数据集获取统计信息并获取统计信息的值。

         //打开数据源 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
    • 方法详细资料

      • getStatisticsFields

        public static String[] getStatisticsFields()
        获取Las统计信息的字段。

        所有类别的统计信息字段相同,包含:统计信息名、统计类别、点数、百分比、最小Z值、最大Z值、最小强度值、最大强度值、最小范围以及最大范围。

        不同类别的统计信息都有统计信息名和统计类别对应的值,对于其他字段,不同类别的统计信息包含的字段值有差异,说明如下:

        回波类型统计信息包含:点数、百分比、最小Z值、最大Z值

        分类类型统计信息包含:点数、百分比、最小Z值、最大Z值、最小强度值、最大强度值

        属性类型统计信息包含:最小范围以及最大范围

        分类表及类型统计信息包含:点数、百分比

        返回:
        LAS统计信息的字段。
        从以下版本开始:
        12.0.0
        另请参阅:
        LasStatisticsField
      • getName

        public String getName()
        获取Las统计项的名称。

        名称也可以通过字段名获取,统计信息的第一个字段为名称字段。

        返回:
        统计信息的名称。
        从以下版本开始:
        12.0.0
        另请参阅:
        LasStatisticsItemName
      • hasField

        public boolean hasField(String fieldName)
        判断统计信息中是否包含指定字段的值
        参数:
        fieldName - 字段名
        返回:
        true表示包含指定字段的值,false表示不包含
        从以下版本开始:
        12.0.0
      • getFieldType

        public static FieldType getFieldType(String fieldName)
        获取指定统计字段的值类型
        参数:
        fieldName - 字段名
        返回:
        字段的值类型
        从以下版本开始:
        12.0.0
      • getFieldValue

        public Object getFieldValue(String fieldName)
        获取指定统计字段的值。

        如果统计信息不包含目标字段值,则返回null。

        参数:
        fieldName - 字段名
        返回:
        统计字段的值 示范代码:

        以下代码示范如何获取统计信息的值。

        
               //获取全部统计信息
               LasStatisticsEntry[] entries = datasetLas.getAllStatisticsInfo();
               //获取所有字段
               String[] statisticsFields = LasStatisticsEntry.getStatisticsFields();
               //遍历统计信息获取对应的字段值
               for (LasStatisticsEntry entry:
                    entries) {
                   for (String field :
                           statisticsFields) {
                       Object value = entry.getFieldValue(field);
                       //将字段值转换为具体类型
                       if (LasStatisticsEntry.getFieldType(field) == FieldType.TEXT && value instanceof String) {
                           String stringValue = (String)value;
                           System.out.println("Field name is " + field + ", value is " + stringValue);
                       }
                   }
               }
        
             
         
        从以下版本开始:
        12.0.0
      • dispose

        public void dispose()
        释放统计信息。
        从以下版本开始:
        12.0.0

Copyright © 2021–2025 SuperMap. All rights reserved.