Example #1
0
 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)
Example #2
0
 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
Example #3
0
    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()
Example #4
0
 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()
Example #6
0
 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")
Example #7
0
    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
Example #8
0
    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()
Example #9
0
    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()
Example #10
0
    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()
Example #11
0
 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
Example #12
0
 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)
Example #13
0
 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()
Example #14
0
 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)
Example #15
0
 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)
Example #19
0
    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
Example #20
0
    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)
Example #21
0
 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
Example #22
0
 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)
Example #23
0
    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
Example #24
0
 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)
Example #26
0
    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
Example #27
0
 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
Example #28
0
    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 = []
Example #29
0
    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()