ArcGIS处理点云las

本文介绍了如何在ArcGIS中利用LAS点云数据创建2.5D地形模型。首先,创建LAS数据集并加载到ArcMap,然后通过点云稀疏化创建TIN。虽然直接转换为高程点或栅格可能耗时较长,但编辑TIN则更为实用。作者寻求更多处理点云数据的建议。
摘要由CSDN通过智能技术生成

DOM+DEM做个2.5D的地形模型,拿到的数据是las格式的点云,不在是常见的地形图(包含等高线和高程点)。las是一个新事物,感谢项目组给了我这个接触点云的机会。那么问题来了,ArcGIS中怎么处理las点云?

第一步,创建LAS数据集,将las文件添加到LAS Dataset,注意设置LAS文件和LAS数据集的相对路径。加载LAS数据集到ArcMap中, Data percentage的值显示加载数据的百分比,数据量如果较大需要耐心等待!

  

 

第二步,利用las点云创建不规则三角网TIN。主要涉及到对las点云的稀疏化问题。可以在LAS数据集中看到las点云的总点数,也可以在构成的TIN中看到留取的点数。

 

第三步,对las点云创建的TIN的修改与编辑。TIN会随着导入的文件而改变。

最后说明:

“las——LAS to Multipoint——Multipart To Singlepart或高级编辑工具炸开得到单点——Add XY Coordinates得到单点X,Y和高程Z坐标”,这一流程由于数据量太大,为了获得高程点,等待时间太久,shp文件都会达到GB级。

“las——LAS Dataset to Raster”,得到栅格后的编辑修改比较麻烦。

“las——TIN——Edit  tin”这一流程更实用。

这只是我用ArcGIS对las点云的尝试,还有更多更方便的软件、工具、流程,恳请大家不吝指导!

### 将点云数据转换为建筑足迹的矢量数据ArcGIS Pro 中处理点云数据并将其转换成表示建筑物轮廓的矢量数据是一项复杂但可实现的任务。此过程通常涉及多个步骤,包括分类、过滤和提取特定特征。 #### 使用 Point Cloud Classification 工具进行初步处理 为了确保只保留代表地面以上结构(如建筑物)的数据点,可以先利用 `Classify LAS` 或者其他类似的工具来区分不同类型的对象[^1]。这些操作能够帮助去除植被和其他不必要的要素,从而简化后续分析流程。 #### 应用 Ground-Based Filtering 方法获取建筑物顶部信息 接着应用基于地面的滤波算法,比如 `LAS Ground` 和 `LAS Building` 过程,它们可以从原始LiDAR 数据集中分离出属于建筑物表面的部分。这类方法依赖于高度差异以及其他几何属性来进行精准的选择。 #### 利用地形模型生成 Digital Surface Model (DSM) 一旦获得了经过筛选后的点集,下一步就是构建数字表面模型(DSM),它反映了地球表面上所有物体的高度分布情况。通过 DSM 可以更容易识别出哪些区域对应着实际存在的建筑物实体。 ```python import arcpy from arcpy import env env.workspace = "C:/data" arcpy.CheckOutExtension("3D") # 设置输入文件路径 input_las_dataset = r"C:\path\to\your\lasfile.lasd" # 创建DSM栅格图像 output_dsm_raster = r"C:\path\to\save\dsm.tif" arcpy.conversion.LASDatasetToRaster(input_las_dataset, output_dsm_raster,"ELEVATION","BINNING AVERAGE LINEAR", "", cell_size=1) print(f"成功创建了DSM:{output_dsm_raster}") ``` #### 执行多边形化得到最终结果 最后一步是从上述获得的高程影像中提取闭合边界作为建筑物轮廓线,并保存为 shapefile 或 geodatabase feature class 形式的矢量格式。这可以通过执行 `Region Group` 跟随 `Boundary Clean` 来完成,之后再运用 `Polygon to Raster Conversion` 实现目标转化。 ```python # 定义工作环境参数 building_height_threshold = 2 # 建筑物最小高度阈值(meters) cellsize = 1 # 输出像元大小(meter/pixel) # 对DSM做二值化处理找出高于设定阈值的位置 binary_image = f"{output_dsm_raster}_bin" where_clause = "VALUE >= {}".format(building_height_threshold) arcpy.gp.Reclassify_sa(output_dsm_raster,binary_image,"0 NODATA;{} 1".format(building_height_threshold), "DATA") # 提取连通域形成初始多边形集合 region_group_result = f"{binary_image}_rg" arcpy.gp.RegionGroup_sa(binary_image, region_group_result,"FOUR", "WITHIN", "NO_LINK8") # 清理噪声并对边缘平滑化 cleaned_polygons = f"{region_group_result}_bclean" arcpy.gp.BoundaryClean_sa(region_group_result,cleaned_polygons,"SINGLE_PART","KEEP_LOWER") # 将清理过的多边形转回矢量形式 final_vector_output = r"C:\path\to\save\buildings.shp" arcpy.RasterToPolygon_conversion(cleaned_polygons, final_vector_output,"SIMPLIFY") print(f"已导出建筑物footprints至{final_vector_output}.") ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值