if 'int8' in im_data.dtype.name: datatype = gdal.GDT_Byte elif 'int16' in im_data.dtype.name: datatype = gdal.GDT_UInt16 else: datatype = gdal.GDT_Float32 # 判读数组维数 if len(im_data.shape) == 3: im_bands, im_height, im_width = im_data.shape else: im_bands, (im_h...
aspect[i, j]= 90.0 -aspect[i, j]#输出坡度坡向文件driver = gdal.GetDriverByName('GTiff')ifos.path.exists(slopeFilename): os.remove(slopeFilename)ifos.path.exists(aspectFilename): os.remove(aspectFilename) ds1= driver.Create(slopeFilename, slope.shape[1], slope.shape[0], 1, GDT_Floa...
res_x, gdal_img.res_y) gdal_img.save_block(slope_arr, dst) calc_slope_main(r'.\dem\beijing.tif', r'.\slope\beijing.tif') 原理 坡度算法如下,其中b,c就是索贝尔(Sobel)算子。读取数据、计算以米为单位的分辨率、调用OpenCV中的索贝尔算子,计算即可。
首先,我们需要获取DEM数据,这是提取坡度的基础。我们可以使用Python中的rasterio库来读取DEM数据。 importrasterio# 读取DEM数据dem_data=rasterio.open('dem.tif') 1. 2. 3. 4. 3. 提取坡度 接下来,我们将使用Python中的gdal库来计算DEM数据的坡度。 importgdal# 计算坡度slope_data=gdal.DEMProcessing('slope....
安装gdal相关开发包打开anaconda上的environmentsinstalled框选择allsearchpackages框输入gdal选择geal点击applyanaconda会自动搜索适合目前使用python版本的gdal包以及和这个包相关联的包然后自动安装 Python调用GDAL计算地形耐用指数TRI地形位置指数TPI粗糙度Roughness的方法 Python调用GDAL计算地形耐用指数(TRI)地形位置指数(TPI)...
gdal.AllRegister() filePath='/home/theone/Data/GreatKhingan/DEM/Slope_GreatKhingan_500m.tif'dataset=gdal.Open(filePath) adfGeoTransform=dataset.GetGeoTransform()#左上角地理坐标print(adfGeoTransform[0])print(adfGeoTransform[3]) nXSize= dataset.RasterXSize#列数nYSize = dataset.RasterYSize#行数arr...
Ø使用GDAL库预处理 Ø转投影为wgs84+lonlat Ø拼接多景影像 2、案例一:土地利用分析(MOD12C1) Ø2000-2020年青藏高原土地利用分析 Ø分析不同土地利用分类上气温和降水的变化 3、案例二:生态系统生产力分析(MOD17A2) Ø青藏高原草场上土地利用GPP变化 ...
dataset = gdal.Open(tif_path) band = dataset.GetRasterBand(1) data = band.ReadAsArray() array[i] = data # 打印数组的形状 print(array.shape) print(array[0][1,2]) # 接着逐像元计算 result_slope = np.zeros((rows,cols),dtype='float32') # 定义存储slope数组 ...
gdal.AllRegister()filePath='/home/theone/Data/GreatKhingan/DEM/Slope_GreatKhingan_500m.tif'dataset=gdal.Open(filePath)adfGeoTransform=dataset.GetGeoTransform()# 左上角地理坐标print(adfGeoTransform[0])print(adfGeoTransform[3])nXSize=dataset.RasterXSize #列数 ...
matplotlib是python图表可视化的基础库,相信很多人都熟悉。它能创建静态、动态、交互式图表,支持自定义...