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 }])
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 }])
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)