コード例 #1
0
    def __init__(self, canvas, areaType):
        QgsMapTool.__init__(self, canvas)
        self.mCanvas = canvas
        self.areaType = areaType
        self.annotation = None
        self.rubberBand = QgsRubberBand(canvas, QGis.Point)
        self.rubberBand.setColor(Qt.red)
        self.rubberBand.setWidth(10)
        self.rubberBandClick = QgsRubberBand(canvas, QGis.Point)
        self.rubberBandClick.setColor(Qt.green)
        self.rubberBandClick.setWidth(3)
        self.obstaclesLayerList = QgisHelper.getSurfaceLayers(SurfaceTypes.Obstacles)
        self.demLayerList = QgisHelper.getSurfaceLayers(SurfaceTypes.DEM)

        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
        self.mSnapper = QgsMapCanvasSnapper(canvas)
        self.resultPolylineArea = PolylineArea()
#         self.constructionLayer = constructionLayer
        self.menuString = ""
        self.isPrimaryPolylineStarted = False
        self.primaryPolyline = PolylineArea()
コード例 #2
0
 def getExtentForLocate(self, sourceRow):
     surfaceLayers = QgisHelper.getSurfaceLayers(self.surfaceType)
     rect = QgsRectangle()
     rect.setMinimal()
     for sfLayer in surfaceLayers:
         rect.combineExtentWith(sfLayer.extent())
     return rect
コード例 #3
0
    def btnEvaluate_Click(self):
        try:
            self.obstaclesModel = PinSVisualSegmentDepObstacles(
                [self.pinSVisualSegmentDepManouvering])
            rnpArMapLayers = QgisHelper.getSurfaceLayers(
                SurfaceTypes.PinSVisualSegmentDep)
            self.obstaclesModel.loadObstacles(rnpArMapLayers)
            self.obstaclesModel.setLocateBtn(self.ui.btnLocate)
            self.ui.tblObstacles.setModel(self.obstaclesModel)
            self.obstaclesModel.setTableView(self.ui.tblObstacles)
            self.obstaclesModel.setHiddenColumns(self.ui.tblObstacles)
            self.ui.cmbSurface.setCurrentIndex(0)
            self.ui.tabControls.setCurrentIndex(1)

            self.ui.cmbSurface.clear()
            if self.ui.cmbSegmentType.SelectedIndex != 0:
                self.ui.cmbSurface.addItems([
                    "All", PinsSurfaceType.PinsSurfaceType_LevelOIS,
                    PinsSurfaceType.PinsSurfaceType_OCS
                ])
            else:
                self.ui.cmbSurface.addItem("All")
                self.ui.cmbSurface.addItem(PinsSurfaceType.PinsSurfaceType_OIS)
            self.ui.btnExportResult.setEnabled(True)
#             raise ValueError, ""
        except UserWarning as e:
            QMessageBox.warning(self, "Information", e.message)
コード例 #4
0
    def btnEvaluate_Click(self):
        try:
            if self.obstaclesModel == None:
                self.initObstaclesModel()
                if self.obstaclesModel == None:
                    return
            surfaceLayers = QgisHelper.getSurfaceLayers(self.surfaceType, self.surfaceSubGroupNames)
            self.initObstaclesModel()
            self.obstaclesModel.loadObstacles(surfaceLayers)


            self.obstaclesModel.setLocateBtn(self.ui.btnLocate)
            self.ui.tblObstacles.setModel(self.obstaclesModel)
            self.obstaclesModel.setTableView(self.ui.tblObstacles)
            self.obstaclesModel.setHiddenColumns(self.ui.tblObstacles)
            self.ui.tabCtrlGeneral.setCurrentIndex(1)
            if self.ui.cmbObstSurface.isVisible():
                self.ui.cmbObstSurface.clear()
                self.initSurfaceCombo()
                self.ui.cmbObstSurface.setCurrentIndex(0)
            self.ui.btnExportResult.setEnabled(True)
            self.setResultPanel()

        except UserWarning as e:
            QMessageBox.warning(self, "Information", e.message)
