def processAlgorithm(self, progress): arguments = [] arguments.append("-s_srs") arguments.append(str(self.getParameterValue(warp.SOURCE_SRS))) arguments.append("-t_srs") crsId = self.getParameterValue(warp.DEST_SRS) self.crs = QgsCoordinateReferenceSystem(crsId) arguments.append(str(crsId)) arguments.append("-r") arguments.append(warp.METHOD_OPTIONS[self.getParameterValue( warp.METHOD)]) arguments.append("-of") out = self.getOutputValue(warp.OUTPUT) arguments.append(GdalUtils.getFormatShortNameFromFilename(out)) if self.getParameterValue(warp.TR) != 0: arguments.append("-tr") arguments.append(str(self.getParameterValue(warp.TR))) arguments.append(str(self.getParameterValue(warp.TR))) extra = str(self.getParameterValue(warp.EXTRA)) if len(extra) > 0: arguments.append(extra) arguments.append(self.getParameterValue(warp.INPUT)) arguments.append(out) GdalUtils.runGdal( ["gdalwarp", GdalUtils.escapeAndJoin(arguments)], progress)
def processAlgorithm(self, progress): out = self.getOutputValue(translate.OUTPUT) outsize = str(self.getParameterValue(translate.OUTSIZE)) outsizePerc = str(self.getParameterValue(translate.OUTSIZE_PERC)) noData = str(self.getParameterValue(translate.NO_DATA)) expand = str(self.getParameterFromName(translate.EXPAND).options[self.getParameterValue(translate.EXPAND)]) projwin = str(self.getParameterValue(translate.PROJWIN)) srs = str(self.getParameterValue(translate.SRS)) sds = str(self.getParameterValue(translate.SDS)) extra = str(self.getParameterValue(translate.EXTRA)) commands = ["gdal_translate"] commands.append("-of") commands.append(GdalUtils.getFormatShortNameFromFilename(out)) if outsizePerc == "True": outsizeStr = "-outsize "+outsize+"% "+outsize+"%" else: outsizeStr = "-outsize "+outsize+" "+outsize commands.append(outsizeStr) commands.append("-a_nodata "+noData) if expand != "none": commands.append("-expand "+expand) regionCoords = projwin.split(",") commands.append("-projwin "+regionCoords[0]+" "+regionCoords[3]+" "+regionCoords[1]+" "+regionCoords[2]) if srs != "": commands.append("-a_srs EPSG:"+srs) if sds == "True": commands.append("-sds") commands.append(extra) commands.append(self.getParameterValue(translate.INPUT)) commands.append(out) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): commands = ["gdaladdo"] input = self.getParameterValue(gdaladdo.INPUT) self.setOutputValue(gdaladdo.OUTPUT, input) commands.append(input) commands.append(self.getParameterValue(gdaladdo.LEVELS)) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] inFile = self.getParameterValue(gdaladdo.INPUT) arguments.append(inFile) arguments.extend(self.getParameterValue(gdaladdo.LEVELS).split(" ")) self.setOutputValue(gdaladdo.OUTPUT, inFile) GdalUtils.runGdal(["gdaladdo", GdalUtils.escapeAndJoin(arguments)], progress)
def processAlgorithm(self, progress): commands = ["gdaladdo"] input = self.getParameterValue(gdaladdo.INPUT) self.setOutputValue(gdaladdo.OUTPUT, input) commands.append(input) commands.append(self.getParameterValue(gdaladdo.LEVELS)) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): commands = ["gdal_translate"] commands.append("-of") out = self.getOutputValue(translate.OUTPUT) commands.append(GdalUtils.getFormatShortNameFromFilename(out)) commands.append(self.getParameterValue(translate.INPUT)) commands.append(out) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] inFile = self.getParameterValue(gdaladdo.INPUT) arguments.append(inFile) arguments.extend(self.getParameterValue(gdaladdo.LEVELS).split(" ")) self.setOutputValue(gdaladdo.OUTPUT, inFile) GdalUtils.runGdal( ["gdaladdo", GdalUtils.escapeAndJoin(arguments)], progress)
def processAlgorithm(self, progress): commands = ["nearblack"] commands.append("-o") commands.append(self.getOutputValue(nearblack.OUTPUT)) commands.append("-near") commands.append(str(self.getParameterValue(nearblack.NEAR))) if self.getParameterValue(nearblack.WHITE): commands.append("-white") commands.append(self.getParameterValue(nearblack.INPUT)) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] arguments.append("-o") arguments.append(self.getOutputValue(nearblack.OUTPUT)) arguments.append("-near") arguments.append(str(self.getParameterValue(nearblack.NEAR))) if self.getParameterValue(nearblack.WHITE): arguments.append("-white") arguments.append(self.getParameterValue(nearblack.INPUT)) GdalUtils.runGdal(["nearblack", GdalUtils.escapeAndJoin(arguments)], progress)
def processAlgorithm(self, progress): commands = ["nearblack"] commands.append("-o") commands.append(self.getOutputValue(nearblack.OUTPUT)) commands.append("-near") commands.append(str(self.getParameterValue(nearblack.NEAR))) if self.getParameterValue(nearblack.WHITE): commands.append("-white") commands.append(self.getParameterValue(nearblack.INPUT)) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] arguments.append("-o") arguments.append(self.getOutputValue(nearblack.OUTPUT)) arguments.append("-near") arguments.append(str(self.getParameterValue(nearblack.NEAR))) if self.getParameterValue(nearblack.WHITE): arguments.append("-white") arguments.append(self.getParameterValue(nearblack.INPUT)) GdalUtils.runGdal( ["nearblack", GdalUtils.escapeAndJoin(arguments)], progress)
def processAlgorithm(self, progress): commands = ["gdalinfo"] if self.getParameterValue(information.NOGCP): commands.append("-nogcp") if self.getParameterValue(information.NOMETADATA): commands.append("-nomd") commands.append(self.getParameterValue(information.INPUT)) GdalUtils.runGdal(commands, progress) output = self.getOutputValue(information.OUTPUT) f = open(output, "w") for s in GdalUtils.getConsoleOutput()[1:]: f.write("<p>" + str(s) + "</p>") f.close()
def processAlgorithm(self, progress): arguments = [] if self.getParameterValue(information.NOGCP): arguments.append("-nogcp") if self.getParameterValue(information.NOMETADATA): arguments.append("-nomd") arguments.append(self.getParameterValue(information.INPUT)) GdalUtils.runGdal(["gdalinfo", GdalUtils.escapeAndJoin(arguments)], progress) output = self.getOutputValue(information.OUTPUT) f = open(output, "w") for s in GdalUtils.getConsoleOutput()[1:]: f.write("<p>" + str(s) + "</p>") f.close()
def processAlgorithm(self, progress): commands = ["gdalinfo"] if self.getParameterValue(information.NOGCP): commands.append("-nogcp") if self.getParameterValue(information.NOMETADATA): commands.append("-nomd") commands.append(self.getParameterValue(information.INPUT)) GdalUtils.runGdal(commands, progress) output = self.getOutputValue(information.OUTPUT) f = open(output, "w") for s in GdalUtils.getConsoleOutput()[1:]: f.write("<p>" + str(s) + "</p>") f.close()
def processAlgorithm(self, progress): if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "gdal_polygonize.bat"] else: commands = ["gdal_polygonize.py"] commands.append(self.getParameterValue(polygonize.INPUT)) commands.append('-f') commands.append('"ESRI Shapefile"') output = self.getOutputValue(polygonize.OUTPUT) commands.append(output) commands.append(QtCore.QFileInfo(output).baseName()) commands.append(self.getParameterValue(polygonize.FIELD)) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] if self.getParameterValue(information.NOGCP): arguments.append("-nogcp") if self.getParameterValue(information.NOMETADATA): arguments.append("-nomd") arguments.append(self.getParameterValue(information.INPUT)) GdalUtils.runGdal( ["gdalinfo", GdalUtils.escapeAndJoin(arguments)], progress) output = self.getOutputValue(information.OUTPUT) f = open(output, "w") for s in GdalUtils.getConsoleOutput()[1:]: f.write("<p>" + str(s) + "</p>") f.close()
def processAlgorithm(self, progress): if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "rgb2pct.bat"] else: commands = ["rgb2pct.py"] commands.append("-n") commands.append(str(self.getParameterValue(rgb2pct.NCOLORS))) commands.append("-of") out = self.getOutputValue(rgb2pct.OUTPUT) commands.append(GdalUtils.getFormatShortNameFromFilename(out)) commands.append(self.getParameterValue(rgb2pct.INPUT)) commands.append(out) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "gdal_polygonize.bat"] else: commands = ["gdal_polygonize.py"] commands.append(self.getParameterValue(polygonize.INPUT)) commands.append('-f') commands.append('"ESRI Shapefile"') output = self.getOutputValue(polygonize.OUTPUT) commands.append(output) commands.append(QtCore.QFileInfo(output).baseName()) commands.append(self.getParameterValue(polygonize.FIELD)) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "pct2rgb.bat"] else: commands = ["pct2rgb.py"] commands.append("-b") commands.append(str(self.getParameterValue(pct2rgb.NBAND) + 1)) commands.append("-of") out = self.getOutputValue(pct2rgb.OUTPUT) commands.append(GdalUtils.getFormatShortNameFromFilename(out)) commands.append(self.getParameterValue(pct2rgb.INPUT)) commands.append(out) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): out = self.getOutputValue(translate.OUTPUT) outsize = str(self.getParameterValue(translate.OUTSIZE)) outsizePerc = str(self.getParameterValue(translate.OUTSIZE_PERC)) noData = str(self.getParameterValue(translate.NO_DATA)) expand = str( self.getParameterFromName( translate.EXPAND).options[self.getParameterValue( translate.EXPAND)]) projwin = str(self.getParameterValue(translate.PROJWIN)) srs = self.getParameterValue(translate.SRS) sds = self.getParameterValue(translate.SDS) extra = str(self.getParameterValue(translate.EXTRA)) arguments = [] arguments.append("-of") arguments.append(GdalUtils.getFormatShortNameFromFilename(out)) if outsizePerc == "True": arguments.append("-outsize") arguments.append(outsize + "%") arguments.append(outsize + "%") else: arguments.append("-outsize") arguments.append(outsize) arguments.append(outsize) arguments.append("-a_nodata") arguments.append(noData) if expand != "none": arguments.append("-expand") arguments.append(expand) regionCoords = projwin.split(",") arguments.append("-projwin") arguments.append(regionCoords[0]) arguments.append(regionCoords[3]) arguments.append(regionCoords[1]) arguments.append(regionCoords[2]) if srs is not None: arguments.append("-a_srs") arguments.append(str(srs)) self.crs = QgsCoordinateReferenceSystem(crsId) if sds: arguments.append("-sds") if len(extra) > 0: arguments.append(extra) arguments.append(self.getParameterValue(translate.INPUT)) arguments.append(out) GdalUtils.runGdal( ["gdal_translate", GdalUtils.escapeAndJoin(arguments)], progress)
def processAlgorithm(self, progress): if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "gdal_merge.bat"] else: commands = ["gdal_merge.py"] if self.getParameterValue(merge.SEPARATE): commands.append("-separate") if self.getParameterValue(merge.PCT): commands.append("-pct") commands.append("-of") out = self.getOutputValue(merge.OUTPUT) commands.append(GdalUtils.getFormatShortNameFromFilename(out)) commands.append(self.getParameterValue(merge.INPUT).replace(";", " ")) commands.append(out) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] arguments.append("-n") arguments.append(str(self.getParameterValue(rgb2pct.NCOLORS))) arguments.append("-of") out = self.getOutputValue(rgb2pct.OUTPUT) arguments.append(GdalUtils.getFormatShortNameFromFilename(out)) arguments.append(self.getParameterValue(rgb2pct.INPUT)) arguments.append(out) if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "rgb2pct.bat", GdalUtils.escapeAndJoin(arguments)] else: commands = ["rgb2pct.py", GdalUtils.escapeAndJoin(arguments)] GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "gdal_merge.bat"] else: commands = ["gdal_merge.py"] if self.getParameterValue(merge.SEPARATE): commands.append("-separate") if self.getParameterValue(merge.PCT): commands.append("-pct") commands.append("-of") out = self.getOutputValue(merge.OUTPUT) commands.append(GdalUtils.getFormatShortNameFromFilename(out)) commands.append(self.getParameterValue(merge.INPUT).replace(";", " ")) commands.append(out) GdalUtils.runGdal(commands, progress)
def getSupportedOutputRasterLayerExtensions(): allexts = ["tif"] for exts in GdalUtils.getSupportedRasters().values(): for ext in exts: if ext not in allexts: allexts.append(ext) return allexts
def getSupportedOutputRasterLayerExtensions(): allexts = ["tif"] for exts in GdalUtils.getSupportedRasters().values(): for ext in exts: if ext not in allexts: allexts.append(ext) return allexts
def getFormatShortNameFromFilename(self, filename): ext = filename[filename.rfind(".")+1:] supported = GdalUtils.getSupportedRasters() for name in supported.keys(): exts = supported[name] if ext in exts: return name return "GTiff"
def getFormatShortNameFromFilename(self, filename): ext = filename[filename.rfind(".") + 1:] supported = GdalUtils.getSupportedRasters() for name in supported.keys(): exts = supported[name] if ext in exts: return name return "GTiff"
def processAlgorithm(self, progress): srs = self.getParameterValue(warp.DEST_SRS) self.crs = QgsCoordinateReferenceSystem(int(srs)) commands = ["gdalwarp"] commands.append("-s_srs") commands.append("EPSG:" + str(self.getParameterValue(warp.SOURCE_SRS))) commands.append("-t_srs") commands.append("EPSG:" + str(srs)) commands.append("-r") commands.append(warp.METHOD_OPTIONS[self.getParameterValue(warp.METHOD)]) commands.append("-of") out = self.getOutputValue(warp.OUTPUT) commands.append(GdalUtils.getFormatShortNameFromFilename(out)) commands.append(self.getParameterValue(warp.INPUT)) commands.append(out) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): out = self.getOutputValue(translate.OUTPUT) outsize = str(self.getParameterValue(translate.OUTSIZE)) outsizePerc = str(self.getParameterValue(translate.OUTSIZE_PERC)) noData = str(self.getParameterValue(translate.NO_DATA)) expand = str(self.getParameterFromName(translate.EXPAND).options[self.getParameterValue(translate.EXPAND)]) projwin = str(self.getParameterValue(translate.PROJWIN)) crsId = self.getParameterValue(translate.SRS) sds = self.getParameterValue(translate.SDS) extra = str(self.getParameterValue(translate.EXTRA)) arguments = [] arguments.append("-of") arguments.append(GdalUtils.getFormatShortNameFromFilename(out)) if outsizePerc == "True": arguments.append("-outsize") arguments.append(outsize + "%") arguments.append(outsize + "%") else: arguments.append("-outsize") arguments.append(outsize) arguments.append(outsize) arguments.append("-a_nodata") arguments.append(noData) if expand != "none": arguments.append("-expand") arguments.append(expand) regionCoords = projwin.split(",") arguments.append("-projwin") arguments.append(regionCoords[0]) arguments.append(regionCoords[3]) arguments.append(regionCoords[1]) arguments.append(regionCoords[2]) if crsId is not None: arguments.append("-a_srs") arguments.append(str(crsId)) self.crs = QgsCoordinateReferenceSystem(crsId) if sds: arguments.append("-sds") if len(extra) > 0: arguments.append(extra) arguments.append(self.getParameterValue(translate.INPUT)) arguments.append(out) GdalUtils.runGdal(["gdal_translate", GdalUtils.escapeAndJoin(arguments)], progress)
def processAlgorithm(self, progress): srs = self.getParameterValue(warp.DEST_SRS) self.crs = QgsCoordinateReferenceSystem(int(srs)) commands = ["gdalwarp"] commands.append("-s_srs") commands.append("EPSG:" + str(self.getParameterValue(warp.SOURCE_SRS))) commands.append("-t_srs") commands.append("EPSG:" + str(srs)) commands.append("-r") commands.append(warp.METHOD_OPTIONS[self.getParameterValue( warp.METHOD)]) commands.append("-of") out = self.getOutputValue(warp.OUTPUT) commands.append(GdalUtils.getFormatShortNameFromFilename(out)) commands.append(self.getParameterValue(warp.INPUT)) commands.append(out) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] arguments.append("-n") arguments.append(str(self.getParameterValue(rgb2pct.NCOLORS))) arguments.append("-of") out = self.getOutputValue(rgb2pct.OUTPUT) arguments.append(GdalUtils.getFormatShortNameFromFilename(out)) arguments.append(self.getParameterValue(rgb2pct.INPUT)) arguments.append(out) if SextanteUtils.isWindows(): commands = [ "cmd.exe", "/C ", "rgb2pct.bat", GdalUtils.escapeAndJoin(arguments) ] else: commands = ["rgb2pct.py", GdalUtils.escapeAndJoin(arguments)] GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] if self.getParameterValue(merge.SEPARATE): arguments.append("-separate") if self.getParameterValue(merge.PCT): arguments.append("-pct") arguments.append("-o") out = self.getOutputValue(merge.OUTPUT) arguments.append(out) arguments.append("-of") arguments.append(GdalUtils.getFormatShortNameFromFilename(out)) arguments.extend(self.getParameterValue(merge.INPUT).split(";")) commands = [] if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "gdal_merge.bat", GdalUtils.escapeAndJoin(arguments)] else: commands = ["gdal_merge.py", GdalUtils.escapeAndJoin(arguments)] GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] if self.getParameterValue(merge.SEPARATE): arguments.append("-separate") if self.getParameterValue(merge.PCT): arguments.append("-pct") arguments.append("-o") out = self.getOutputValue(merge.OUTPUT) arguments.append(out) arguments.append("-of") arguments.append(GdalUtils.getFormatShortNameFromFilename(out)) arguments.extend(self.getParameterValue(merge.INPUT).split(";")) commands = [] if SextanteUtils.isWindows(): commands = ["cmd.exe", "/C ", "gdal_merge.bat", GdalUtils.escapeAndJoin(arguments)] else: commands = ["gdal_merge.py", GdalUtils.escapeAndJoin(arguments)] GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): out = self.getOutputValue(translate.OUTPUT) outsize = str(self.getParameterValue(translate.OUTSIZE)) outsizePerc = str(self.getParameterValue(translate.OUTSIZE_PERC)) noData = str(self.getParameterValue(translate.NO_DATA)) expand = str( self.getParameterFromName( translate.EXPAND).options[self.getParameterValue( translate.EXPAND)]) projwin = str(self.getParameterValue(translate.PROJWIN)) srs = self.getParameterValue(translate.SRS) sds = self.getParameterValue(translate.SDS) extra = str(self.getParameterValue(translate.EXTRA)) commands = ["gdal_translate"] commands.append("-of") commands.append(GdalUtils.getFormatShortNameFromFilename(out)) if outsizePerc == "True": outsizeStr = "-outsize " + outsize + "% " + outsize + "%" else: outsizeStr = "-outsize " + outsize + " " + outsize commands.append(outsizeStr) commands.append("-a_nodata " + noData) if expand != "none": commands.append("-expand " + expand) regionCoords = projwin.split(",") commands.append("-projwin " + regionCoords[0] + " " + regionCoords[3] + " " + regionCoords[1] + " " + regionCoords[2]) if srs is not None: commands.append("-a_srs " + str(srs)) if sds: commands.append("-sds") commands.append(extra) commands.append(self.getParameterValue(translate.INPUT)) commands.append(out) GdalUtils.runGdal(commands, progress)
def processAlgorithm(self, progress): arguments = [] arguments.append("-s_srs") arguments.append(str(self.getParameterValue(warp.SOURCE_SRS))) arguments.append("-t_srs") crsId = self.getParameterValue(warp.DEST_SRS) self.crs = QgsCoordinateReferenceSystem(crsId) arguments.append(str(crsId)) arguments.append("-r") arguments.append(warp.METHOD_OPTIONS[self.getParameterValue(warp.METHOD)]) arguments.append("-of") out = self.getOutputValue(warp.OUTPUT) arguments.append(GdalUtils.getFormatShortNameFromFilename(out)) if self.getParameterValue(warp.TR) != 0: arguments.append("-tr") arguments.append(str(self.getParameterValue(warp.TR))) arguments.append(str(self.getParameterValue(warp.TR))) extra = str(self.getParameterValue(warp.EXTRA)) if len(extra) > 0: arguments.append(extra) arguments.append(self.getParameterValue(warp.INPUT)) arguments.append(out) GdalUtils.runGdal(["gdalwarp", GdalUtils.escapeAndJoin(arguments)], progress)
def exportRasterLayer(layer): '''Takes a QgsRasterLayer and returns the filename to refer to it, which allows external apps which support only file-based layers to use it. It performs the necessary export in case the input layer is not in a standard format suitable for most applications, it is a remote one or db-based (non-file based) one Currently, the output is restricted to geotiff, but not all other formats are exported. Only those formats not supported by GDAL are exported, so it is assumed that the external app uses GDAL to read the layer''' exts = GdalUtils.getSupportedRasterExtensions() for ext in exts: if (unicode(layer.source()).endswith(ext)): return unicode(layer.source()) #TODO:Do the conversion here return unicode(layer.source())
def exportRasterLayer(layer): '''Takes a QgsRasterLayer and returns the filename to refer to it, which allows external apps which support only file-based layers to use it. It performs the necessary export in case the input layer is not in a standard format suitable for most applications, it is a remote one or db-based (non-file based) one Currently, the output is restricted to geotiff, but not all other formats are exported. Only those formats not supported by GDAL are exported, so it is assumed that the external app uses GDAL to read the layer''' exts = GdalUtils.getSupportedRasterExtensions() for ext in exts: if (unicode(layer.source()).endswith(ext)): return unicode(layer.source()) #TODO:Do the conversion here return unicode(layer.source())
def getSupportedOutputRasterLayerExtensions(self): return GdalUtils.getSupportedRasterExtensions()
def getSupportedOutputRasterLayerExtensions(self): return GdalUtils.getSupportedRasterExtensions()
1, line_data, buf_type=srcband.DataType) max_distance = 100 smoothing_iterations = 0 options = [] src_band = 1 gdal.AllRegister() src_ds = gdal.Open(src_filename, gdal.GA_ReadOnly) srcband = src_ds.GetRasterBand(src_band) maskband = srcband.GetMaskBand() drv = gdal.GetDriverByName( GdalUtils.getFormatShortNameFromFilename(dst_filename)) dst_ds = drv.Create(dst_filename, src_ds.RasterXSize, src_ds.RasterYSize, 1, srcband.DataType) wkt = src_ds.GetProjection() if wkt != '': dst_ds.SetProjection(wkt) dst_ds.SetGeoTransform(src_ds.GetGeoTransform()) dstband = dst_ds.GetRasterBand(1) CopyBand(srcband, dstband) prog_func = gdal.TermProgress result = gdal.FillNodata(dstband, maskband, max_distance,
try: driver = gdal.IdentifyDriver( dst_filename ) if driver is not None: dst_ds = gdal.Open( dst_filename, gdal.GA_Update ) dstband = dst_ds.GetRasterBand(dst_band_n) else: dst_ds = None except: dst_ds = None # ============================================================================= # Create output file. # ============================================================================= if dst_ds is None: drv = gdal.GetDriverByName(GdalUtils.getFormatShortNameFromFilename(dst_filename)) dst_ds = drv.Create( dst_filename, src_ds.RasterXSize, src_ds.RasterYSize, 1, gdal.GetDataTypeByName(creation_type) ) dst_ds.SetGeoTransform( src_ds.GetGeoTransform() ) dst_ds.SetProjection( src_ds.GetProjectionRef() ) dstband = dst_ds.GetRasterBand(1) # ============================================================================= # Invoke algorithm. # ============================================================================= prog_func = gdal.TermProgress gdal.ComputeProximity( srcband, dstband, options,
try: from osgeo import gdal, ogr except ImportError: import gdal import ogr threshold = 2 connectedness=int(connectedness) options = [] src_ds = gdal.Open( src_filename, gdal.GA_ReadOnly ) srcband = src_ds.GetRasterBand(1) maskband = srcband.GetMaskBand() drv = gdal.GetDriverByName(GdalUtils.getFormatShortNameFromFilename(dst_filename)) dst_ds = drv.Create( dst_filename,src_ds.RasterXSize, src_ds.RasterYSize,1, srcband.DataType ) wkt = src_ds.GetProjection() if wkt != '': dst_ds.SetProjection( wkt ) dst_ds.SetGeoTransform( src_ds.GetGeoTransform() ) dstband = dst_ds.GetRasterBand(1) prog_func = gdal.TermProgress result = gdal.SieveFilter( srcband, maskband, dstband, threshold, connectedness, callback = prog_func ) src_ds = None