kopia lustrzana https://github.com/OpenDroneMap/ODM
69 wiersze
2.6 KiB
Python
69 wiersze
2.6 KiB
Python
import time
|
|
import unittest
|
|
import os
|
|
import shutil
|
|
|
|
from opendm.gcp import GCPFile
|
|
|
|
|
|
class TestGcp(unittest.TestCase):
|
|
def setUp(self):
|
|
if os.path.exists("tests/assets/output"):
|
|
shutil.rmtree("tests/assets/output")
|
|
os.makedirs("tests/assets/output")
|
|
# pass
|
|
|
|
def test_utm_north(self):
|
|
gcp = GCPFile("tests/assets/gcp_utm_north_valid.txt")
|
|
self.assertTrue(gcp.exists())
|
|
self.assertEqual(gcp.wgs84_utm_zone(), "WGS84 UTM 16N")
|
|
|
|
def test_latlon_south(self):
|
|
gcp = GCPFile("tests/assets/gcp_latlon_south.txt")
|
|
self.assertTrue(gcp.exists())
|
|
self.assertEqual(gcp.wgs84_utm_zone(), "WGS84 UTM 48S")
|
|
|
|
def test_latlon(self):
|
|
gcp = GCPFile("tests/assets/gcp_latlon_valid.txt")
|
|
self.assertTrue(gcp.exists())
|
|
self.assertEqual(gcp.wgs84_utm_zone(), "WGS84 UTM 16N")
|
|
|
|
def test_utm_conversion(self):
|
|
gcp = GCPFile("tests/assets/gcp_latlon_valid.txt")
|
|
copy = GCPFile(gcp.create_utm_copy("tests/assets/output/gcp_utm.txt"))
|
|
self.assertTrue(copy.exists())
|
|
self.assertEqual(copy.raw_srs, "WGS84 UTM 16N")
|
|
self.assertEqual(copy.get_entry(0).x, 609865.7077054137)
|
|
self.assertEqual(copy.get_entry(0).y, 4950688.361817497)
|
|
|
|
def test_utm_conversion_feet(self):
|
|
gcp = GCPFile("tests/assets/gcp_michigan_feet_valid.txt")
|
|
copy = GCPFile(gcp.create_utm_copy("tests/assets/output/gcp_utm_z.txt"))
|
|
self.assertTrue(copy.exists())
|
|
self.assertEqual(copy.raw_srs, "WGS84 UTM 16N")
|
|
self.assertEqual(round(copy.get_entry(0).x, 3), 609925.818)
|
|
self.assertEqual(round(copy.get_entry(0).y, 3), 4950688.772)
|
|
self.assertEqual(round(copy.get_entry(0).z, 3), 563.199)
|
|
|
|
def test_filtered_copy(self):
|
|
gcp = GCPFile('tests/assets/gcp_latlon_valid.txt')
|
|
self.assertTrue(gcp.exists())
|
|
self.assertEqual(gcp.entries_count(), 2)
|
|
copy = GCPFile(gcp.make_filtered_copy('tests/assets/output/filtered_copy.txt', 'tests/assets/images', min_images=1))
|
|
self.assertTrue(copy.exists())
|
|
self.assertEqual(copy.entries_count(), 1)
|
|
|
|
def test_null_gcp(self):
|
|
gcp = GCPFile(None)
|
|
self.assertFalse(gcp.exists())
|
|
|
|
def test_gcp_extras(self):
|
|
gcp = GCPFile('tests/assets/gcp_extras.txt')
|
|
self.assertEqual(gcp.get_entry(0).extras, 'gcp1')
|
|
|
|
copy = GCPFile(gcp.create_utm_copy("tests/assets/output/gcp_utm_no_extras.txt", include_extras=False))
|
|
self.assertTrue(copy.exists())
|
|
self.assertEqual(copy.get_entry(0).extras, '')
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main() |