QGIS-给shp文件添加高程信息(从栅格中设置Z值)

1、QGIS打开工具箱-矢量几何图形-贴加(从栅格设置z值)

2、选项设置

输入图层:选择你要贴加Z值的shp文件

栅格图层:选择你要提取Z值的dem文件

剩下的可以使用默认设置,不需要变动。

该方法可以给各种shp类型文件(点、线、面)进行贴加Z值,此外还有qgis还有工具可以单独给shp点类型的文件添加高程信息。

方法二:仅给点文件添加高程信息:

1、QGIS打开工具箱-栅格分析-对栅格值取样

2、选项设置

输入图层:选择你要插入高程值的shp点文件

栅格图层:选择你要提取Z值的dem文件

输出列前缀:可以自定义名称,但是生成的文件该要素的列名会自动加1,需要后续修改

个人认为还是第一种方法比较方便,方法二是我没找到第一种时使用的方法

QGIS中,可以通过利用属性表中的Z来显示Shapefile的3D效果。实现这一目标通常需要使用QGIS的一些插件或者将数据转换为支持3D显示的格式。 ### 使用QGIS内置功能和插件显示3D效果 QGIS原生并不直接支持3D可视化,但通过一些插件(如`Qgis2threejs`)可以实现基于Z的3D地形展示。此外,也可以将矢量数据与DEM结合,在3D视图中呈现高程效果。 为了使用属性表中的Z进行3D渲染,首先需要确保你的Shapefile具有表示高度的字段(例如“Z”或“Height”)。然后可以通过以下方法之一进行操作: #### 方法1:使用Qgis2threejs插件 1. 安装`Qgis2threejs`插件,它允许将地图导出为WebGL 3D场景。 2. 打开插件后,选择包含Z的字段作为高度参考。 3. 调整设置以优化地形外观,包括光照、颜色和纹理等选项。 4. 导出并查看生成的HTML文件,该文件可以在任何现代浏览器中运行[^1]。 #### 方法2:使用QGIS 3D地图视图(实验性功能) 从QGIS 3.x版本开始,软件引入了实验性的3D地图视图功能: 1. 确保你正在使用的QGIS版本支持3D视图。 2. 将矢量层加载到地图中,并打开其属性对话框。 3. 在"3D View"选项卡下,启用3D渲染模式。 4. 设置Z字段以及缩放因子,控制要素的高度表现[^1]。 #### 方法3:创建TIN或DEM并叠加矢量数据 如果目标是根据点数据生成表面模型,则可以考虑创建不规则三角网(TIN)或数字高程模型(DEM),然后将其与原始矢量数据叠加显示: 1. 使用`Processing Toolbox > Interpolation`工具根据点状矢量数据生成TIN或DEM。 2. 将生成的栅格文件添加至项目。 3. 利用`Layer Styling`面板调整样式,以便更好地反映地形起伏。 4. 叠加原始矢量层,这样就可以看到基于实际测量Z的3D地形特征[^1]。 ```python # 示例代码 - 创建简单三维散点图 (matplotlib) import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 假设我们有三个数组 x, y, z 表示每个点的位置 x = np.random.standard_normal(100) y = np.random.standard_normal(100) z = np.random.standard_normal(100) ax.scatter(x, y, z) ax.set_xlabel('X Label') ax.set_ylabel('Y Label') ax.set_zlabel('Z Label') plt.show() ``` 请注意,上述Python代码仅用于演示如何绘制3D散点图,并非直接应用于QGIS环境中的解决方案。对于QGIS内部的操作,请依赖于官方提供的工具和插件。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值