停止每次执行gdal命令时打开新的gdal命令窗口python

2024-06-26 02:54:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个使用gdalswarp的PyQGIS脚本。为我做这件事的代码如下:

warp = 'gdalwarp -ot Byte -q -of GTiff -tr 2.81932541777e-05 -2.81932541777e-05 -tap -cutline %s -crop_to_cutline -co COMPRESS=DEFLATE -co PREDICTOR=1 -co ZLEVEL=6 -wo OPTIMIZE_SIZE=TRUE %s %s' % (instrv, ('"' + pathsplitedit + '"'), outputpath2)                                                                          
call (warp)   

所以我有一个循环,一切都很好。然而,每次执行时都会打开一个新的命令窗口,这并不理想,因为它在shapefile中循环了100个特性。有没有办法让命令窗口完全打开?非常感谢任何帮助!!在


Tags: of代码命令脚本otbytetaptr
1条回答
网友
1楼 · 发布于 2024-06-26 02:54:31

自从gdal2.1(QGIS的最新版本使用)以来,您可以从绑定本身访问命令行实用程序,这有很多好处。在

你的电话变成了这样,注意我没有复制你所有的创建选项,只是想告诉你如何使用它。在

warpopts = gdal.WarpOptions(outputType=gdal.GDT_Byte, 
                            format='GTiff', 
                            xRes=2.81932541777e-05,
                            yRes=-2.81932541777e-05, 
                            cutlineDSName='cutline_vec.shp',
                            cropToCutline=True, 
                            targetAlignedPixels=True, 
                            options=['COMPRESS=DEFLATE'])

ds = gdal.Warp('raster_out.tif', 'raster_in.tif', options=warpopts)
ds = None

其中一个好处是输入文件不必在磁盘上,但也可以打开gdal/ogr数据集。gdal.Warpcmd还将输出文件作为打开的数据集返回,然后可以将其传递给其他命令。在

相关问题 更多 >