コード例 #5
0
 def loadObstacles(self, surfaceLayers):
     if self.source.rowCount() > 0:
         self.source.clear()
         self.source.setHorizontalHeaderLabels(self.fixedColumnLabels)
     demEvaluateAg = None
     existingDemFlag = False
     obstacleLayersDEM = QgisHelper.getSurfaceLayers(SurfaceTypes.DEM)
     obstacleLayers = QgisHelper.getSurfaceLayers(SurfaceTypes.Obstacles)
     if obstacleLayersDEM != None and len(obstacleLayersDEM) > 0:
         if QMessageBox.question(
                 None, "Question",
                 "Do you want to use DEM for evaluating Obstacle?",
                 QMessageBox.Yes | QMessageBox.No) == QMessageBox.Yes:
             self.loadObstaclesDEM(obstacleLayersDEM, surfaceLayers)
     if obstacleLayers != None and len(obstacleLayers) > 0:
         #             if QMessageBox.question(None, "Question", "Do you want to use DEM for evaluating Obstacle?", QMessageBox.Yes | QMessageBox.No) == QMessageBox.No:
         self.loadObstaclesVector(obstacleLayers, surfaceLayers)
     return True
コード例 #6
0
    def __init__(self, canvas, dataBaseProcedureData0, point3d0,
                 procEntityListType0):
        self.canvas = canvas
        QgsMapToolEmitPoint.__init__(self, self.canvas)
        self.mSnapper = QgsMapCanvasSnapper(canvas)
        self.rubberBand = QgsRubberBand(canvas, QGis.Point)
        self.rubberBand.setColor(Qt.red)
        self.rubberBand.setWidth(10)
        self.rubberBandClick = QgsRubberBand(canvas, QGis.Point)
        self.rubberBandClick.setColor(Qt.green)
        self.rubberBandClick.setWidth(3)
        self.obstaclesLayerList = QgisHelper.getSurfaceLayers(
            SurfaceTypes.Obstacles)
        self.demLayerList = QgisHelper.getSurfaceLayers(SurfaceTypes.DEM)
        self.reset()

        self.dataBaseProcedureData_0 = dataBaseProcedureData0
        self.point3d_0 = point3d0
        self.procEntityListType_0 = procEntityListType0
コード例 #7
0
 def getExtentForLocate(self, sourceRow):
     surfaceType = self.source.item(sourceRow, self.IndexSurface).text()
     surfaceLayers = QgisHelper.getSurfaceLayers(self.surfaceType)
     rect = QgsRectangle()
     rect.setMinimal()
     for sfLayer in surfaceLayers:
         features = sfLayer.getFeatures()
         for feature in features:
             surfaceString = feature.attribute("surface").toString()
             if surfaceString == surfaceType:
                 geom = feature.geometry()
                 rect.combineExtentWith(geom.boundingBox())
     return rect
コード例 #8
0
 def getExtentForLocate(self, sourceRow):
     extent = None
     surfaceType = None
     if self.IndexSurface < 0:
         surfaceType = self.surfaceType
     else:
         surfaceType = self.source.item(sourceRow, self.IndexSurface).text()
     surfaceLayers = QgisHelper.getSurfaceLayers(self.surfaceType)
     for sfLayer in surfaceLayers:
         lId = sfLayer.name()
         if lId.contains(surfaceType):
             extent = sfLayer.extent()
             break
     return extent
コード例 #9
0
    def __init__(self, canvas, annotation=None):
        self.canvas = canvas
        #         self.tableView = tableView
        #         self.standardItemModel = standardItemModel
        #         self.txtXCoord = txtXCoord
        #         self.txtYCoord = txtYCoord
        QgsMapToolEmitPoint.__init__(self, self.canvas)
        self.annotation = annotation
        self.mSnapper = QgsMapCanvasSnapper(canvas)
        self.rubberBand = QgsRubberBand(canvas, QGis.Point)
        self.rubberBand.setColor(Qt.red)
        self.rubberBand.setWidth(10)
        self.rubberBandClick = QgsRubberBand(canvas, QGis.Point)
        self.rubberBandClick.setColor(Qt.green)
        self.rubberBandClick.setWidth(3)
        self.obstaclesLayerList = QgisHelper.getSurfaceLayers(
            SurfaceTypes.Obstacles)
        self.demLayerList = QgisHelper.getSurfaceLayers(SurfaceTypes.DEM)
        #         lblDoc = QTextDocument(label)
        #         self.annotation.setDocument(lblDoc)
        #         self.annotation.setFrameBackgroundColor(QColor(0,0,0,0))
        #         self.annotation.setFrameSize( QSizeF( 30, 20 ) )

        self.reset()