python代码对dem提取等高线
时间: 2024-10-16 17:13:43 浏览: 77
在Python中,我们可以使用GDAL库来处理地理空间数据,包括DEM(数字高程模型)。提取DEM的等高线通常涉及到读取数据、计算高度差、生成等值线并保存到文件或显示出来。以下是一个简单的步骤概述:
1. 安装必要的库:
```bash
pip install gdal rasterio numpy matplotlib
```
2. 使用`rasterio`读取DEM数据:
```python
import rasterio
with rasterio.open('path_to_your_DEM.tif') as src:
dem = src.read(1) # 通常第1带是海拔信息
```
3. 确定等高距和起始高度:
```python
contour_interval = 5 # 每隔多少米抽取一条等高线
min_elevation = 0 # 最低的高度起点
```
4. 提取等高线:
```python
from scipy.ndimage import measurements
contours, hierarchy = measurements.find_contours(dem, min_elevation + contour_interval * np.arange(0, max(dem)))
```
5. 可视化等高线:
```python
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.imshow(dem, cmap='terrain')
for contour in contours:
ax.plot(contour[:, 1], contour[:, 0], color='black', linewidth=0.5)
plt.show()
```
阅读全文