当前位置: 首页>>代码示例>>Python>>正文


Python QgsComposerPolyline.nodeAtPosition方法代码示例

本文整理汇总了Python中qgis.core.QgsComposerPolyline.nodeAtPosition方法的典型用法代码示例。如果您正苦于以下问题:Python QgsComposerPolyline.nodeAtPosition方法的具体用法?Python QgsComposerPolyline.nodeAtPosition怎么用?Python QgsComposerPolyline.nodeAtPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qgis.core.QgsComposerPolyline的用法示例。


在下文中一共展示了QgsComposerPolyline.nodeAtPosition方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: TestQgsComposerPolyline

# 需要导入模块: from qgis.core import QgsComposerPolyline [as 别名]
# 或者: from qgis.core.QgsComposerPolyline import nodeAtPosition [as 别名]

#.........这里部分代码省略.........
        rc = self.mComposerPolyline.removeNode(100)
        self.assertEqual(rc, False)

        checker = QgsCompositionChecker(
            'composerpolyline_defaultstyle', self.mComposition)
        checker.setControlPathPrefix("composer_polyline")
        myTestResult, myMessage = checker.testComposition()
        assert myTestResult, myMessage

        self.assertEqual(self.mComposerPolyline.nodesSize(), 4)
        rc = self.mComposerPolyline.removeNode(3)
        self.assertEqual(rc, True)
        self.assertEqual(self.mComposerPolyline.nodesSize(), 3)

        checker = QgsCompositionChecker(
            'composerpolyline_removednode', self.mComposition)
        checker.setControlPathPrefix("composer_polyline")
        myTestResult, myMessage = checker.testComposition()
        assert myTestResult, myMessage

    def testAddNode(self):
        """Test addNode method"""

        # default searching radius is 10
        self.assertEqual(self.mComposerPolyline.nodesSize(), 4)
        rc = self.mComposerPolyline.addNode(QPointF(50.0, 10.0))
        self.assertEqual(rc, False)

        # default searching radius is 10
        self.assertEqual(self.mComposerPolyline.nodesSize(), 4)
        rc = self.mComposerPolyline.addNode(QPointF(50.0, 9.99))
        self.assertEqual(rc, True)
        self.assertEqual(self.mComposerPolyline.nodesSize(), 5)

    def testAddNodeCustomRadius(self):
        """Test addNode with custom radius"""

        # default searching radius is 10
        self.assertEqual(self.mComposerPolyline.nodesSize(), 4)
        rc = self.mComposerPolyline.addNode(QPointF(50.0, 8.1), True, 8.0)
        self.assertEqual(rc, False)
        self.assertEqual(self.mComposerPolyline.nodesSize(), 4)

        # default searching radius is 10
        rc = self.mComposerPolyline.addNode(QPointF(50.0, 7.9), True, 8.0)
        self.assertEqual(rc, True)
        self.assertEqual(self.mComposerPolyline.nodesSize(), 5)

    def testAddNodeWithoutCheckingArea(self):
        """Test addNode without checking the maximum distance allowed"""

        # default searching radius is 10
        self.assertEqual(self.mComposerPolyline.nodesSize(), 4)
        rc = self.mComposerPolyline.addNode(QPointF(50.0, 20.0))
        self.assertEqual(rc, False)
        self.assertEqual(self.mComposerPolyline.nodesSize(), 4)

        # default searching radius is 10
        self.assertEqual(self.mComposerPolyline.nodesSize(), 4)
        rc = self.mComposerPolyline.addNode(QPointF(50.0, 20.0), False)
        self.assertEqual(rc, True)
        self.assertEqual(self.mComposerPolyline.nodesSize(), 5)

        checker = QgsCompositionChecker(
            'composerpolyline_addnode', self.mComposition)
        checker.setControlPathPrefix("composer_polyline")
        myTestResult, myMessage = checker.testComposition()
        assert myTestResult, myMessage

    def testMoveNode(self):
        """Test moveNode method"""

        rc = self.mComposerPolyline.moveNode(30, QPointF(100.0, 300.0))
        self.assertEqual(rc, False)

        rc = self.mComposerPolyline.moveNode(3, QPointF(100.0, 150.0))
        self.assertEqual(rc, True)

        checker = QgsCompositionChecker(
            'composerpolyline_movenode', self.mComposition)
        checker.setControlPathPrefix("composer_polyline")
        myTestResult, myMessage = checker.testComposition()
        assert myTestResult, myMessage

    def testNodeAtPosition(self):
        """Test nodeAtPosition method"""

        # default searching radius is 10
        rc = self.mComposerPolyline.nodeAtPosition(QPointF(100.0, 210.0))
        self.assertEqual(rc, -1)

        # default searching radius is 10
        rc = self.mComposerPolyline.nodeAtPosition(
            QPointF(100.0, 210.0), False)
        self.assertEqual(rc, 3)

        # default searching radius is 10
        rc = self.mComposerPolyline.nodeAtPosition(
            QPointF(100.0, 210.0), True, 10.1)
        self.assertEqual(rc, 3)
开发者ID:,项目名称:,代码行数:104,代码来源:


注:本文中的qgis.core.QgsComposerPolyline.nodeAtPosition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。