[GRASS-SVN] r74303 - in grass/trunk/vector: v.in.lidar/testsuite v.in.pdal/testsuite
svn_grass at osgeo.org
svn_grass at osgeo.org
Mon Mar 25 15:53:30 PDT 2019
Author: sbl
Date: 2019-03-25 15:53:30 -0700 (Mon, 25 Mar 2019)
New Revision: 74303
Added:
grass/trunk/vector/v.in.pdal/testsuite/test_v_in_pdal_basic.py
grass/trunk/vector/v.in.pdal/testsuite/test_v_in_pdal_filter.py
Removed:
grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_basic.py
grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_filter.py
Log:
Move v.in.pdal tests back; see #3792
Deleted: grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_basic.py
===================================================================
--- grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_basic.py 2019-03-25 10:17:11 UTC (rev 74302)
+++ grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_basic.py 2019-03-25 22:53:30 UTC (rev 74303)
@@ -1,73 +0,0 @@
-"""
-Name: basic_test
-Purpose: v.in.pdal basic functionality test
-
-Author: Vaclav Petras
-Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
-Licence: This program is free software under the GNU General Public
- License (>=v2). Read the file COPYING that comes with GRASS
- for details.
-"""
-
-import os
-from grass.gunittest.case import TestCase
-from grass.gunittest.main import test
-import unittest
-from grass.script import shutil_which
-
-class BasicTest(TestCase):
- """Test case for watershed module
-
- This tests expects v.random and v.out.lidar to work properly.
- """
-
- # Setup variables to be used for outputs
- vector_generated = 'vinlidar_basic_generated'
- vector_points = 'vinlidar_basic_original'
- imported_points = 'vinlidar_basic_imported'
- las_file = 'vinlidar_basic_points.las'
- npoints = 300
-
- @classmethod
- def setUpClass(cls):
- """Ensures expected computational region and generated data"""
- cls.use_temp_region()
- cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
- cls.runModule('v.random', flags='zb', output=cls.vector_generated,
- npoints=cls.npoints, zmin=200, zmax=500, seed=100)
- cls.runModule('v.category', input=cls.vector_generated,
- output=cls.vector_points, option='del', cat=-1)
- cls.runModule('v.out.lidar', input=cls.vector_points,
- output=cls.las_file)
-
- @classmethod
- def tearDownClass(cls):
- """Remove the temporary region and generated data"""
- cls.runModule('g.remove', flags='f', type='vector',
- name=(cls.vector_points, cls.vector_generated))
- if os.path.isfile(cls.las_file):
- os.remove(cls.las_file)
- cls.del_temp_region()
-
- def tearDown(self):
- """Remove the outputs created by the import
-
- This is executed after each test run.
- """
- self.runModule('g.remove', flags='f', type='vector',
- name=self.imported_points)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_same_data(self):
- """Test to see if the standard outputs are created"""
- self.assertModule('v.in.pdal', input=self.las_file, flags='c',
- output=self.imported_points)
- self.assertVectorExists(self.imported_points)
- self.assertVectorEqualsVector(
- actual=self.imported_points,
- reference=self.vector_points,
- digits=2, precision=.01)
-
-
-if __name__ == '__main__':
- test()
Deleted: grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_filter.py
===================================================================
--- grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_filter.py 2019-03-25 10:17:11 UTC (rev 74302)
+++ grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_filter.py 2019-03-25 22:53:30 UTC (rev 74303)
@@ -1,227 +0,0 @@
-"""
-Name: filter_test
-Purpose: v.in.pdal test if various filters and selections
-
-Author: Vaclav Petras
-Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
-Licence: This program is free software under the GNU General Public
- License (>=v2). Read the file COPYING that comes with GRASS
- for details.
-"""
-
-import os
-from grass.gunittest.case import TestCase
-from grass.gunittest.main import test
-import unittest
-from grass.script import shutil_which
-
-POINTS = """\
-17.46938776,18.67346939,143,1,1,2
-20.93877551,17.44897959,125,1,1,2
-18.89795918,14.18367347,130,1,1,3
-15.91836735,10.67346939,126,1,1,3
-21.26530612,11.04081633,128,1,2,3
-22.24489796,13.89795918,123,2,2,3
-23.79591837,17.12244898,151,1,2,3
-17.2244898,16.34693878,124,2,2,4
-17.14285714,14.10204082,134,1,3,4
-19.87755102,11.81632653,146,2,3,4
-18.48979592,11.48979592,140.6,2,3,4
-21.26530612,15.73469388,147,3,3,5
-21.18367347,19.32653061,138,1,3,5
-23.91836735,18.83673469,144,2,3,5
-23.51020408,13.65306122,143,3,3,5
-23.55102041,11.32653061,123,1,4,5
-18.41009273,14.51618034,140.4,2,4,5
-22.13996161,17.2278263,147,3,4,5
-21.41013052,11.05432488,132,4,4,5
-"""
-
-
-class FilterTest(TestCase):
- """Test case for filter and selection options
-
- This tests expects v.random and v.out.lidar to work properly.
- """
-
- # Setup variables to be used for outputs
- vector_points = 'vinlidar_filters_original'
- imported_points = 'vinlidar_filters_imported'
- las_file = 'vinlidar_filters_points.las'
- npoints = 300
-
- @classmethod
- def setUpClass(cls):
- """Ensures expected computational region and generated data"""
- cls.use_temp_region()
- cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
- cls.runModule('v.in.ascii', input='-', stdin_=POINTS,
- flags='z', z=3, cat=0, separator='comma',
- output=cls.vector_points,
- columns="x double precision, y double precision,"
- " z double precision, return_n integer,"
- " n_returns integer, class_n integer")
- cls.runModule('v.out.lidar',
- input=cls.vector_points, layer=1,
- output=cls.las_file,
- return_column='return_n',
- n_returns_column='n_returns',
- class_column='class_n')
-
- @classmethod
- def tearDownClass(cls):
- """Remove the temporary region and generated data"""
- cls.runModule('g.remove', flags='f', type='vector',
- name=cls.vector_points)
- if os.path.isfile(cls.las_file):
- os.remove(cls.las_file)
- cls.del_temp_region()
-
- def tearDown(self):
- """Remove the outputs created by the import
-
- This is executed after each test run.
- """
- self.runModule('g.remove', flags='f', type='vector',
- name=self.imported_points)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_no_filter(self):
- """Test to see if the standard outputs are created
-
- This shows if the inpute data are as expected.
- """
- self.assertModule('v.in.pdal', input=self.las_file,
- output=self.imported_points)
- self.assertVectorExists(self.imported_points)
- self.assertVectorFitsTopoInfo(
- vector=self.imported_points,
- reference=dict(points=19))
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def return_filter(self, name, npoints):
- """Mid return filter test"""
- self.assertModule('v.in.pdal', input=self.las_file,
- output=self.imported_points,
- return_filter=name)
- self.assertVectorExists(self.imported_points)
- self.assertVectorFitsTopoInfo(
- vector=self.imported_points,
- reference=dict(points=npoints))
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_first_return_filter(self):
- """First return filter test"""
- self.return_filter('first', 9)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_mid_return_filter(self):
- """Mid return filter test"""
- self.return_filter('mid', 5)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_last_return_filter(self):
- """Last return filter test"""
- self.return_filter('last', 5)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def class_filter(self, class_n, npoints):
- """Actual code for testing class filter"""
- self.assertModule('v.in.pdal', input=self.las_file,
- output=self.imported_points,
- class_filter=class_n)
- self.assertVectorExists(self.imported_points)
- self.assertVectorFitsTopoInfo(
- vector=self.imported_points,
- reference=dict(points=npoints))
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_class_2_filter(self):
- """Test to filter classes"""
- self.class_filter(2, 2)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_class_3_filter(self):
- """Test to filter classes"""
- self.class_filter(3, 5)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_class_4_filter(self):
- """Test to filter classes"""
- self.class_filter(4, 4)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_class_5_filter(self):
- """Test to filter classes"""
- self.class_filter(5, 8)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def return_and_class_filter(self, return_name, class_n, npoints):
- """Return and class filter combined test code"""
- self.assertModule('v.in.pdal', input=self.las_file,
- output=self.imported_points,
- return_filter=return_name, class_filter=class_n)
- self.assertVectorExists(self.imported_points)
- self.assertVectorFitsTopoInfo(
- vector=self.imported_points,
- reference=dict(points=npoints))
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_first_return_and_class_filter(self):
- """Combined test for return and class"""
- self.return_and_class_filter('first', 2, 2)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_last_return_and_class_filter(self):
- """Combined test for return and class"""
- self.return_and_class_filter('last', 5, 3)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def zrange_filter(self, zrange, npoints):
- """Actual code for zrange option test"""
- self.assertModule('v.in.pdal', input=self.las_file,
- output=self.imported_points,
- zrange=zrange)
- self.assertVectorExists(self.imported_points)
- self.assertVectorFitsTopoInfo(
- vector=self.imported_points,
- reference=dict(points=npoints))
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_zrange_filter(self):
- """Test zrange option"""
- self.zrange_filter((130.1, 139.9), 3)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_non_int_zrange_filter(self):
- """Test zrange option with float number
-
- One test point has z right under and one other right above the min.
- """
- self.zrange_filter((140.5, 900), 8)
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_zrange_and_class_filter(self):
- """zrange and class_filter option combined test"""
- self.assertModule('v.in.pdal', input=self.las_file,
- output=self.imported_points,
- zrange=(141, 900), class_filter=5)
- self.assertVectorExists(self.imported_points)
- self.assertVectorFitsTopoInfo(
- vector=self.imported_points,
- reference=dict(points=4))
-
- @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
- def test_zrange_and_return_filter(self):
- """zrange and class_filter option combined test"""
- self.assertModule('v.in.pdal', input=self.las_file,
- output=self.imported_points,
- zrange=(141, 900), return_filter='last')
- self.assertVectorExists(self.imported_points)
- self.assertVectorFitsTopoInfo(
- vector=self.imported_points,
- reference=dict(points=2))
-
-
-if __name__ == '__main__':
- test()
Copied: grass/trunk/vector/v.in.pdal/testsuite/test_v_in_pdal_basic.py (from rev 74302, grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_basic.py)
===================================================================
--- grass/trunk/vector/v.in.pdal/testsuite/test_v_in_pdal_basic.py (rev 0)
+++ grass/trunk/vector/v.in.pdal/testsuite/test_v_in_pdal_basic.py 2019-03-25 22:53:30 UTC (rev 74303)
@@ -0,0 +1,73 @@
+"""
+Name: basic_test
+Purpose: v.in.pdal basic functionality test
+
+Author: Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence: This program is free software under the GNU General Public
+ License (>=v2). Read the file COPYING that comes with GRASS
+ for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+import unittest
+from grass.script import shutil_which
+
+class BasicTest(TestCase):
+ """Test case for watershed module
+
+ This tests expects v.random and v.out.lidar to work properly.
+ """
+
+ # Setup variables to be used for outputs
+ vector_generated = 'vinlidar_basic_generated'
+ vector_points = 'vinlidar_basic_original'
+ imported_points = 'vinlidar_basic_imported'
+ las_file = 'vinlidar_basic_points.las'
+ npoints = 300
+
+ @classmethod
+ def setUpClass(cls):
+ """Ensures expected computational region and generated data"""
+ cls.use_temp_region()
+ cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+ cls.runModule('v.random', flags='zb', output=cls.vector_generated,
+ npoints=cls.npoints, zmin=200, zmax=500, seed=100)
+ cls.runModule('v.category', input=cls.vector_generated,
+ output=cls.vector_points, option='del', cat=-1)
+ cls.runModule('v.out.lidar', input=cls.vector_points,
+ output=cls.las_file)
+
+ @classmethod
+ def tearDownClass(cls):
+ """Remove the temporary region and generated data"""
+ cls.runModule('g.remove', flags='f', type='vector',
+ name=(cls.vector_points, cls.vector_generated))
+ if os.path.isfile(cls.las_file):
+ os.remove(cls.las_file)
+ cls.del_temp_region()
+
+ def tearDown(self):
+ """Remove the outputs created by the import
+
+ This is executed after each test run.
+ """
+ self.runModule('g.remove', flags='f', type='vector',
+ name=self.imported_points)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_same_data(self):
+ """Test to see if the standard outputs are created"""
+ self.assertModule('v.in.pdal', input=self.las_file, flags='c',
+ output=self.imported_points)
+ self.assertVectorExists(self.imported_points)
+ self.assertVectorEqualsVector(
+ actual=self.imported_points,
+ reference=self.vector_points,
+ digits=2, precision=.01)
+
+
+if __name__ == '__main__':
+ test()
Copied: grass/trunk/vector/v.in.pdal/testsuite/test_v_in_pdal_filter.py (from rev 74302, grass/trunk/vector/v.in.lidar/testsuite/test_v_in_pdal_filter.py)
===================================================================
--- grass/trunk/vector/v.in.pdal/testsuite/test_v_in_pdal_filter.py (rev 0)
+++ grass/trunk/vector/v.in.pdal/testsuite/test_v_in_pdal_filter.py 2019-03-25 22:53:30 UTC (rev 74303)
@@ -0,0 +1,227 @@
+"""
+Name: filter_test
+Purpose: v.in.pdal test if various filters and selections
+
+Author: Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence: This program is free software under the GNU General Public
+ License (>=v2). Read the file COPYING that comes with GRASS
+ for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+import unittest
+from grass.script import shutil_which
+
+POINTS = """\
+17.46938776,18.67346939,143,1,1,2
+20.93877551,17.44897959,125,1,1,2
+18.89795918,14.18367347,130,1,1,3
+15.91836735,10.67346939,126,1,1,3
+21.26530612,11.04081633,128,1,2,3
+22.24489796,13.89795918,123,2,2,3
+23.79591837,17.12244898,151,1,2,3
+17.2244898,16.34693878,124,2,2,4
+17.14285714,14.10204082,134,1,3,4
+19.87755102,11.81632653,146,2,3,4
+18.48979592,11.48979592,140.6,2,3,4
+21.26530612,15.73469388,147,3,3,5
+21.18367347,19.32653061,138,1,3,5
+23.91836735,18.83673469,144,2,3,5
+23.51020408,13.65306122,143,3,3,5
+23.55102041,11.32653061,123,1,4,5
+18.41009273,14.51618034,140.4,2,4,5
+22.13996161,17.2278263,147,3,4,5
+21.41013052,11.05432488,132,4,4,5
+"""
+
+
+class FilterTest(TestCase):
+ """Test case for filter and selection options
+
+ This tests expects v.random and v.out.lidar to work properly.
+ """
+
+ # Setup variables to be used for outputs
+ vector_points = 'vinlidar_filters_original'
+ imported_points = 'vinlidar_filters_imported'
+ las_file = 'vinlidar_filters_points.las'
+ npoints = 300
+
+ @classmethod
+ def setUpClass(cls):
+ """Ensures expected computational region and generated data"""
+ cls.use_temp_region()
+ cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+ cls.runModule('v.in.ascii', input='-', stdin_=POINTS,
+ flags='z', z=3, cat=0, separator='comma',
+ output=cls.vector_points,
+ columns="x double precision, y double precision,"
+ " z double precision, return_n integer,"
+ " n_returns integer, class_n integer")
+ cls.runModule('v.out.lidar',
+ input=cls.vector_points, layer=1,
+ output=cls.las_file,
+ return_column='return_n',
+ n_returns_column='n_returns',
+ class_column='class_n')
+
+ @classmethod
+ def tearDownClass(cls):
+ """Remove the temporary region and generated data"""
+ cls.runModule('g.remove', flags='f', type='vector',
+ name=cls.vector_points)
+ if os.path.isfile(cls.las_file):
+ os.remove(cls.las_file)
+ cls.del_temp_region()
+
+ def tearDown(self):
+ """Remove the outputs created by the import
+
+ This is executed after each test run.
+ """
+ self.runModule('g.remove', flags='f', type='vector',
+ name=self.imported_points)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_no_filter(self):
+ """Test to see if the standard outputs are created
+
+ This shows if the inpute data are as expected.
+ """
+ self.assertModule('v.in.pdal', input=self.las_file,
+ output=self.imported_points)
+ self.assertVectorExists(self.imported_points)
+ self.assertVectorFitsTopoInfo(
+ vector=self.imported_points,
+ reference=dict(points=19))
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def return_filter(self, name, npoints):
+ """Mid return filter test"""
+ self.assertModule('v.in.pdal', input=self.las_file,
+ output=self.imported_points,
+ return_filter=name)
+ self.assertVectorExists(self.imported_points)
+ self.assertVectorFitsTopoInfo(
+ vector=self.imported_points,
+ reference=dict(points=npoints))
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_first_return_filter(self):
+ """First return filter test"""
+ self.return_filter('first', 9)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_mid_return_filter(self):
+ """Mid return filter test"""
+ self.return_filter('mid', 5)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_last_return_filter(self):
+ """Last return filter test"""
+ self.return_filter('last', 5)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def class_filter(self, class_n, npoints):
+ """Actual code for testing class filter"""
+ self.assertModule('v.in.pdal', input=self.las_file,
+ output=self.imported_points,
+ class_filter=class_n)
+ self.assertVectorExists(self.imported_points)
+ self.assertVectorFitsTopoInfo(
+ vector=self.imported_points,
+ reference=dict(points=npoints))
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_class_2_filter(self):
+ """Test to filter classes"""
+ self.class_filter(2, 2)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_class_3_filter(self):
+ """Test to filter classes"""
+ self.class_filter(3, 5)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_class_4_filter(self):
+ """Test to filter classes"""
+ self.class_filter(4, 4)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_class_5_filter(self):
+ """Test to filter classes"""
+ self.class_filter(5, 8)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def return_and_class_filter(self, return_name, class_n, npoints):
+ """Return and class filter combined test code"""
+ self.assertModule('v.in.pdal', input=self.las_file,
+ output=self.imported_points,
+ return_filter=return_name, class_filter=class_n)
+ self.assertVectorExists(self.imported_points)
+ self.assertVectorFitsTopoInfo(
+ vector=self.imported_points,
+ reference=dict(points=npoints))
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_first_return_and_class_filter(self):
+ """Combined test for return and class"""
+ self.return_and_class_filter('first', 2, 2)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_last_return_and_class_filter(self):
+ """Combined test for return and class"""
+ self.return_and_class_filter('last', 5, 3)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def zrange_filter(self, zrange, npoints):
+ """Actual code for zrange option test"""
+ self.assertModule('v.in.pdal', input=self.las_file,
+ output=self.imported_points,
+ zrange=zrange)
+ self.assertVectorExists(self.imported_points)
+ self.assertVectorFitsTopoInfo(
+ vector=self.imported_points,
+ reference=dict(points=npoints))
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_zrange_filter(self):
+ """Test zrange option"""
+ self.zrange_filter((130.1, 139.9), 3)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_non_int_zrange_filter(self):
+ """Test zrange option with float number
+
+ One test point has z right under and one other right above the min.
+ """
+ self.zrange_filter((140.5, 900), 8)
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_zrange_and_class_filter(self):
+ """zrange and class_filter option combined test"""
+ self.assertModule('v.in.pdal', input=self.las_file,
+ output=self.imported_points,
+ zrange=(141, 900), class_filter=5)
+ self.assertVectorExists(self.imported_points)
+ self.assertVectorFitsTopoInfo(
+ vector=self.imported_points,
+ reference=dict(points=4))
+
+ @unittest.skipIf(shutil_which('v.in.pdal') is None, "Cannot find v.in.pdal")
+ def test_zrange_and_return_filter(self):
+ """zrange and class_filter option combined test"""
+ self.assertModule('v.in.pdal', input=self.las_file,
+ output=self.imported_points,
+ zrange=(141, 900), return_filter='last')
+ self.assertVectorExists(self.imported_points)
+ self.assertVectorFitsTopoInfo(
+ vector=self.imported_points,
+ reference=dict(points=2))
+
+
+if __name__ == '__main__':
+ test()
More information about the grass-commit
mailing list