srs = osr.SpatialReference(wkt=prj_ref)
if srs.IsProjected:
print(srs.GetAttrValue('projcs'))
print(srs.GetAttrValue('geogcs'))
data = np.random.rand(100, 100) # Create a random 100x100 raster
DEM_size = np.shape(data) # Get size of raster
dstfile = os.path.join(os.path.dirname(dataRef), 'result.tiff') # Output file path
# Make geotransform
xmin, ymax = (gt_ref[0], gt_ref[3])
nrows, ncols = DEM_size
xres = gt_ref[1]
yres = np.abs(gt_ref[5])
geotransform = (xmin, xres, 0, ymax, 0, -yres)
# Write output
driver = gdal.GetDriverByName('Gtiff')
dataset = driver.Create(dstfile, ncols, nrows, 1, gdal.GDT_Float32)
dataset.SetGeoTransform(geotransform)
srs = osr.SpatialReference(wkt=prj_ref)
dataset.SetProjection(srs.ExportToWkt())
dataset.GetRasterBand(1).WriteArray(data)
dataset = None
if __name__ == "__main__":
landsat8_dir = 'D:/now/landsat8/LC08_L1TP_044032_20181108_20181116_01_T1/LC08_L1TP_044032_20181108_20181116_01_T1_B1.TIF'
test('', landsat8_dir)
import numpy as npfrom osgeo import gdal, osr # Create a random 100x100 rastertest_dem = np.random.rand(100,100)# Get size of rasterDEM_size = np.shape(test_dem)# Output file pathdstfile = ...
本次安装和配置过程重点参考了:
1、http://blog.csdn.net/wjkwjk/article/details/52560236
2、http://blog.csdn.net/wjkwjk/article/details/52600942?locationNum=5
3、http://blog.csdn.net/zangle260/article/details/40347005...
我们常常在图像处理过程中遇到不同软件或程序要求输入的图像格式不同(有些程序或软件支持的数据格式不是常用的
Tiff
,Img等数据格式),因此需要对不同的数据格式相互进行转换。 我这里以G
Tiff
(.tif)数据转换为PCRaster(.map)数据为例。
首先需要安装
GDAL
,我这里是在Anaconda上直接安装了基于Python的
GDAL
,可以在下面网站自行下载,https://www.lfd.uci.edu/~gohlke/pythonlibs/#
gdal
例如下面对应的就是Pyth...
②确定
输出
影像的范围(长x宽);
③以此读取输入影像到
输出
影像中,保证输入影像在
输出
影像中的正确x、y偏移值(重叠部分默认用后一张影像值替代;无数据部分默认用黑色填充)。
GDAL
读写tif
文件
函数介绍及注意点..
1.高效性:C语言是一种非常高效的编程语言,其执行速度比大多数其他编程语言快很多,因此对于需要进行处理大量数据和进行复杂计算的场景非常适合。
2.灵活性:C语言提供了非常多的工具和函数,同时又支持用户自定义函数和数据类型,因此可以让程序员根据自己的需要编写出非常灵活的程序。
3.可移植性:C语言可以在不同的操作系统和硬件平台上运行,因此可以让程序更加通用和适用于不同的计算环境。
4.易于学习:C语言的语法相对简单,模块化和结构化编程风格易于理解,因此入门门槛较低,易于学习。
C语言的适用范围:
1.系统软件开发:C语言由于其高效性和可移植性的特点,其广泛用于系统软件开发中,如操作系统、编译器等。
2.嵌入式系统开发:C语言在嵌入式系统开发中也非常流行,其可以用于编写驱动程序、操作系统、网络协议栈等等。
3.科学计算:C语言的执行速度非常快,其广泛用于科学计算领域,如数值分析、机器学习等等。
4.游戏开发:C语言由于其高效性,非常适合用于游戏开发中,其可以用于编写游戏引擎、游戏物理引擎等。
总之,
使用
C语言可以带来高效、灵活、可移植等多种好处,其可以应用于不同领域的开发工作中。当然,C语言也有其缺点,如容易出错、内存管理较为复杂等,因此
使用
C语言的开发人员需要具备一定的编程和操作系统相关知识。