def importLayer(self): filename = QtGui.QFileDialog.getOpenFileName(self.mainWindow, 'DEM Import') if filename == '': return header = DEMLayer.hiddenHeader(filename) if header.has_key('xll') and header.has_key('yll') and header.has_key('dc') and header.has_key('dr') and header.has_key('nc') and header.has_key('nr') and header.has_key('angle') and header.has_key('no_data'): self.layer = DEMLayer.load('Promaides DEM', filename, header) else: dialog = uic.loadUi(os.path.join(self.uiDir, 'dem_header_dialog.ui')) if dialog.exec_() != QtGui.QDialog.Accepted: return header = {'xll': dialog.xll.value(), 'yll': dialog.yll.value(), 'dc': dialog.dc.value(), 'dr': dialog.dr.value(), 'nc': dialog.nc.value(), 'nr': dialog.nr.value(), 'angle': math.radians(dialog.angle.value()), 'no_data': dialog.nodata.value()} self.layer = DEMLayer.load(dialog.name.text(), filename, header) QgsMapLayerRegistry.instance().addMapLayer(self.layer)
def rasters(self): result = [] for row in range(self.listWidget.count()): item = self.listWidget.item(row) xll = item.data(PluginDialog.xllRole) yll = item.data(PluginDialog.yllRole) nr = item.data(PluginDialog.nrRole) nc = item.data(PluginDialog.ncRole) dr = item.data(PluginDialog.drRole) dc = item.data(PluginDialog.dcRole) angle = item.data(PluginDialog.angleRole) nodata = item.data(PluginDialog.nodataRole) raster = DEMLayer(xll, yll, dc, dr, nc, nr, angle / 180.0 * math.pi, nodata) raster.set_name(item.text()) interpolMode = item.data(PluginDialog.interpolRole) filename = item.data(PluginDialog.fileRole) data = (raster, interpolMode, filename) result.append(data) return result
def exportLayer(self): filename = QtGui.QFileDialog.getSaveFileName(self.mainWindow, 'DEM Export') if filename == '': return DEMLayer.save(self.layer, filename)