def activate(self): """ When the action is selected """ QgsMapTool.activate(self) self.__dockWdg = ProfileDockWidget(self.__iface, self.__dockGeom) if self.__isfloating: self.__dockWdg.show() else: self.__iface.addDockWidget(Qt.BottomDockWidgetArea, self.__dockWdg) self.__dockWdg.closeSignal.connect(self.__closed) self.__rubberLine = QgsRubberBand(self.canvas(), QGis.Line) color = QColor("red") color.setAlphaF(0.78) self.__rubberLine.setColor(color) self.__rubberDots = QgsRubberBand(self.canvas(), QGis.Line) color = QColor("red") color.setAlphaF(0.78) self.__rubberDots.setColor(color) self.__rubberDots.setLineStyle(Qt.DotLine)
def __init__(self, iface, couleur, largeur, cercle): canvas = iface.mapCanvas() QgsMapTool.__init__(self, canvas) self.canvas = canvas self.iface = iface self.status = 0 self.cercle = cercle self.rb = QgsRubberBand(self.canvas, QgsWkbTypes.PolygonGeometry) self.rb.setColor(couleur) self.rb.setWidth(largeur) return None
def __init__(self, iface): self.iface = iface self.canvas = iface.mapCanvas() QgsMapToolEmitPoint.__init__(self, self.canvas) self.rasterShadow = RasterShadowMapCanvasItem(self.canvas) self.rubberBandDisplacement = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.rubberBandDisplacement.setColor(Qt.red) self.rubberBandDisplacement.setWidth(1) self.rubberBandExtent = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.rubberBandExtent.setColor(Qt.red) self.rubberBandExtent.setWidth(1) self.isLayerVisible = True self.reset()
def __init__(self, canvas, msglog): super().__init__(canvas) self.canvas = canvas self.msglog = msglog self.start_point = self.end_point = None self.rubber_band = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.rubber_band.setColor(QColor(255, 0, 0, 100)) self.rubber_band.setWidth(3) self.rubber_band_points = QgsRubberBand(self.canvas, QgsWkbTypes.PointGeometry) self.rubber_band_points.setIcon(QgsRubberBand.ICON_CIRCLE) self.rubber_band_points.setIconSize(10) self.rubber_band_points.setColor(QColor(255, 0, 0, 150)) crs = self.canvas.mapSettings().destinationCrs() self.distance_calc = QgsDistanceArea() self.distance_calc.setSourceCrs( crs, QgsProject.instance().transformContext()) self.distance_calc.setEllipsoid(crs.ellipsoidAcronym()) self.reset()
def __init__(self, canvas): self.canvas = canvas s = QSettings() s.beginGroup('Qgis') color = QColor( int(s.value('default_measure_color_red')), int(s.value('default_measure_color_green')), int(s.value('default_measure_color_blue')) ) s.endGroup() QgsMapToolEmitPoint.__init__(self, self.canvas) self.rubberBand = QgsRubberBand(self.canvas, QGis.Line) self.rubberBandDraw = QgsRubberBand(self.canvas, QGis.Line) self.rubberBandDraw.setColor(color) self.rubberBandDraw.setWidth(1) self.rubberBand.setColor(color) self.rubberBand.setWidth(1) # self.rubberBand.setLineStyle(Qt.DashLine) self.points = [] self.reset()
def __init__(self, iface, observationType): self.iface = iface QgsMapTool.__init__(self, iface.mapCanvas()) self.observationType = observationType # distance or orientation self.settings = MySettings() self.lineRubber = QgsRubberBand(self.canvas()) self.editing = False self.layer = None self.observationType = self.observationType.lower().title() if self.observationType not in ("Orientation", "Distance"): raise NameError("Wrong observation type")
def __init__(self, canvas): QgsMapTool.__init__(self, canvas) self.canvas = canvas self.extent = None self.rubber_band = QgsRubberBand(self.canvas, QgsWkbTypes.PolygonGeometry) self.rubber_band.setFillColor(RB_FILL) self.rubber_band.setStrokeColor(RB_STROKE) self.rubber_band.setWidth(1) self.vertex_count = 1 # two points are dropped initially
def __init__(self, iface): self.iface = iface self.canvas = iface.mapCanvas() QgsMapToolEmitPoint.__init__(self, self.canvas) self.rasterShadow = RasterShadowMapCanvasItem(self.canvas) self.rubberBandExtent = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.rubberBandExtent.setColor(Qt.red) self.rubberBandExtent.setWidth(1) # In case of rotation around pressed point (ctrl) # Use rubberBand for displaying an horizontal line. self.rubberBandDisplacement = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.rubberBandDisplacement.setColor(Qt.red) self.rubberBandDisplacement.setWidth(1) self.reset()
def __init__(self, iface): self.iface = iface self.mapCanvas = iface.mapCanvas() QgsMapTool.__init__(self, self.mapCanvas) self.settings = MySettings() self.rubber = QgsRubberBand(self.mapCanvas) self.tolerance = self.settings.value("selectTolerance") units = self.settings.value("selectUnits") if units == "pixels": self.tolerance *= self.mapCanvas.mapUnitsPerPixel()
def __init__(self, canvas, action): QgsMapTool.__init__(self, canvas) self.canvas = canvas self.active = False self.setAction(action) self.rubberBand = QgsRubberBand(self.canvas, QgsWkbTypes.PolygonGeometry) mFillColor = QColor(254, 178, 76, 63) self.rubberBand.setColor(mFillColor) self.rubberBand.setWidth(1) self.reset()
def _setup_footprint(self): if self._iface: log.debug('iface is available, adding footprint support') self._footprint = QgsRubberBand( self._iface.mapCanvas(), QgsWkbTypes.PolygonGeometry) self._footprint.setFillColor(QColor(255, 255, 255, 10)) self._footprint.setStrokeColor(PLANET_COLOR) self._footprint.setWidth(2) else: log.debug('iface is None, skipping footprint support') self._footprint = None
def __init__(self, canvas, iface): self.canvas = canvas self.iface = iface QgsMapToolEdit.__init__(self, self.canvas) self.msg = QMessageBox() self.rb = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.rb.setStrokeColor(QColor('Red')) self.rb.setWidth(2.0) self.first_click = True self.fixed_points = [] self.deactivated.connect(lambda: self.clean_up)
def __init__(self, canvas): self.canvas = canvas s = QSettings() s.beginGroup('qgis') color = QColor(int(s.value('default_measure_color_red', 222)), int(s.value('default_measure_color_green', 17)), int(s.value('default_measure_color_blue', 28))) s.endGroup() QgsMapToolEmitPoint.__init__(self, self.canvas) self.rubberBand = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.rubberBandDraw = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.rubberBandDraw.setColor(color) self.rubberBandDraw.setWidth(1) self.rubberBand.setColor(color) self.rubberBand.setWidth(1) # self.rubberBand.setLineStyle(Qt.DashLine) self.points = [] self.vertex = None self.reset()
def activate(self): """ When the action is selected """ QgsMapTool.activate(self) self.__rubber = QgsRubberBand(self.canvas(), QGis.Point) color = QColor("red") color.setAlphaF(0.78) self.__rubber.setColor(color) self.__rubber.setIcon(4) self.__rubber.setIconSize(20)
def create_ghost_point(self): """ Creates rubber band as a ghost image of the landmark point """ if self.band is not None: self.band.hide() self.band = None self.band = QgsRubberBand(self.canvas()) self.band.setColor(QColor("green")) self.band.setToGeometry(self.lm_feature.geometry(), self.lm_layer) self.band.show()
def __init__(self, iface, layer): QgsMapTool.__init__(self, iface.mapCanvas()) self.iface = iface self.canvas = iface.mapCanvas() self.layer = layer self.rubberband = QgsRubberBand(iface.mapCanvas(), QgsWkbTypes.LineGeometry) self.rubberband.setColor(QColor("#ee5555")) self.rubberband.setWidth(2) self.firstPoint = None self.messageBarItem = None self.geometry = None
def __init__(self, canvas): QgsMapTool.__init__(self, canvas) self.mCanvas = canvas self.mRubberBand = None self.mRubberBand0 = QgsRubberBand( self.mCanvas, QGis.Polygon ) self.mCursor = Qt.ArrowCursor self.mFillColor = QColor( 254, 178, 76, 63 ) self.mBorderColour = QColor( 254, 58, 29, 100 ) self.mRubberBand0.setBorderColor( self.mBorderColour ) self.polygonGeom = None self.drawFlag = False
def __init__(self, iface, parent): super(GeodesicMeasureDialog, self).__init__(parent) self.setupUi(self) self.iface = iface self.canvas = iface.mapCanvas() qset = QSettings() self.restoreGeometry( qset.value("ShapeTools/MeasureDialogGeometry", QByteArray(), type=QByteArray)) self.closeButton.clicked.connect(self.closeDialog) self.newButton.clicked.connect(self.newDialog) self.saveToLayerButton.clicked.connect(self.saveToLayer) self.saveToLayerButton.setEnabled(False) self.unitsComboBox.addItems(UNITS) self.tableWidget.setColumnCount(3) self.tableWidget.setSortingEnabled(False) self.tableWidget.setHorizontalHeaderLabels( ['Heading To', 'Heading From', 'Distance']) self.unitsComboBox.activated.connect(self.unitsChanged) self.capturedPoints = [] self.distances = [] self.geod = Geodesic.WGS84 self.activeMeasuring = True self.unitsChanged() self.currentDistance = 0.0 self.pointRb = QgsRubberBand(self.canvas, QgsWkbTypes.PointGeometry) self.pointRb.setColor(settings.rubberBandColor) self.pointRb.setIconSize(10) self.lineRb = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.lineRb.setColor(settings.rubberBandColor) self.lineRb.setWidth(3) self.tempRb = QgsRubberBand(self.canvas, QgsWkbTypes.LineGeometry) self.tempRb.setColor(settings.rubberBandColor) self.tempRb.setWidth(3)
def __createRubberBand(self): self.__cleanup() extent = self.mapitem.extent() center = self.iface.mapCanvas().extent().center() self.corner = QPointF(center.x() - 0.5 * extent.width(), center.y() - 0.5 * extent.height()) self.rect = QRectF(self.corner.x(), self.corner.y(), extent.width(), extent.height()) self.mapitem.setExtent(QgsRectangle(self.rect)) self.rubberband = QgsRubberBand(self.iface.mapCanvas(), QgsWkbTypes.PolygonGeometry) self.rubberband.setToCanvasRectangle(self.__canvasRect(self.rect)) self.rubberband.setColor(QColor(127, 127, 255, 127)) self.pressPos = None
def defineRubberBand(self): """ Defines the rubber band style """ settings = QSettings() myRed = int(settings.value("/qgis/default_measure_color_red", 222)) myGreen = int(settings.value("/qgis/default_measure_color_green", 155)) myBlue = int(settings.value("/qgis/default_measure_color_blue", 67)) self.rubberBand = QgsRubberBand(self.canvas) self.rubberBand.setColor(QColor(myRed, myGreen, myBlue, 100)) self.rubberBand.setWidth(3)
def _setRubberBandMarker(self, geom): m = QgsRubberBand(self.qgisIface.mapCanvas(), False) # not polygon if QgsWkbTypes.geometryType( geom.wkbType()) == QgsWkbTypes.LineGeometry: linegeom = geom elif QgsWkbTypes.geometryType( geom.wkbType()) == QgsWkbTypes.PolygonGeometry: linegeom = QgsGeometry.fromPolylineXY(geom.asPolygon()[0]) m.setToGeometry(linegeom, None) m.setColor(QColor(self.config['rubber_color'])) m.setWidth(self.config['rubber_width']) return m
def __pointPreview(self, point): """ To create a point geometry preview (rubberBand) :param point: new position as mapPoint """ point_v2 = GeometryV2.asPointV2(self.__selectedFeature.geometry(), self.__iface) self.__newFeature = QgsPointV2(point.x(), point.y()) self.__newFeature.addZValue(point_v2.z()) self.__rubberBand = QgsRubberBand(self.canvas(), QGis.Point) self.__rubberBand.setToGeometry(QgsGeometry(self.__newFeature.clone()), None)
def __init__(self, canvas, button, network_analyzer): QgepMapTool.__init__(self, canvas, button) settings = QSettings() helper_line_color = settings.value("/QGEP/HelperLineColor", u'#FFD900') highlight_color = settings.value("/QGEP/HighlightColor", u'#40FF40') self.networkAnalyzer = network_analyzer # Init rubberband to visualize current status self.rbHelperLine = QgsRubberBand(self.canvas) self.rbHelperLine.setColor(QColor(helper_line_color)) self.rbHelperLine.setWidth(2) self.rbHighlight = QgsRubberBand(self.canvas) self.rbHighlight.setColor(QColor(highlight_color)) self.rbHighlight.setWidth(5) self.profile.setRubberband(self.rbHighlight) self.saveTool = None
def __init__(self, canvas): super(CurrentSelection, self).__init__(canvas) self.outline = QgsRubberBand(canvas) self.outline.setBrushStyle(Qt.NoBrush) self.outline.setWidth(5) self.outline.setIconSize(30) self.aniobject = CurrentSelection.AniObject(self) self.anim = QPropertyAnimation(self.aniobject, "alpha".encode("utf-8")) self.anim.setDuration(500) self.anim.setStartValue(50) self.anim.setEndValue(100) self.anim.valueChanged.connect(self.value_changed)
def canvasPressEvent(self, e): if (self.mRubberBand == None): self.mRubberBand0.reset(QGis.Polygon) self.mRubberBand = QgsRubberBand(self.mCanvas, QGis.Polygon) self.mRubberBand0 = QgsRubberBand(self.mCanvas, QGis.Polygon) self.mRubberBand.setFillColor(self.mFillColor) self.mRubberBand.setBorderColor(self.mBorderColour) self.mRubberBand0.setFillColor(self.mFillColor) self.mRubberBand0.setBorderColor(self.mBorderColour) if (e.button() == Qt.LeftButton): self.mRubberBand.addPoint(self.toMapCoordinates(e.pos())) else: if (self.mRubberBand.numberOfVertices() > 2): self.polygonGeom = self.mRubberBand.asGeometry() else: return self.mRubberBand.reset(QGis.Polygon) self.mRubberBand0.addGeometry(self.polygonGeom, None) self.mRubberBand0.show() self.mRubberBand = None self.emit(SIGNAL("outputResult"), self.polygonGeom)
def createRubberBand(self, geomType): settings = QSettings() rb = QgsRubberBand(self.canvas, geomType) rb.setWidth(settings.value('/qgis/digitizing/line_width', 1, type=int)) color = QColor(settings.value('/qgis/digitizing/line_color_red', 255, type=int), settings.value('/qgis/digitizing/line_color_green', 0, type=int), settings.value('/qgis/digitizing/line_color_blue', 0, type=int)) alpha = settings.value('/qgis/digitizing/line_color_alpha', 200, type=int) / 255.0 color.setAlphaF(alpha) rb.setColor(color) return rb
def _setup_request_aoi_box(self): if self._iface: log.debug('iface is available, adding aoi box support') self._aoi_box = QgsRubberBand( self._iface.mapCanvas(), QgsWkbTypes.PolygonGeometry) self._aoi_box.setFillColor(QColor(0, 0, 0, 0)) self._aoi_box.setStrokeColor(SEARCH_AOI_COLOR) self._aoi_box.setWidth(2) self._aoi_box.setLineStyle(Qt.DashLine) else: log.debug('iface is None, skipping footprint support') self._aoi_box = None
def __init__(self, canvas, snapradius=2): super(InfoTool, self).__init__(canvas) self.radius = snapradius self.band = QgsRubberBand(self.canvas) self.band.setColor(QColor.fromRgb(224, 162, 16)) self.band.setWidth(3) self.selectband = None self.selectrect = QRect() self.dragging = False self.selectionlayers = []
def __init__(self, canvas): """Constructor""" QgsMapTool.__init__(self, canvas) self.canvas = canvas self.rubberBand = QgsRubberBand(self.canvas, QgsWkbTypes.PolygonGeometry) color = QColor(30, 230, 30, 65) self.rubberBand.setColor(color) self.rubberBand.setWidth(1) self.start_point = self.end_point = None
def __init__(self, canvas: QgsMapCanvas) -> None: QgsMapTool.__init__(self, canvas) mFillColor = QColor(254, 178, 76, 63) self.canvas = canvas self.active = True self.rubberBand = QgsRubberBand(self.canvas, QgsWkbTypes.PolygonGeometry) self.rubberBand.setColor(mFillColor) self.rubberBand.setWidth(1) self.reset()