Ejemplo n.º 1
0
 def test_clear_project_data(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     prj.survey_label = "test"
     self.assertTrue(len(prj.survey_label) != 0)
     prj.clear_data()
     self.assertEqual(len(prj.s57_list), 0)
     self.assertEqual(len(prj.ss_list), 0)
     self.assertEqual(len(prj.survey_label), 0)
Ejemplo n.º 2
0
 def test_outputs(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     prj.output_shp = True
     self.assertTrue(prj.output_shp)
     prj.output_kml = True
     self.assertTrue(prj.output_kml)
     prj.output_svp = True
     self.assertTrue(prj.output_svp)
Ejemplo n.º 3
0
 def test_grid_read(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     self.assertTrue(prj.cur_grid is None)
     self.assertFalse(prj.has_grid())
     with self.assertRaises(RuntimeError):
         _ = prj.cur_grid_basename
     prj.add_to_grid_list(testing.input_test_files(".bag")[0])
     prj.set_cur_grid(testing.input_test_files(".bag")[0])
     prj.open_to_read_cur_grid()
     self.assertTrue(prj.cur_grid is not None)
     self.assertTrue(prj.has_grid())
     self.assertGreater(len(prj.cur_grid_basename), 0)
Ejemplo n.º 4
0
 def test_select_layers_in_cur_grid(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     prj.add_to_grid_list(testing.input_test_files(".bag")[0])
     prj.set_cur_grid(testing.input_test_files(".bag")[0])
     prj.open_to_read_cur_grid()
     self.assertEqual(len(prj.selected_layers_in_cur_grid), 0)
     prj.selected_layers_in_cur_grid = [
         layer_types['depth'],
     ]
     self.assertEqual(len(prj.selected_layers_in_cur_grid), 1)
Ejemplo n.º 5
0
 def test_cur_grid_shape(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     prj.add_to_grid_list(testing.input_test_files(".bag")[0])
     prj.set_cur_grid(testing.input_test_files(".bag")[0])
     prj.open_to_read_cur_grid()
     self.assertEquals(prj.cur_grid_shape[0], 0)
     self.assertEquals(prj.cur_grid_shape[1], 0)
Ejemplo n.º 6
0
 def test_s57_list_add_real(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     prj.add_to_s57_list(testing.input_test_files(".000")[0])
     self.assertEqual(len(prj.s57_list), 1)
     prj.add_to_s57_list(testing.input_test_files(".000")[0])
     self.assertEqual(len(prj.s57_list), 1)
     prj.remove_from_s57_list(testing.input_test_files(".000")[0])
     self.assertEqual(len(prj.s57_list), 0)
Ejemplo n.º 7
0
 def test_make_project_survey_label(self):
     prj = ChartProject(output_folder=None)
     prj.add_to_s57_list(testing.input_test_files(".000")[-1])
     prj.read_feature_file(testing.input_test_files(".000")[-1])
     self.assertTrue(len(prj.survey_label) != 0)
     self.assertTrue(len(prj.survey_label) == 6)
     self.assertEqual(prj.survey_label, "tiny__")
Ejemplo n.º 8
0
 def test_s57_read(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     self.assertTrue(prj.cur_s57 is None)
     self.assertFalse(prj.has_s57())
     self.assertEqual(len(prj.cur_s57_basename), 0)
     prj.read_feature_file(testing.input_test_files(".000")[0])
     self.assertTrue(prj.cur_s57 is not None)
     self.assertTrue(prj.has_s57())
     self.assertGreater(len(prj.cur_s57_basename), 0)
Ejemplo n.º 9
0
 def test_s57_list(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     self.assertEqual(len(prj.s57_list), 0)
Ejemplo n.º 10
0
 def test_make_project_survey_label_from_path(self):
     prj = ChartProject(output_folder=None)
     survey_label = prj.make_survey_label_from_path("fake/H012345")
     self.assertTrue(len(survey_label) != 0)
     self.assertTrue(len(survey_label) == 6)
     self.assertEqual(survey_label, "H01234")
Ejemplo n.º 11
0
from hyo2.qc.common import default_logging
import logging

from hyo2.qc.chart.project import ChartProject
from hyo2.qc.common.grid_callback.cli_grid_callback import CliGridCallback
from hyo2.qc.common import testing

default_logging.load()
logger = logging.getLogger()

prj = ChartProject(output_folder=testing.output_data_folder())
prj.set_callback(CliGridCallback())

input_bag_file = testing.input_test_files('.bag')[1]
logger.debug('input: %s' % input_bag_file)
prj.add_to_grid_list(input_bag_file)

prj.grid_xyz(version=1, geographic=True)

logger.debug(prj)
Ejemplo n.º 12
0
 def test_init_project_survey_label(self):
     prj = ChartProject(output_folder=None)
     self.assertTrue(len(prj.survey_label) == 0)
Ejemplo n.º 13
0
from hyo2.qc.common import default_logging
import logging

default_logging.load()
logger = logging.getLogger()

from hyo2.qc.chart.project import ChartProject
from hyo2.qc.common import testing
from PySide import QtGui
from hyo2.qc.qctools.qt_progress import QtProgress


app = QtGui.QApplication([])
wid = QtGui.QWidget()

prj = ChartProject(output_folder=testing.output_data_folder(), progress=QtProgress(parent=wid))

# add S57 files
s57_files = testing.input_test_files(".000")
logger.info("S57 files: %d" % len(s57_files))
for s57_file in s57_files:

    if "SS" in s57_file:
        prj.add_to_ss_list(s57_file)
    elif "CS" in s57_file:
        pass
    else:
        prj.add_to_s57_list(s57_file)

prj.feature_scan(version=3, specs_version='2016')
Ejemplo n.º 14
0
 def test_init_project_valid_profile(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     self.assertTrue(
         prj.active_profile in ChartProject.project_profiles.values())
Ejemplo n.º 15
0
 def test_init_project_field_profile(self):
     prj = ChartProject(output_folder=testing.output_data_folder(),
                        profile=ChartProject.project_profiles['field'])
     self.assertEqual(prj.active_profile,
                      ChartProject.project_profiles['field'])
Ejemplo n.º 16
0
 def test_init_project_none_folder(self):
     prj = ChartProject(output_folder=None)
     self.assertTrue(os.path.exists(prj.output_folder))
Ejemplo n.º 17
0
from hyo2.qc.common import default_logging
import logging

from hyo2.qc.chart.project import ChartProject
from hyo2.qc.common.grid_callback.cli_grid_callback import CliGridCallback
from hyo2.qc.common import testing

default_logging.load()
logger = logging.getLogger()

prj = ChartProject(output_folder=testing.output_data_folder())
prj.set_callback(CliGridCallback())

input_bag_file = testing.input_test_files('.bag')[1]
logger.debug('input: %s' % input_bag_file)
prj.add_to_grid_list(input_bag_file)

geographic = False
elevation = False
truncate = False
decimal_places = 0
epsg_code = 4326
order = 'xyz'

prj.grid_xyz(version=2,
             geographic=geographic,
             elevation=elevation,
             truncate=truncate,
             decimal_places=decimal_places,
             epsg_code=epsg_code,
             order=order)
Ejemplo n.º 18
0
 def test_output_folder(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     with self.assertRaises(RuntimeError):
         prj.output_folder = "C:/invalid/path/to/folder"
Ejemplo n.º 19
0
 def test_s57_list_add_fake(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     with self.assertRaises(RuntimeError):
         prj.add_to_s57_list("fake/fake.000")
Ejemplo n.º 20
0
    def __init__(self, main_win):
        AbstractWidget.__init__(self, main_win=main_win)
        self.prj = ChartProject(progress=QtProgress(parent=self))
        self.prj.set_callback(QtGridCallback(progress=self.prj.progress))

        # init default settings
        settings = QtCore.QSettings()
        # - import
        import_folder = settings.value("chart_import_folder")
        if (import_folder is None) or (not os.path.exists(import_folder)):
            settings.setValue("chart_import_folder", self.prj.output_folder)
        # - output folder
        export_folder = settings.value("chart_export_folder")
        if (export_folder is None) or (not os.path.exists(export_folder)):
            settings.setValue("chart_export_folder", self.prj.output_folder)
        else:  # folder exists
            self.prj.output_folder = export_folder
        # - shp
        export_shp = settings.value("chart_export_shp")
        if export_shp is None:
            settings.setValue("chart_export_shp", self.prj.output_shp)
        else:  # exists
            self.prj.output_shp = (export_shp == "true")
        # - kml
        export_kml = settings.value("chart_export_kml")
        if export_kml is None:
            settings.setValue("chart_export_kml", self.prj.output_kml)
        else:  # exists
            self.prj.output_kml = (export_kml == "true")
        # - subfolders
        export_subfolders = settings.value("chart_export_subfolders")
        if export_subfolders is None:
            settings.setValue("chart_export_subfolders",
                              self.prj.output_subfolders)
        else:  # exists
            self.prj.output_subfolders = (export_subfolders == "true")
        # - project folder
        export_project_folder = settings.value("chart_export_project_folder")
        if export_project_folder is None:
            settings.setValue("chart_export_project_folder",
                              self.prj.output_project_folder)
        else:  # exists
            self.prj.output_project_folder = (export_project_folder == "true")

        # make tabs
        self.tabs = QtWidgets.QTabWidget()
        self.setCentralWidget(self.tabs)
        self.tabs.setContentsMargins(0, 0, 0, 0)
        self.tabs.setIconSize(QtCore.QSize(36, 36))
        self.tabs.setTabPosition(QtWidgets.QTabWidget.South)

        # - inputs
        self.tab_inputs = InputsTab(parent_win=self, prj=self.prj)
        self.idx_inputs = self.tabs.insertTab(
            0, self.tab_inputs,
            QtGui.QIcon(os.path.join(self.media, 'inputs.png')), "")
        self.tabs.setTabToolTip(self.idx_inputs, "Data inputs")

        # - grid truncate
        self.tab_grid_truncate = GridTruncateTab(parent_win=self, prj=self.prj)
        self.idx_grid_truncate = self.tabs.insertTab(
            1, self.tab_grid_truncate,
            QtGui.QIcon(os.path.join(self.media, 'grid_truncate.png')), "")
        self.tabs.setTabToolTip(self.idx_grid_truncate, "Grid truncate")
        self.tabs.setTabEnabled(self.idx_grid_truncate, False)

        # - grid xyz
        self.tab_grid_xyz = GridXyzTab(parent_win=self, prj=self.prj)
        self.idx_grid_xyz = self.tabs.insertTab(
            2, self.tab_grid_xyz,
            QtGui.QIcon(os.path.join(self.media, 'grid_xyz.png')), "")
        self.tabs.setTabToolTip(self.idx_grid_xyz, "Grid xyz")
        self.tabs.setTabEnabled(self.idx_grid_xyz, False)

        # - S57 truncate
        self.tab_s57_truncate = S57TruncateTab(parent_win=self, prj=self.prj)
        self.idx_s57_truncate = self.tabs.insertTab(
            3, self.tab_s57_truncate,
            QtGui.QIcon(os.path.join(self.media, 's57_truncate.png')), "")
        self.tabs.setTabToolTip(self.idx_s57_truncate, "S57 truncate")
        self.tabs.setTabEnabled(self.idx_s57_truncate, False)

        # - scan features
        self.tab_scan = ScanTab(parent_win=self, prj=self.prj)
        self.idx_scan = self.tabs.insertTab(
            4, self.tab_scan,
            QtGui.QIcon(os.path.join(self.media, 'scan_features.png')), "")
        self.tabs.setTabToolTip(self.idx_scan, "Scan features")
        self.tabs.setTabEnabled(self.idx_scan, False)

        # - triangle
        self.tab_triangle = TriangleTab(parent_win=self, prj=self.prj)
        self.idx_triangle = self.tabs.insertTab(
            5, self.tab_triangle,
            QtGui.QIcon(os.path.join(self.media, 'triangle.png')), "")
        self.tabs.setTabToolTip(self.idx_triangle, "Triangle Rule")
        self.tabs.setTabEnabled(self.idx_triangle, False)

        # noinspection PyUnresolvedReferences
        self.tabs.currentChanged.connect(self.change_tabs)

        # flags
        self.has_grid = False
        self.has_s57 = False
        self.has_ss = False
Ejemplo n.º 21
0
    def test_cur_grid_has_layers(self):
        prj = ChartProject(output_folder=testing.output_data_folder())
        with self.assertRaises(RuntimeError):
            prj.cur_grid_has_depth_layer()
        with self.assertRaises(RuntimeError):
            prj.cur_grid_has_product_uncertainty_layer()
        with self.assertRaises(RuntimeError):
            prj.cur_grid_has_density_layer()
        with self.assertRaises(RuntimeError):
            prj.cur_grid_has_tvu_qc_layer()
        with self.assertRaises(RuntimeError):
            prj.cur_grid_tvu_qc_layers()
        with self.assertRaises(RuntimeError):
            prj.set_cur_grid_tvu_qc_name("fake")

        prj.add_to_grid_list(testing.input_test_files(".bag")[0])
        prj.set_cur_grid(testing.input_test_files(".bag")[0])
        prj.open_to_read_cur_grid()
        self.assertTrue(prj.cur_grid_has_depth_layer())
        self.assertTrue(prj.cur_grid_has_product_uncertainty_layer())
        self.assertFalse(prj.cur_grid_has_density_layer())
        self.assertFalse(prj.cur_grid_has_tvu_qc_layer())
        self.assertEqual(len(prj.cur_grid_tvu_qc_layers()), 0)
        self.assertTrue(prj.has_bag_grid())
        self.assertFalse(prj.has_csar_grid())
Ejemplo n.º 22
0
 def test_default_output_folder(self):
     out = ChartProject.default_output_folder()
     self.assertTrue("Chart" in out)
Ejemplo n.º 23
0
import sys
import logging

default_logging.load()
logger = logging.getLogger()

from hyo2.qc.chart.project import ChartProject
from hyo2.qc.chart.triangle.base_triangle import sounding_units
from hyo2.qc.common import testing
from PySide import QtGui
from hyo2.qc.qctools.qt_progress import QtProgress

app = QtGui.QApplication([])
wid = QtGui.QWidget()

prj = ChartProject(output_folder=testing.output_data_folder(),
                   progress=QtProgress(parent=wid))

# add S57 files

# s57_files = testing.input_test_files(".000")
# logger.info("S57 files: %d" % len(s57_files))
# for s57_file in s57_files:
#
#     if "S57" in s57_file:
#         prj.add_to_s57_list(s57_file)
#     elif "SS" in s57_file:
#         prj.add_to_ss_list(s57_file)
#     else:
#         pass

prj.add_to_s57_list(
Ejemplo n.º 24
0
 def test_init_project_with_folder(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     self.assertTrue(os.path.exists(prj.output_folder))
Ejemplo n.º 25
0
 def test_truncate_with_grids(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     prj.add_to_grid_list(testing.input_test_files(".bag")[0])
     self.assertTrue(prj.grid_truncate())
Ejemplo n.º 26
0
 def test_raise_window(self):
     ChartProject.raise_window()
Ejemplo n.º 27
0
 def test_s57_list_clear(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     prj.add_to_s57_list(testing.input_test_files(".000")[0])
     prj.clear_s57_list()
     self.assertEqual(len(prj.s57_list), 0)
Ejemplo n.º 28
0
from hyo2.qc.common import default_logging
import logging

default_logging.load()
logger = logging.getLogger()

from hyo2.qc.chart.project import ChartProject
from hyo2.qc.common import testing

prj = ChartProject(output_folder=testing.output_data_folder())
logger.debug(prj)

prj.open_output_folder()

print("change")
Ejemplo n.º 29
0
from hyo2.qc.common import default_logging
import logging

default_logging.load()
logger = logging.getLogger()

from hyo2.qc.chart.project import ChartProject
from hyo2.qc.common import testing

prj = ChartProject(output_folder=testing.output_data_folder())

input_bag_file = testing.input_test_files('.bag')[0]
logger.debug('input: %s' % input_bag_file)
prj.add_to_grid_list(input_bag_file)

prj.grid_truncate(version=2, decimal_places=0)

logger.debug(prj)
Ejemplo n.º 30
0
 def test_truncate_with_wrong_version(self):
     prj = ChartProject(output_folder=testing.output_data_folder())
     prj.add_to_grid_list(testing.input_test_files(".bag")[0])
     self.assertFalse(prj.grid_truncate(version=1))