Example #1
0
    def test_equality(self):
        p1 = QgsProfilePoint()
        p2 = QgsProfilePoint()
        self.assertEqual(p1, p2)
        self.assertFalse(p1 != p2)

        p1 = QgsProfilePoint(1, 2)
        p2 = QgsProfilePoint()
        self.assertNotEqual(p1, p2)
        self.assertFalse(p1 == p2)

        p1 = QgsProfilePoint()
        p2 = QgsProfilePoint(1, 2)
        self.assertNotEqual(p1, p2)
        self.assertFalse(p1 == p2)

        p1 = QgsProfilePoint(11, 12)
        p2 = QgsProfilePoint(1, 2)
        self.assertNotEqual(p1, p2)
        self.assertFalse(p1 == p2)

        p1 = QgsProfilePoint(1, 2)
        p2 = QgsProfilePoint(1, 2)
        self.assertEqual(p1, p2)
        self.assertFalse(p1 != p2)
    def testSnapping(self):
        pcl = QgsPointCloudLayer(
            os.path.join(unitTestDataPath(), 'point_clouds', 'ept',
                         'lone-star-laszip', 'ept.json'), 'test', 'ept')
        self.assertTrue(pcl.isValid())
        pcl.elevationProperties().setMaximumScreenError(30)
        pcl.elevationProperties().setMaximumScreenErrorUnit(
            QgsUnitTypes.RenderMillimeters)

        curve = QgsLineString()
        curve.fromWkt(
            'LineString (515387.94696552358800545 4918366.65919817332178354, 515389.15378401038469747 4918366.63842081092298031)'
        )
        req = QgsProfileRequest(curve)
        req.setCrs(pcl.crs())
        req.setTolerance(0.05)

        context = QgsProfileGenerationContext()
        context.setMapUnitsPerDistancePixel(0.50)

        generator = pcl.createProfileGenerator(req)
        generator.generateProfile(context)
        r = generator.takeResults()

        # try snapping some points
        context = QgsProfileSnapContext()
        res = r.snapPoint(QgsProfilePoint(0.27, 2335), context)
        self.assertFalse(res.isValid())

        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0
        context.maximumSurfaceElevationDelta = 3
        context.maximumSurfaceDistanceDelta = 1
        res = r.snapPoint(QgsProfilePoint(0.27, 2335), context)
        self.assertFalse(res.isValid())

        context.maximumPointDistanceDelta = 1
        context.maximumPointElevationDelta = 1
        context.maximumSurfaceElevationDelta = 0
        context.maximumSurfaceDistanceDelta = 0

        res = r.snapPoint(QgsProfilePoint(0.27, 2335), context)
        self.assertTrue(res.isValid())
        self.assertAlmostEqual(res.snappedPoint.distance(), 0.2783, 2)
        self.assertAlmostEqual(res.snappedPoint.elevation(), 2335.04575, 2)
    def testSnapping(self):
        ml = QgsMeshLayer(os.path.join(unitTestDataPath(), '3d', 'elev_mesh.2dm'), 'mdal', 'mdal')
        self.assertTrue(ml.isValid())
        ml.setCrs(QgsCoordinateReferenceSystem('EPSG:27700'))

        curve = QgsLineString()
        curve.fromWkt('LineString (321621.3770066662109457 129734.87810317709227093, 321894.21278918092139065 129858.49142702402605209)')
        req = QgsProfileRequest(curve)

        generator = ml.createProfileGenerator(req)
        self.assertTrue(generator.generateProfile())

        r = generator.takeResults()

        # try snapping some points
        context = QgsProfileSnapContext()
        res = r.snapPoint(QgsProfilePoint(-10, -10), context)
        self.assertFalse(res.isValid())

        context.maximumSurfaceDistanceDelta = 0
        context.maximumSurfaceElevationDelta = 3
        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0
        res = r.snapPoint(QgsProfilePoint(0, 70), context)
        self.assertTrue(res.isValid())
        self.assertEqual(res.snappedPoint.distance(), 0)
        self.assertAlmostEqual(res.snappedPoint.elevation(), 71.8, 0)

        context.maximumSurfaceDistanceDelta = 0
        context.maximumSurfaceElevationDelta = 5
        res = r.snapPoint(QgsProfilePoint(200, 79), context)
        self.assertTrue(res.isValid())
        self.assertEqual(res.snappedPoint.distance(), 200)
        self.assertAlmostEqual(res.snappedPoint.elevation(), 75.841, 1)

        res = r.snapPoint(QgsProfilePoint(200, 85), context)
        self.assertFalse(res.isValid())
    def testIdentify(self):
        ml = QgsMeshLayer(os.path.join(unitTestDataPath(), '3d', 'elev_mesh.2dm'), 'mdal', 'mdal')
        self.assertTrue(ml.isValid())
        ml.setCrs(QgsCoordinateReferenceSystem('EPSG:27700'))

        curve = QgsLineString()
        curve.fromWkt('LineString (321621.3770066662109457 129734.87810317709227093, 321894.21278918092139065 129858.49142702402605209)')
        req = QgsProfileRequest(curve)

        generator = ml.createProfileGenerator(req)
        self.assertTrue(generator.generateProfile())

        r = generator.takeResults()

        # try identifying
        context = QgsProfileIdentifyContext()
        res = r.identify(QgsProfilePoint(-10, -10), context)
        self.assertFalse(res)

        context.maximumSurfaceDistanceDelta = 0
        context.maximumSurfaceElevationDelta = 3
        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0
        res = r.identify(QgsProfilePoint(0, 70), context)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0].layer(), ml)
        self.assertEqual(res[0].results(), [{'distance': 0.0, 'elevation': 71.8236528075051}])

        context.maximumSurfaceDistanceDelta = 0
        context.maximumSurfaceElevationDelta = 5
        res = r.identify(QgsProfilePoint(200, 79), context)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0].layer(), ml)
        self.assertEqual(res[0].results(), [{'distance': 200.0, 'elevation': 75.84131736154015}])

        res = r.identify(QgsProfilePoint(200, 85), context)
        self.assertFalse(res)
    def testIdentify(self):
        rl = QgsRasterLayer(os.path.join(unitTestDataPath(), '3d', 'dtm.tif'), 'DTM')
        self.assertTrue(rl.isValid())
        rl.elevationProperties().setEnabled(True)

        curve = QgsLineString()
        curve.fromWkt('LineString (321621.3770066662109457 129734.87810317709227093, 321894.21278918092139065 129858.49142702402605209)')
        req = QgsProfileRequest(curve)

        generator = rl.createProfileGenerator(req)
        self.assertTrue(generator.generateProfile())

        r = generator.takeResults()

        # try identifying
        context = QgsProfileIdentifyContext()
        res = r.identify(QgsProfilePoint(-10, -10), context)
        self.assertFalse(res)

        context.maximumSurfaceDistanceDelta = 0
        context.maximumSurfaceElevationDelta = 3
        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0
        res = r.identify(QgsProfilePoint(0, 70), context)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0].layer(), rl)
        self.assertEqual(res[0].results(), [{'distance': 0.0, 'elevation': 72.0}])

        context.maximumSurfaceDistanceDelta = 0
        context.maximumSurfaceElevationDelta = 5
        res = r.identify(QgsProfilePoint(200, 79), context)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0].layer(), rl)
        self.assertEqual(res[0].results(), [{'distance': 200.0, 'elevation': 75.0}])

        res = r.identify(QgsProfilePoint(200, 85), context)
        self.assertFalse(res)
    def testSnapping(self):
        rl = QgsRasterLayer(os.path.join(unitTestDataPath(), '3d', 'dtm.tif'), 'DTM')
        self.assertTrue(rl.isValid())
        rl.elevationProperties().setEnabled(True)

        curve = QgsLineString()
        curve.fromWkt('LineString (321621.3770066662109457 129734.87810317709227093, 321894.21278918092139065 129858.49142702402605209)')
        req = QgsProfileRequest(curve)

        generator = rl.createProfileGenerator(req)
        self.assertTrue(generator.generateProfile())

        r = generator.takeResults()

        # try snapping some points
        context = QgsProfileSnapContext()
        res = r.snapPoint(QgsProfilePoint(-10, -10), context)
        self.assertFalse(res.isValid())

        context.maximumSurfaceDistanceDelta = 0
        context.maximumSurfaceElevationDelta = 3
        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0
        res = r.snapPoint(QgsProfilePoint(0, 70), context)
        self.assertTrue(res.isValid())
        self.assertEqual(res.snappedPoint.distance(), 0)
        self.assertEqual(res.snappedPoint.elevation(), 72)

        context.maximumSurfaceDistanceDelta = 0
        context.maximumSurfaceElevationDelta = 5
        res = r.snapPoint(QgsProfilePoint(200, 79), context)
        self.assertTrue(res.isValid())
        self.assertEqual(res.snappedPoint.distance(), 200)
        self.assertEqual(res.snappedPoint.elevation(), 75)

        res = r.snapPoint(QgsProfilePoint(200, 85), context)
        self.assertFalse(res.isValid())
    def testIdentify(self):
        pcl = QgsPointCloudLayer(
            os.path.join(unitTestDataPath(), 'point_clouds', 'ept',
                         'lone-star-laszip', 'ept.json'), 'test', 'ept')
        self.assertTrue(pcl.isValid())
        pcl.elevationProperties().setMaximumScreenError(30)
        pcl.elevationProperties().setMaximumScreenErrorUnit(
            QgsUnitTypes.RenderMillimeters)

        curve = QgsLineString()
        curve.fromWkt(
            'LineString (515387.94696552358800545 4918366.65919817332178354, 515389.15378401038469747 4918366.63842081092298031)'
        )
        req = QgsProfileRequest(curve)
        req.setCrs(pcl.crs())
        req.setTolerance(0.05)

        context = QgsProfileGenerationContext()
        context.setMapUnitsPerDistancePixel(0.50)

        generator = pcl.createProfileGenerator(req)
        generator.generateProfile(context)
        r = generator.takeResults()

        # try identifying some points
        context = QgsProfileIdentifyContext()
        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0
        res = r.identify(QgsProfilePoint(0.27, 2335), context)
        self.assertFalse(res)

        context.maximumPointDistanceDelta = 1
        context.maximumPointElevationDelta = 1

        res = r.identify(QgsProfilePoint(0.27, 2335), context)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0].layer(), pcl)
        self.assertEqual(res[0].results(), [{
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1612,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.2245,
            'Y': 4918366.61,
            'Z': 2335.04575
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 199,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.60825,
            'Y': 4918366.628,
            'Z': 2334.60175
        }])

        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0

        res = r.identify(QgsDoubleRange(0.2, 0.3), QgsDoubleRange(2330, 2360),
                         context)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0].layer(), pcl)
        self.assertCountEqual(res[0].results(), [{
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 565,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.21275,
            'Y': 4918366.65675,
            'Z': 2332.19075
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1357,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.17375,
            'Y': 4918366.679,
            'Z': 2332.56025
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1612,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.2245,
            'Y': 4918366.61,
            'Z': 2335.04575
        }])
