1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > GDAL+Python实现栅格影像处理之栅格矢量化及矢量栅格化

GDAL+Python实现栅格影像处理之栅格矢量化及矢量栅格化

时间:2018-12-16 10:31:04

相关推荐

GDAL+Python实现栅格影像处理之栅格矢量化及矢量栅格化

GDAL+Python实现栅格影像处理之栅格矢量化及矢量栅格化

相关概念使用方法效果展示

相关概念

栅格矢量化:将栅格数据生成矢量数据。

矢量栅格化:将矢量数据生成栅格数据。

使用方法

栅格矢量化

使用gdal.Polygonize()方法参数说明(未列完)代码实现

def PolygonizeTheRaster():inputfile = r'G:/studyprojects/gdal/GdalStudy/Files/images/CHA.tif'ds = gdal.Open(inputfile, gdal.GA_ReadOnly)srcband=ds.GetRasterBand(1)maskband=srcband.GetMaskBand()dst_filename='G:/studyprojects/gdal/GdalStudy/Files/plogon/test.shp'drv = ogr.GetDriverByName('ESRI Shapefile')dst_ds = drv.CreateDataSource(dst_filename)srs = Nonedst_layername = 'out'dst_layer = dst_ds.CreateLayer(dst_layername, srs=srs)dst_fieldname = 'DN'fd = ogr.FieldDefn(dst_fieldname, ogr.OFTInteger)dst_layer.CreateField(fd)dst_field = 0prog_func =test()options=[]# 参数 输入栅格图像波段\掩码图像波段、矢量化后的矢量图层、需要将DN值写入矢量字段的索引、算法选项、进度条回调函数、进度条参数gdal.Polygonize(srcband, maskband, dst_layer,dst_field, options,callback=prog_func)

矢量栅格化

使用gdal.RasterizeLayer()方法参数说明(未列完)代码实现

def RasterzeTheVectorToRasterr():print("lets gogogogo")# 参数说明: 输出的栅格数据,注意该数据必须以update模式打开、指定要更新的波段个数(更新123波段)、指定的图层、几何图形坐标转换图像行列号函数、几何图形坐标转换图像行列号参数、以及图层中属性字段属性值inputfilePath='G:/studyprojects/gdal/GdalStudy/Files/plogon/test.shp'outputfile='G:/studyprojects/gdal/GdalStudy/Files/images/vector.tif'templetefile='G:/studyprojects/gdal/GdalStudy/Files/images/CHA.tif'data = gdal.Open(templetefile, gdalconst.GA_ReadOnly)x_res = data.RasterXSizey_res = data.RasterYSizevector = ogr.Open(inputfilePath)layer = vector.GetLayer()targetDataSet = gdal.GetDriverByName('GTiff').Create(outputfile, x_res, y_res, 3, gdal.GDT_Byte)#targetDataSet=gdal.GetDriverByName('GTiff').CreateCopy(templetefile,data)targetDataSet.SetGeoTransform(data.GetGeoTransform())targetDataSet.SetProjection(data.GetProjection())band = targetDataSet.GetRasterBand(1)NoData_value = -999band.SetNoDataValue(NoData_value)band.FlushCache()gdal.RasterizeLayer(targetDataSet, [1,2,3], layer, options=["ATTRIBUTE=DN"])

效果展示

栅格矢量化

矢量栅格化

如上图所示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。