Skip to content

Commit 7973171

Browse files
committed
Update GDAL extractprojection.py to QGIS 3
1 parent 296df2e commit 7973171

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

python/plugins/processing/algs/gdal/extractprojection.py

+14-10
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
from osgeo import gdal, osr
3333

3434
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)
3737

3838
pluginPath = os.path.split(os.path.split(os.path.dirname(__file__))[0])[0]
3939

@@ -47,8 +47,8 @@ def __init__(self):
4747
super().__init__()
4848

4949
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,
5252
self.tr('Create also .prj file'), False))
5353

5454
def name(self):
@@ -73,13 +73,15 @@ def getConsoleCommands(self, parameters, context, feedback, executing=True):
7373
return [self.commandName()]
7474

7575
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()
8283
raster = None
84+
rasterDS = None
8385

8486
outFileName = os.path.splitext(str(rasterPath))[0]
8587

@@ -104,3 +106,5 @@ def processAlgorithm(self, parameters, context, feedback):
104106
wld.write('%0.8f\n' % (geotransform[3] +
105107
0.5 * geotransform[4] +
106108
0.5 * geotransform[5]))
109+
return {}
110+

0 commit comments

Comments
 (0)