You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Geopandas、Rasterio和Contextily时栅格与Shapefile无法对齐

DEM栅格与Shapefile对齐问题(Python实现)

我正在完成实验作业,需用Python实现DEM栅格与Shapefile的对齐,后续还要从栅格和多边形图层提取数据至点图层。我熟悉ArcGIS手动操作,但作业要求使用Python或R(我选择Python)。

课程资料显示两者均采用EPSG 3847坐标系,但Shapefile缺失CRS,已通过Geopandas为其设置EPSG 3847;DEM实际为EPSG 3006,我尝试将DEM转换为EPSG 3847,或把Shapefile转换为EPSG 3006,均无法使两者对齐。单独绘制DEM可正常显示,但与Shapefile同图时DEM不出现,而在ArcGIS中两者可正常对齐。


导入依赖库

import contextily as cx  
import geopandas as gpd  
import rasterio  
from rasterio.plot import show  
from rasterio.crs import CRS  
from rasterio.plot import show as rioshow  
import matplotlib.pyplot as plt  

数据读取与坐标系处理

# 读取数据文件
abisveg = gpd.read_file(r'/content/drive/MyDrive/Stackoverflow/Sweden/abisveg_polygon.shp')  
abisveg_3847 = abisveg.set_crs(epsg = 3847)  

abisveg_3006 = abisveg_3847.to_crs(epsg = 3006)  

src = rasterio.open(r'/content/drive/MyDrive/Stackoverflow/Sweden/nh_75_6.tif')  
DEM = src.read()  

多面板绘图代码

### 创建绘图网格  
fig = plt.figure(figsize = (20,20), constrained_layout = True)  
gs = fig.add_gridspec(1,3)  
ax1 = fig.add_subplot(gs[0,0])  
ax2 = fig.add_subplot(gs[0,1], sharex = ax1, sharey = ax1)  
ax3 = fig.add_subplot(gs[0,2], sharex = ax1, sharey = ax1)  

### 图1 - 仅底图  
abisveg_3006.plot(ax = ax1, color = 'none')  
cx.add_basemap(ax1, crs = 3006)  
ax1.set_aspect('equal')  
ax1.set_title("AOI底图")  


### 图2 - DEM  
# abisveg_3847.plot(ax = ax2, color = 'none')  
show(DEM, ax=ax2, cmap = "Greys")  
cx.add_basemap(ax2, crs = 3006)  
ax2.set_aspect('equal')  
ax2.set_title('AOI数字高程模型')  


### 图3 - 植被类型  
abisveg_3006.plot(ax = ax3, column = "VEGKOD", cmap = "viridis")  
cx.add_basemap(ax3, crs = 3006)  
ax3.set_aspect('equal')  
ax3.set_title("植被类型")  

单独绘制DEM的代码

fig = plt.figure(figsize = (10,10), constrained_layout = True)  
show(DEM, cmap = "Greys")  

相关截图

  • 3面板地图缺失DEM:3面板地图缺失DEM
  • 单独DEM显示:单独DEM显示

内容的提问来源于stack exchange,提问作者MrBlueSky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:05:38