def __init__(self): QMainWindow.__init__(self) self.layer = None # Required by Qt4 to initialize the UI self.setupUi(self) #self.ui = Ui_MainWindow() #self.ui.setupUi(self) qDebug("trying to configure signals" ) QObject.connect(self.mBtnZoomIn, SIGNAL("clicked()"), self.zoomIn) QObject.connect(self.mBtnZoomOut, SIGNAL("clicked()"), self.zoomOut) QObject.connect(self.mBtnAddVector, SIGNAL("clicked()"), self.loadVectorLayer) QObject.connect(self.mBtnAddRaster, SIGNAL("clicked()"), self.loadRasterLayer) QObject.connect(self.mBtnSelection, SIGNAL("clicked()"), self.setSelectionTool) QObject.connect(self.mBtnElevation, SIGNAL("clicked()"), self.getVerticesList) # Set the title for the app self.setWindowTitle("ShapeViewer") # Create the map canvas self.canvas = QgsMapCanvas() self.canvas.useImageToRender(False) self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.show() # Add map tools self.selectTool = SelectMapTool(self.canvas) self.demLayer = None # Lay our widgets out in the main window using a # vertical box layout self.layout = QVBoxLayout(self.frame) self.layout.addWidget(self.canvas)
def __init__(self): QMainWindow.__init__(self) self.layer = None # Required by Qt4 to initialize the UI self.setupUi(self) # self.ui = Ui_MainWindow() # self.ui.setupUi(self) qDebug("trying to configure signals") QObject.connect(self.mBtnZoomIn, SIGNAL("clicked()"), self.zoomIn) QObject.connect(self.mBtnZoomOut, SIGNAL("clicked()"), self.zoomOut) QObject.connect(self.mBtnAddVector, SIGNAL("clicked()"), self.loadVectorLayer) QObject.connect(self.mBtnAddRaster, SIGNAL("clicked()"), self.loadRasterLayer) QObject.connect(self.mBtnSelection, SIGNAL("clicked()"), self.setSelectionTool) QObject.connect(self.mBtnElevation, SIGNAL("clicked()"), self.getVerticesList) # Set the title for the app self.setWindowTitle("ShapeViewer") # Create the map canvas self.canvas = QgsMapCanvas() self.canvas.useImageToRender(False) self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.show() # Add map tools self.selectTool = SelectMapTool(self.canvas) self.demLayer = None # Lay our widgets out in the main window using a # vertical box layout self.layout = QVBoxLayout(self.frame) self.layout.addWidget(self.canvas)
class ShapeViewer(QMainWindow, Ui_MainWindow): def __init__(self): QMainWindow.__init__(self) self.layer = None # Required by Qt4 to initialize the UI self.setupUi(self) #self.ui = Ui_MainWindow() #self.ui.setupUi(self) qDebug("trying to configure signals" ) QObject.connect(self.mBtnZoomIn, SIGNAL("clicked()"), self.zoomIn) QObject.connect(self.mBtnZoomOut, SIGNAL("clicked()"), self.zoomOut) QObject.connect(self.mBtnAddVector, SIGNAL("clicked()"), self.loadVectorLayer) QObject.connect(self.mBtnAddRaster, SIGNAL("clicked()"), self.loadRasterLayer) QObject.connect(self.mBtnSelection, SIGNAL("clicked()"), self.setSelectionTool) QObject.connect(self.mBtnElevation, SIGNAL("clicked()"), self.getVerticesList) # Set the title for the app self.setWindowTitle("ShapeViewer") # Create the map canvas self.canvas = QgsMapCanvas() self.canvas.useImageToRender(False) self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.show() # Add map tools self.selectTool = SelectMapTool(self.canvas) self.demLayer = None # Lay our widgets out in the main window using a # vertical box layout self.layout = QVBoxLayout(self.frame) self.layout.addWidget(self.canvas) def zoomIn(self): qDebug("Zoom In Activated") self.canvas.zoomIn(); def zoomOut(self): qDebug("Zoom Out Activated") self.canvas.zoomOut(); def loadVectorLayer(self): qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Shapefile", ".", "Shapefiles (*.shp)") fileInfo = QFileInfo(file) # Add the layer layer = QgsVectorLayer(file, fileInfo.fileName(), "ogr") if not layer.isValid(): return # Add layer to the registry # Set extent to the extent of our layer self.canvas.setExtent(layer.extent()) QgsMapLayerRegistry.instance().addMapLayer(layer) layers = self.canvas.mapRenderer().layerSet() layers.append(layer.id()) self.canvas.mapRenderer().setLayerSet(layers) self.layer = layer self.canvas.refresh() qDebug("layer loaded successfully!!" ) def loadRasterLayer(self): qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Raster", ".", "Rasters (*.*)") fileInfo = QFileInfo(file) # Add the layer #layer = QgsVectorLayer(file, fileInfo.fileName(), "ogr") layer = QgsRasterLayer(file, fileInfo.fileName()) if not layer.isValid(): return self.demLayer = layer # Add layer to the registry # Set extent to the extent of our layer self.canvas.setExtent(layer.extent()) QgsMapLayerRegistry.instance().addMapLayer(layer) layers = self.canvas.mapRenderer().layerSet() layers.append(layer.id()) self.canvas.mapRenderer().setLayerSet(layers) qDebug("layer loaded successfully!!" ) self.canvas.refresh() def getElevation(self, point): #point is QgsPoint print point.x() print point.y() choosenBand = 0 attr = 0 if QGis.QGIS_VERSION_INT >= 10900: # for QGIS >= 1.9 # this code adapted from valuetool plugin ident = self.demLayer.dataProvider().identify(point, QgsRasterDataProvider.IdentifyFormatValue) if ident is not None and ident.has_key(choosenBand+1): attr = ident[choosenBand+1].toDouble()[0] if self.demLayer.dataProvider().isNoDataValue ( choosenBand+1, attr ): attr = 0 else: ident = self.demLayer.identify(point) try: attr = float(ident[1].values()[choosenBand]) except: pass return attr def getPointAtDistance(self,distance,geometry): shapelyLineGeom = loads(str(geometry.exportToWkt())) shapelyPoint = shapelyLineGeom.interpolate(distance) qgsPointGeom = QgsGeometry.fromWkt(shapelyPoint.wkt) return qgsPointGeom def getSegmentedPoints(self, geometry, ratio): #return list of QgsPoint pointList = [] geomLength = geometry.length() perc = ratio * geomLength length = -perc while(length < geomLength): length = length + perc point = self.getPointAtDistance(length, geometry) pointList.append(point) return pointList def getElevationTest(self): g1 = QgsGeometry.fromWkt('LINESTRING(490351.96514423 4548291.73076923, 494542.01322115 4541976.58653846)') spoints = self.getSegmentedPoints(g1,0.1) for item in spoints: print "print points....." print item.exportToWkt() def showBuffer(self): width, ok = QtGui.QInputDialog.getDouble(iface.mapCanvas(), 'Input Dialog', 'Enter Width:') qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Raster", ".", "Rasters (*.*)") fileInfo = QFileInfo(file) def setSelectionTool(self): self.canvas.setMapTool(self.selectTool) self.selectTool.setCurrentLayer(self.layer) def getVerticesList(self): i=0 verticesList = [] lyrSelection = self.layer.selectedFeatures() for feature in lyrSelection: geom = feature.geometry() vrtcs = self.getSegmentedPoints(geom,0.1) for v in vrtcs: print "-----------------------------------------------------------------" qDebug (str(v.asPoint().x()) + "," + str(v.asPoint().y())) print "-----------------------------------------------------------------" x=v.asPoint().x() y=v.asPoint().y() y1=y-5 for j in range(5): xCord[i][j]= x yCord[i][j]= y elev[i][j]=self.getElevation(QgsPoint(x,y)) y=y+5 for j in range(5): xCord[i][j]= x yCord[i][j]= y1 elev[i][j]=self.getElevation(QgsPoint(x,y)) y=y-5 i = i + 1 # i++ does not exist in python.. calc(xCord,yCord,elev) ##calling the calc function in the calculation.py
class ShapeViewer(QMainWindow, Ui_MainWindow): def __init__(self): QMainWindow.__init__(self) self.layer = None # Required by Qt4 to initialize the UI self.setupUi(self) # self.ui = Ui_MainWindow() # self.ui.setupUi(self) qDebug("trying to configure signals") QObject.connect(self.mBtnZoomIn, SIGNAL("clicked()"), self.zoomIn) QObject.connect(self.mBtnZoomOut, SIGNAL("clicked()"), self.zoomOut) QObject.connect(self.mBtnAddVector, SIGNAL("clicked()"), self.loadVectorLayer) QObject.connect(self.mBtnAddRaster, SIGNAL("clicked()"), self.loadRasterLayer) QObject.connect(self.mBtnSelection, SIGNAL("clicked()"), self.setSelectionTool) QObject.connect(self.mBtnElevation, SIGNAL("clicked()"), self.getVerticesList) # Set the title for the app self.setWindowTitle("ShapeViewer") # Create the map canvas self.canvas = QgsMapCanvas() self.canvas.useImageToRender(False) self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.show() # Add map tools self.selectTool = SelectMapTool(self.canvas) self.demLayer = None # Lay our widgets out in the main window using a # vertical box layout self.layout = QVBoxLayout(self.frame) self.layout.addWidget(self.canvas) def zoomIn(self): qDebug("Zoom In Activated") self.canvas.zoomIn() def zoomOut(self): qDebug("Zoom Out Activated") self.canvas.zoomOut() def loadVectorLayer(self): qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Shapefile", ".", "Shapefiles (*.shp)") fileInfo = QFileInfo(file) # Add the layer layer = QgsVectorLayer(file, fileInfo.fileName(), "ogr") if not layer.isValid(): return # Add layer to the registry # Set extent to the extent of our layer self.canvas.setExtent(layer.extent()) QgsMapLayerRegistry.instance().addMapLayer(layer) layers = self.canvas.mapRenderer().layerSet() layers.append(layer.id()) self.canvas.mapRenderer().setLayerSet(layers) self.layer = layer self.canvas.refresh() qDebug("layer loaded successfully!!") def loadRasterLayer(self): qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Raster", ".", "Rasters (*.*)") fileInfo = QFileInfo(file) # Add the layer # layer = QgsVectorLayer(file, fileInfo.fileName(), "ogr") layer = QgsRasterLayer(file, fileInfo.fileName()) if not layer.isValid(): return self.demLayer = layer # Add layer to the registry # Set extent to the extent of our layer self.canvas.setExtent(layer.extent()) QgsMapLayerRegistry.instance().addMapLayer(layer) layers = self.canvas.mapRenderer().layerSet() layers.append(layer.id()) self.canvas.mapRenderer().setLayerSet(layers) qDebug("layer loaded successfully!!") self.canvas.refresh() def getElevation(self, point): # point is QgsPoint print point.x() print point.y() choosenBand = 0 attr = 0 if QGis.QGIS_VERSION_INT >= 10900: # for QGIS >= 1.9 # this code adapted from valuetool plugin ident = self.demLayer.dataProvider().identify(point, QgsRasterDataProvider.IdentifyFormatValue) if ident is not None and ident.has_key(choosenBand + 1): attr = ident[choosenBand + 1].toDouble()[0] if self.demLayer.dataProvider().isNoDataValue(choosenBand + 1, attr): attr = 0 else: ident = self.demLayer.identify(point) try: attr = float(ident[1].values()[choosenBand]) except: pass return attr def getPointAtDistance(self, distance, geometry): shapelyLineGeom = loads(str(geometry.exportToWkt())) shapelyPoint = shapelyLineGeom.interpolate(distance) qgsPointGeom = QgsGeometry.fromWkt(shapelyPoint.wkt) return qgsPointGeom def getSegmentedPoints(self, geometry, ratio): # return list of QgsPoint pointList = [] geomLength = geometry.length() perc = ratio * geomLength length = -perc while length < geomLength: length = length + perc point = self.getPointAtDistance(length, geometry) pointList.append(point) return pointList def getElevationTest(self): g1 = QgsGeometry.fromWkt("LINESTRING(490351.96514423 4548291.73076923, 494542.01322115 4541976.58653846)") spoints = self.getSegmentedPoints(g1, 0.1) for item in spoints: print "print points....." print item.exportToWkt() def showBuffer(self): width, ok = QtGui.QInputDialog.getDouble(iface.mapCanvas(), "Input Dialog", "Enter Width:") qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Raster", ".", "Rasters (*.*)") fileInfo = QFileInfo(file) def setSelectionTool(self): self.canvas.setMapTool(self.selectTool) self.selectTool.setCurrentLayer(self.layer) def getVerticesList(self): i = 0 verticesList = [] lyrSelection = self.layer.selectedFeatures() for feature in lyrSelection: geom = feature.geometry() vrtcs = self.getSegmentedPoints(geom, 0.1) for v in vrtcs: print "-----------------------------------------------------------------" qDebug(str(v.asPoint().x()) + "," + str(v.asPoint().y())) print "-----------------------------------------------------------------" x = v.asPoint().x() y = v.asPoint().y() y1 = y - 5 for j in range(5): xCord[i][j] = x yCord[i][j] = y elev[i][j] = self.getElevation(QgsPoint(x, y)) y = y + 5 for j in range(5): xCord[i][j] = x yCord[i][j] = y1 elev[i][j] = self.getElevation(QgsPoint(x, y)) y = y - 5 i = i + 1 # i++ does not exist in python.. calc(xCord, yCord, elev) ##calling the calc function in the calculation.py
def __init__(self): QMainWindow.__init__(self) self.layer = None self.layers = [] # Required by Qt4 to initialize the UI self.setupUi(self) QObject.connect(self.mBtnZoomIn, SIGNAL("clicked()"), self.zoomIn) QObject.connect(self.mBtnZoomOut, SIGNAL("clicked()"), self.zoomOut) QObject.connect(self.mBtnAddVector, SIGNAL("clicked()"), self.loadVectorLayer) QObject.connect(self.mBtnAddRaster, SIGNAL("clicked()"), self.loadRasterLayer) QObject.connect(self.mBtnSelection, SIGNAL("clicked()"), self.setSelectionTool) self.mFieldComboBox.fieldChanged.connect(self.onFieldChanged) # Set the title for the app self.setWindowTitle("ShapeViewer") # Create the map canvas self.canvas = QgsMapCanvas() self.canvas.useImageToRender(False) self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.show() # from https://gis.stackexchange.com/questions/141516/adding-legend-to-canvas-in-standalone-pyqgis-application self.root = QgsProject.instance().layerTreeRoot() self.bridge = QgsLayerTreeMapCanvasBridge(self.root, self.canvas) self.model = QgsLayerTreeModel(self.root) self.model.setFlag(QgsLayerTreeModel.AllowNodeReorder) self.model.setFlag(QgsLayerTreeModel.AllowNodeRename) self.model.setFlag(QgsLayerTreeModel.AllowNodeChangeVisibility) self.model.setFlag(QgsLayerTreeModel.ShowLegend) self.view = QgsLayerTreeView() self.view.setModel(self.model) self.field = "" self.legendQDockWidget.setWidget(self.view) self.legendQDockWidget.setFloating(False) self.legendQDockWidget.setFeatures(QDockWidget.NoDockWidgetFeatures) self.legendQDockWidget.setTitleBarWidget(QWidget()) # Lay our widgets out in the main window using a # vertical box layout self.layout = QVBoxLayout(self.canvasFrame) self.layout.addWidget(self.canvas) # Add map tools self.selectTool = SelectMapTool(self.canvas) self.demLayer = None #number of divisions for the legend self.classes = 6 self.modes = { "Equal Interval": QgsGraduatedSymbolRendererV2.EqualInterval, "Quantile": QgsGraduatedSymbolRendererV2.Quantile, "Natural Breaks (Jenks)": QgsGraduatedSymbolRendererV2.Jenks, "Standard Deviation": QgsGraduatedSymbolRendererV2.StdDev, "Pretty Breaks": QgsGraduatedSymbolRendererV2.Pretty } for mode in self.modes.keys(): self.modeComboBox.addItem(mode) self.mode = self.modeComboBox.currentText() self.modeComboBox.currentIndexChanged.connect(self.onModeChanged)
class ShapeViewer(QMainWindow, Ui_MainWindow): def __init__(self): QMainWindow.__init__(self) self.layer = None self.layers = [] # Required by Qt4 to initialize the UI self.setupUi(self) QObject.connect(self.mBtnZoomIn, SIGNAL("clicked()"), self.zoomIn) QObject.connect(self.mBtnZoomOut, SIGNAL("clicked()"), self.zoomOut) QObject.connect(self.mBtnAddVector, SIGNAL("clicked()"), self.loadVectorLayer) QObject.connect(self.mBtnAddRaster, SIGNAL("clicked()"), self.loadRasterLayer) QObject.connect(self.mBtnSelection, SIGNAL("clicked()"), self.setSelectionTool) self.mFieldComboBox.fieldChanged.connect(self.onFieldChanged) # Set the title for the app self.setWindowTitle("ShapeViewer") # Create the map canvas self.canvas = QgsMapCanvas() self.canvas.useImageToRender(False) self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.show() # from https://gis.stackexchange.com/questions/141516/adding-legend-to-canvas-in-standalone-pyqgis-application self.root = QgsProject.instance().layerTreeRoot() self.bridge = QgsLayerTreeMapCanvasBridge(self.root, self.canvas) self.model = QgsLayerTreeModel(self.root) self.model.setFlag(QgsLayerTreeModel.AllowNodeReorder) self.model.setFlag(QgsLayerTreeModel.AllowNodeRename) self.model.setFlag(QgsLayerTreeModel.AllowNodeChangeVisibility) self.model.setFlag(QgsLayerTreeModel.ShowLegend) self.view = QgsLayerTreeView() self.view.setModel(self.model) self.field = "" self.legendQDockWidget.setWidget(self.view) self.legendQDockWidget.setFloating(False) self.legendQDockWidget.setFeatures(QDockWidget.NoDockWidgetFeatures) self.legendQDockWidget.setTitleBarWidget(QWidget()) # Lay our widgets out in the main window using a # vertical box layout self.layout = QVBoxLayout(self.canvasFrame) self.layout.addWidget(self.canvas) # Add map tools self.selectTool = SelectMapTool(self.canvas) self.demLayer = None #number of divisions for the legend self.classes = 6 self.modes = { "Equal Interval": QgsGraduatedSymbolRendererV2.EqualInterval, "Quantile": QgsGraduatedSymbolRendererV2.Quantile, "Natural Breaks (Jenks)": QgsGraduatedSymbolRendererV2.Jenks, "Standard Deviation": QgsGraduatedSymbolRendererV2.StdDev, "Pretty Breaks": QgsGraduatedSymbolRendererV2.Pretty } for mode in self.modes.keys(): self.modeComboBox.addItem(mode) self.mode = self.modeComboBox.currentText() self.modeComboBox.currentIndexChanged.connect(self.onModeChanged) def zoomIn(self): qDebug("Zoom In Activated") self.canvas.zoomIn() def zoomOut(self): qDebug("Zoom Out Activated") self.canvas.zoomOut() def loadVectorLayer(self): qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Shapefile", ".", "Shapefiles (*.shp)") fileInfo = QFileInfo(file) # Add the layer layer = QgsVectorLayer(fileInfo.absoluteFilePath(), fileInfo.fileName()[:-4], "ogr") if not layer.isValid(): print "Layer is invalid" return # Remove previous layers from the registry # QgsMapLayerRegistry.instance().removeAllMapLayers() # Add layer to the registry QgsMapLayerRegistry.instance().addMapLayer(layer) # Set extent to the extent of our layer self.canvas.setExtent(layer.extent()) # # Change the color of the layer to gray # #symbols = layer.renderer().symbols() # #ymbol = symbols[0] # #ymbol.setFillColor(QColor.fromRgb(192,192,192)) # Set up the map canvas layer set cl = QgsMapCanvasLayer(layer) layers = [cl] self.canvas.setLayerSet(layers) self.layer = layer self.layers.append(layer) self.canvas.refresh() self.mFieldComboBox.setLayer(self.layer) qDebug("layer loaded successfully!!") def loadRasterLayer(self): qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Raster", ".", "Rasters (*.*)") fileInfo = QFileInfo(file) # Add the layer #layer = QgsVectorLayer(file, fileInfo.fileName(), "ogr") layer = QgsRasterLayer(file, fileInfo.fileName()) if not layer.isValid(): print "Layer is invalid" return self.demLayer = layer # Add layer to the registry # Set extent to the extent of our layer self.canvas.setExtent(layer.extent()) QgsMapLayerRegistry.instance().addMapLayer(layer) layers = self.canvas.mapSettings().layerSet() layers.append(layer.id()) self.canvas.mapSettings().setLayerSet(layers) qDebug("layer loaded successfully!!") self.canvas.refresh() def getElevation(self, point): #point is QgsPoint print point.x() print point.y() choosenBand = 0 attr = 0 if QGis.QGIS_VERSION_INT >= 10900: # for QGIS >= 1.9 # this code adapted from valuetool plugin ident = self.demLayer.dataProvider().identify( point, QgsRasterDataProvider.IdentifyFormatValue) if ident is not None and ident.has_key(choosenBand + 1): attr = ident[choosenBand + 1].toDouble()[0] if self.demLayer.dataProvider().isNoDataValue( choosenBand + 1, attr): attr = 0 else: ident = self.demLayer.identify(point) try: attr = float(ident[1].values()[choosenBand]) except: pass return attr def getPointAtDistance(self, distance, geometry): shapelyLineGeom = loads(str(geometry.exportToWkt())) shapelyPoint = shapelyLineGeom.interpolate(distance) qgsPointGeom = QgsGeometry.fromWkt(shapelyPoint.wkt) return qgsPointGeom def getSegmentedPoints(self, geometry, ratio): #return list of QgsPoint pointList = [] geomLength = geometry.length() perc = ratio * geomLength length = -perc while (length < geomLength): length = length + perc point = self.getPointAtDistance(length, geometry) pointList.append(point) return pointList def getElevationTest(self): g1 = QgsGeometry.fromWkt( 'LINESTRING(490351.96514423 4548291.73076923, 494542.01322115 4541976.58653846)' ) spoints = self.getSegmentedPoints(g1, 0.1) for item in spoints: print "print points....." print item.exportToWkt() def showBuffer(self): width, ok = QtGui.QInputDialog.getDouble(iface.mapCanvas(), 'Input Dialog', 'Enter Width:') qDebug("Loading Vector Layer") # layout is set - open a layer # Add an OGR layer to the map file = QFileDialog.getOpenFileName(self, "Open Raster", ".", "Rasters (*.*)") fileInfo = QFileInfo(file) def setSelectionTool(self): self.canvas.setMapTool(self.selectTool) self.selectTool.setCurrentLayer(self.layer) def getVerticesList(self): i = 0 verticesList = [] lyrSelection = self.layer.selectedFeatures() for feature in lyrSelection: geom = feature.geometry() vrtcs = self.getSegmentedPoints(geom, 0.1) for v in vrtcs: print "-----------------------------------------------------------------" qDebug(str(v.asPoint().x()) + "," + str(v.asPoint().y())) print "-----------------------------------------------------------------" x = v.asPoint().x() y = v.asPoint().y() y1 = y - 5 for j in range(5): xCord[i][j] = x yCord[i][j] = y elev[i][j] = self.getElevation(QgsPoint(x, y)) y = y + 5 for j in range(5): xCord[i][j] = x yCord[i][j] = y1 elev[i][j] = self.getElevation(QgsPoint(x, y)) y = y - 5 i = i + 1 # i++ does not exist in python.. calc(xCord, yCord, elev) ##calling the calc function in the calculation.py def validatedDefaultSymbol(self, geometryType): symbol = QgsSymbolV2.defaultSymbol(geometryType) if symbol is None: if geometryType == QGis.Point: symbol = QgsMarkerSymbolV2() elif geometryType == QGis.Line: symbol = QgsLineSymbolV2() elif geometryType == QGis.Polygon: symbol = QgsFillSymbolV2() return symbol def applyGraduatedSymbologyStandardMode(self, layer, field, classes, mode): symbol = self.validatedDefaultSymbol(layer.geometryType()) colorRamp = QgsVectorGradientColorRampV2.create({ 'color1': '255,0,0,255', 'color2': '0,0,255,255', 'stops': '0.25;255,255,0,255:0.50;0,255,0,255:0.75;0,255,255,255' }) renderer = QgsGraduatedSymbolRendererV2.createRenderer( layer, field, classes, mode, symbol, colorRamp) #renderer.setSizeScaleField("LABELRANK") layer.setRendererV2(renderer) def onFieldChanged(self, fieldName): self.field = fieldName for layer in self.layers: self.applyGraduatedSymbologyStandardMode(layer, self.field, self.classes, self.modes[self.mode]) self.layer.setDisplayField(self.field) self.createMapTips() self.canvas.refresh() def onModeChanged(self, modeIndex): self.mode = self.modeComboBox.currentText() for layer in self.layers: self.applyGraduatedSymbologyStandardMode(layer, self.field, self.classes, self.modes[self.mode]) self.canvas.refresh() def createMapTips(self): """ Create MapTips on the map """ self.timerMapTips = QTimer(self.canvas) self.mapTip = QgsMapTip() self.connect(self.canvas, SIGNAL("xyCoordinates(const QgsPoint&)"), self.mapTipXYChanged) self.connect(self.timerMapTips, SIGNAL("timeout()"), self.showMapTip) def mapTipXYChanged(self, p): """ SLOT. Initialize the Timer to show MapTips on the map """ if self.canvas.underMouse(): # Only if mouse is over the map # Here you could check if your custom MapTips button is active or sth self.lastMapPosition = QgsPoint(p.x(), p.y()) self.mapTip.clear(self.canvas) self.timerMapTips.start(750) # time in milliseconds def showMapTip(self): """ SLOT. Show MapTips on the map """ self.timerMapTips.stop() if self.canvas.underMouse(): # Here you could check if your custom MapTips button is active or sth pointQgs = self.lastMapPosition pointQt = self.canvas.mouseLastXY() self.mapTip.showMapTip(self.layer, pointQgs, pointQt, self.canvas)