Example #8
0
    def testIdentify(self):
        pcl = QgsPointCloudLayer(
            os.path.join(unitTestDataPath(), 'point_clouds', 'ept',
                         'lone-star-laszip', 'ept.json'), 'test', 'ept')
        self.assertTrue(pcl.isValid())
        pcl.elevationProperties().setMaximumScreenError(30)
        pcl.elevationProperties().setMaximumScreenErrorUnit(
            QgsUnitTypes.RenderMillimeters)

        curve = QgsLineString()
        curve.fromWkt(
            'LineString (515387.94696552358800545 4918366.65919817332178354, 515389.15378401038469747 4918366.63842081092298031)'
        )
        req = QgsProfileRequest(curve)
        req.setCrs(pcl.crs())
        req.setTolerance(0.05)

        context = QgsProfileGenerationContext()
        context.setMapUnitsPerDistancePixel(0.50)

        generator = pcl.createProfileGenerator(req)
        generator.generateProfile(context)
        r = generator.takeResults()

        # try identifying some points
        context = QgsProfileIdentifyContext()
        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0
        res = r.identify(QgsProfilePoint(0.27, 2335), context)
        self.assertFalse(res)

        context.maximumPointDistanceDelta = 1
        context.maximumPointElevationDelta = 1

        res = r.identify(QgsProfilePoint(0.27, 2335), context)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0].layer(), pcl)
        self.assertCountEqual(res[0].results(), [{
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1612,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.2245,
            'Y': 4918366.61,
            'Z': 2335.04575
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 199,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.60825,
            'Y': 4918366.628,
            'Z': 2334.60175
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1678,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.27575,
            'Y': 4918366.6325,
            'Z': 2334.728
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1605,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.25025,
            'Y': 4918366.62825,
            'Z': 2334.7095
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1633,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.28575,
            'Y': 4918366.66725,
            'Z': 2334.7065
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1547,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.238,
            'Y': 4918366.6555,
            'Z': 2335.0755
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1603,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.26675,
            'Y': 4918366.685,
            'Z': 2334.69125
        }])

        context.maximumPointDistanceDelta = 0
        context.maximumPointElevationDelta = 0

        res = r.identify(QgsDoubleRange(0.2, 0.3), QgsDoubleRange(2330, 2360),
                         context)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0].layer(), pcl)
        self.assertCountEqual(res[0].results(), [{
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 565,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.21275,
            'Y': 4918366.65675,
            'Z': 2332.19075
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1357,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.17375,
            'Y': 4918366.679,
            'Z': 2332.56025
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1612,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.2245,
            'Y': 4918366.61,
            'Z': 2335.04575
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1452,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.1985,
            'Y': 4918366.61025,
            'Z': 2332.38325
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 501,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.2145,
            'Y': 4918366.66275,
            'Z': 2332.16675
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1197,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.22125,
            'Y': 4918366.68675,
            'Z': 2332.2715
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 202,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.16825,
            'Y': 4918366.6625,
            'Z': 2332.73325
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 922,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.165,
            'Y': 4918366.65025,
            'Z': 2332.6565
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 955,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.1715,
            'Y': 4918366.673,
            'Z': 2332.6835
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1195,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.1785,
            'Y': 4918366.6955,
            'Z': 2332.6125
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1432,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.15825,
            'Y': 4918366.62575,
            'Z': 2332.501
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1413,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.1615,
            'Y': 4918366.63675,
            'Z': 2332.453
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1547,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.238,
            'Y': 4918366.6555,
            'Z': 2335.0755
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1259,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.20925,
            'Y': 4918366.646,
            'Z': 2332.29025
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1369,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.1895,
            'Y': 4918366.662,
            'Z': 2332.38325
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1394,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.2015,
            'Y': 4918366.703,
            'Z': 2332.36625
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 688,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.166,
            'Y': 4918366.654,
            'Z': 2332.7065
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1399,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.17225,
            'Y': 4918366.60575,
            'Z': 2332.57475
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1024,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.17475,
            'Y': 4918366.683,
            'Z': 2332.636
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1274,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.1585,
            'Y': 4918366.62625,
            'Z': 2332.5265
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1443,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.15875,
            'Y': 4918366.62725,
            'Z': 2332.4765
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1332,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.18,
            'Y': 4918366.69875,
            'Z': 2332.43775
        }, {
            'Classification': 0,
            'EdgeOfFlightLine': 0,
            'GpsTime': 0.0,
            'Intensity': 1295,
            'NumberOfReturns': 1,
            'OriginId': 3,
            'PointSourceId': 0,
            'ReturnNumber': 1,
            'ScanAngleRank': 0.0,
            'ScanDirectionFlag': 1,
            'UserData': 0,
            'X': 515388.1725,
            'Y': 4918366.67475,
            'Z': 2332.5855
        }])
Example #9
0
    def testBasic(self):
        point = QgsProfilePoint()
        self.assertTrue(point.isEmpty())
        self.assertEqual(str(point), '<QgsProfilePoint: EMPTY>')

        point.setDistance(1)
        self.assertFalse(point.isEmpty())
        self.assertEqual(point.distance(), 1)

        point = QgsProfilePoint()
        point.setElevation(1)
        self.assertFalse(point.isEmpty())
        self.assertEqual(point.elevation(), 1)

        point = QgsProfilePoint(1, 2)
        self.assertEqual(point.distance(), 1)
        self.assertEqual(point.elevation(), 2)
        self.assertEqual(str(point), '<QgsProfilePoint: 1, 2>')
        self.assertEqual(point[0], 1)
        self.assertEqual(point[1], 2)
        self.assertEqual(len(point), 2)