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 = ["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): 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): 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 ", "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 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): 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 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