32
32
from osgeo import gdal , osr
33
33
34
34
from processing .algs .gdal .GdalAlgorithm import GdalAlgorithm
35
- from processing .core . parameters import ParameterRaster
36
- from processing . core . parameters import ParameterBoolean
35
+ from qgis .core import ( QgsProcessingParameterRasterLayer ,
36
+ QgsProcessingParameterBoolean )
37
37
38
38
pluginPath = os .path .split (os .path .split (os .path .dirname (__file__ ))[0 ])[0 ]
39
39
@@ -47,8 +47,8 @@ def __init__(self):
47
47
super ().__init__ ()
48
48
49
49
def initAlgorithm (self , config = None ):
50
- self .addParameter (ParameterRaster (self .INPUT , self .tr ('Input file' )))
51
- self .addParameter (ParameterBoolean (self .PRJ_FILE ,
50
+ self .addParameter (QgsProcessingParameterRasterLayer (self .INPUT , self .tr ('Input file' )))
51
+ self .addParameter (QgsProcessingParameterBoolean (self .PRJ_FILE ,
52
52
self .tr ('Create also .prj file' ), False ))
53
53
54
54
def name (self ):
@@ -73,13 +73,15 @@ def getConsoleCommands(self, parameters, context, feedback, executing=True):
73
73
return [self .commandName ()]
74
74
75
75
def processAlgorithm (self , parameters , context , feedback ):
76
- rasterPath = self .getParameterValue (self .INPUT )
77
- createPrj = self .getParameterValue (self .PRJ_FILE )
78
-
79
- raster = gdal .Open (str (rasterPath ))
80
- crs = raster .GetProjection ()
81
- geotransform = raster .GetGeoTransform ()
76
+ createPrj = QgsProcessingParameterBoolean (self .PRJ_FILE )
77
+ raster = self .parameterAsRasterLayer (parameters , self .INPUT , context )
78
+ rasterPath = raster .source ()
79
+ rasterDS = gdal .Open (rasterPath , gdal .GA_ReadOnly )
80
+ geotransform = rasterDS .GetGeoTransform ()
81
+ inputcrs = raster .crs ()
82
+ crs = inputcrs .toWkt ()
82
83
raster = None
84
+ rasterDS = None
83
85
84
86
outFileName = os .path .splitext (str (rasterPath ))[0 ]
85
87
@@ -104,3 +106,5 @@ def processAlgorithm(self, parameters, context, feedback):
104
106
wld .write ('%0.8f\n ' % (geotransform [3 ] +
105
107
0.5 * geotransform [4 ] +
106
108
0.5 * geotransform [5 ]))
109
+ return {}
110
+
0 commit comments