QGIS如何将导入的CAD图纸转换为可用的点图层
操作步骤
第一步:导入DXF并预处理
- 打开QGIS后通过
数据源管理器 > 矢量导入DXF文件,导入时保持默认的线要素读取配置即可。导入完成后先通过要素属性表中的layer字段,筛选出CAD中对应树木符号的图层,排除其他无关的线要素。
第二步:按空间聚类识别单个树木符号
- 打开处理工具箱,搜索并运行按距离聚类工具:
- 输入图层选择上一步筛选得到的树木线要素图层
- 最大距离设置为略大于单个树木符号最大宽度的数值(可先在画布中测量任意一个树木符号的总宽度,常规CAD树木符号宽度多在0.5~2米区间,可先设置为1米测试)
- 运行后工具会自动为所有要素新增
CLUSTER_ID字段,同一个树木符号的所有线要素会被分配相同的CLUSTER_ID
第三步:按聚类ID合并要素并生成点图层
- 搜索并运行按属性聚合工具:
- 输入图层选择上一步生成的聚类结果图层
- 分组字段选择
CLUSTER_ID - 聚合规则中新增两个字段:
- 树木类型:使用表达式
if(count($id,group_by:="CLUSTER_ID")=10,'针叶树','落叶树'),自动根据每个聚类的线要素数量判断树木类型 - 几何字段:聚合方式选择
质心,直接生成每个树木符号对应的中心点几何
- 树木类型:使用表达式
- 运行后得到的结果即为单要素对应单棵树木的点图层,自带树木类型属性,可直接导出为shp、GeoJSON等常用格式供后续使用
校准优化(可选)
- 如果存在少量距离过近的树木被误分到同一个聚类的情况,可手动调整对应要素的
CLUSTER_ID后重新执行聚合操作即可。
内容的提问来源于stack exchange,提问作者Dawid Zyskowski
相关产品推荐
相关产品推荐

