mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
Merge pull request #16 from alexbruy/master
mask option for gdal_polygonize tool
This commit is contained in:
commit
45cc8a7fea
@ -25,15 +25,18 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget):
|
||||
[
|
||||
(self.inSelector, SIGNAL("filenameChanged()")),
|
||||
(self.outSelector, SIGNAL("filenameChanged()")),
|
||||
(self.maskSelector, SIGNAL("filenameChanged()"), self.maskCheck),
|
||||
(self.fieldEdit, SIGNAL("textChanged(const QString &)"), self.fieldCheck)
|
||||
]
|
||||
)
|
||||
|
||||
self.connect(self.inSelector, SIGNAL("selectClicked()"), self.fillInputFileEdit)
|
||||
self.connect(self.outSelector, SIGNAL("selectClicked()"), self.fillOutputFileEdit)
|
||||
self.connect(self.maskSelector, SIGNAL("selectClicked()"), self.fillMaskFileEdit)
|
||||
|
||||
def onLayersChanged(self):
|
||||
self.inSelector.setLayers( Utils.LayerRegistry.instance().getRasterLayers() )
|
||||
self.maskSelector.setLayers( Utils.LayerRegistry.instance().getRasterLayers() )
|
||||
|
||||
def fillInputFileEdit(self):
|
||||
lastUsedFilter = Utils.FileFilter.lastUsedRasterFilter()
|
||||
@ -55,10 +58,23 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget):
|
||||
self.outSelector.setFilename(outputFile)
|
||||
self.lastEncoding = encoding
|
||||
|
||||
def fillMaskFileEdit(self):
|
||||
lastUsedFilter = Utils.FileFilter.lastUsedRasterFilter()
|
||||
maskFile = Utils.FileDialog.getOpenFileName(self, self.tr( "Select the input file for Polygonize" ), Utils.FileFilter.allRastersFilter(), lastUsedFilter )
|
||||
if maskFile.isEmpty():
|
||||
return
|
||||
Utils.FileFilter.setLastUsedRasterFilter(lastUsedFilter)
|
||||
|
||||
self.maskSelector.setFilename(maskFile)
|
||||
|
||||
def getArguments(self):
|
||||
arguments = QStringList()
|
||||
arguments << self.getInputFileName()
|
||||
outputFn = self.getOutputFileName()
|
||||
maskFn = self.getMaskFileName()
|
||||
if self.maskCheck.isChecked() and not maskFn.isEmpty():
|
||||
arguments << "-mask"
|
||||
arguments << maskFn
|
||||
if not outputFn.isEmpty():
|
||||
arguments << "-f"
|
||||
arguments << self.outputFormat
|
||||
@ -74,6 +90,9 @@ class GdalToolsDialog(QWidget, Ui_Widget, BasePluginWidget):
|
||||
|
||||
def getInputFileName(self):
|
||||
return self.inSelector.filename()
|
||||
|
||||
def getMaskFileName(self):
|
||||
return self.maskSelector.filename()
|
||||
|
||||
def addLayerIntoCanvas(self, fileInfo):
|
||||
vl = self.iface.addVectorLayer(fileInfo.filePath(), fileInfo.baseName(), "ogr")
|
||||
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>449</width>
|
||||
<height>94</height>
|
||||
<width>446</width>
|
||||
<height>121</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
@ -19,50 +19,56 @@
|
||||
<property name="windowTitle">
|
||||
<string>Polygonize (Raster to vector)</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>&Input file (raster)</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>inSelector</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>&Output file for polygons (shapefile)</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>outSelector</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="fieldCheck">
|
||||
<property name="text">
|
||||
<string>&Field name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="fieldEdit">
|
||||
<property name="text">
|
||||
<string>DN</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="GdalToolsInOutSelector" name="inSelector" native="true"/>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="GdalToolsInOutSelector" name="outSelector" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>&Input file (raster)</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>inSelector</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="GdalToolsInOutSelector" name="inSelector" native="true"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>&Output file for polygons (shapefile)</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>outSelector</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="GdalToolsInOutSelector" name="outSelector" native="true"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="fieldCheck">
|
||||
<property name="text">
|
||||
<string>&Field name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="fieldEdit">
|
||||
<property name="text">
|
||||
<string>DN</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="maskCheck">
|
||||
<property name="text">
|
||||
<string>Use mask</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="GdalToolsInOutSelector" name="maskSelector" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
Loading…
x
Reference in New Issue
Block a user