示例#1
0
    def test_upload_points_from_csv_crs_wgs84(self):
        print("\nINFO: Copying CSV data with EPSG:4326...")
        layer = self.app.core.get_layer(self.db_pg,
                                        self.names.LC_BOUNDARY_POINT_T, True)
        self.app.core.disable_automatic_fields(layer)

        csv_path = get_test_path('csv/puntos_crs_4326_wgs84_ladm_v1_1.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        crs = 'EPSG:4326'
        csv_layer = self.app.core.csv_to_layer(csv_path,
                                               txt_delimiter,
                                               cbo_longitude,
                                               cbo_latitude,
                                               crs,
                                               reproject=False)
        csv_layer = reproject_to_ctm12(csv_layer)

        self.upload_points_from_csv_crs_wgs84(csv_layer, SCHEMA_LADM_COL_EMPTY)
        self.validate_points_in_db_from_wgs84(SCHEMA_LADM_COL_EMPTY)

        test_layer = self.app.core.get_layer(self.db_pg,
                                             self.names.LC_BOUNDARY_POINT_T,
                                             load=True)
        delete_features(test_layer)
        self.assertEqual(test_layer.featureCount(), 0)
示例#2
0
    def test_xtf_with_start_and_closing_tag(self):
        found_models = get_models_from_xtf(
            get_test_path("xtf/start_and_closing_tag.xtf"))
        # print(get_models_from_xtf("/docs/borrar/xtf/empty_element_tag.xtf"))
        expected_models = ['Datos_Gestor_Catastral_V2_9_6']

        self.assertEqual(expected_models, found_models)
示例#3
0
    def test_copy_csv_to_db(self):
        print("\nINFO: Validating copy CSV points to DB...")
        clean_table(SCHEMA_LADM_COL_EMPTY, self.names.LC_BOUNDARY_POINT_T)
        layer = self.app.core.get_layer(self.db_pg,
                                        self.names.LC_BOUNDARY_POINT_T, True)
        self.app.core.disable_automatic_fields(layer)

        csv_path = get_test_path('csv/puntos_fixed_ladm_v1_1.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        csv_layer = self.app.core.csv_to_layer(csv_path,
                                               txt_delimiter,
                                               cbo_longitude,
                                               cbo_latitude,
                                               "EPSG:9377",
                                               reproject=False)

        self.upload_points_from_csv(csv_layer, SCHEMA_LADM_COL_EMPTY)

        self.validate_points_in_db(SCHEMA_LADM_COL_EMPTY)
        test_layer = self.app.core.get_layer(self.db_pg,
                                             self.names.LC_BOUNDARY_POINT_T,
                                             load=True)
        delete_features(test_layer)
        self.assertEqual(test_layer.featureCount(), 0)
示例#4
0
    def setUpClass(self):
        # Config dependency
        if not os.path.exists(DEPENDENCY_CRYPTO_DIR):
            os.makedirs(DEPENDENCY_CRYPTO_DIR)
        test_dependency = get_test_path('lib/crypto_utils/{}'.format(CRYPTO_LIBRARY_NAME))
        shutil.copyfile(test_dependency, CRYPTO_LIBRARY_PATH)

        self.encrypter_decrypter = EncrypterDecrypter()
示例#5
0
 def test_xtf_with_empty_element_tag(self):
     found_models = get_models_from_xtf(
         get_test_path("xtf/empty_element_tag.xtf"))
     expected_models = [
         'Datos_Gestor_Catastral_V2_9_6',
         'Datos_Integracion_Insumos_V2_9_6', 'Datos_SNR_V2_9_6',
         'ISO19107_PLANAS_V1', 'LADM_COL_V1_3'
     ]
     self.assertEqual(expected_models, found_models)
    def test_xtf_with_start_and_closing_tag(self):
        found_models = get_models_from_xtf(
            get_test_path("xtf/start_and_closing_tag.xtf"))
        # print(get_models_from_xtf("/docs/borrar/xtf/empty_element_tag.xtf"))
        expected_models = [
            LADMColModelRegistry().model(
                LADMNames.SUPPLIES_MODEL_KEY).full_name()
        ]

        self.assertEqual(expected_models, found_models)
    def upload_points_from_csv(self, schema):
        print("Copying CSV data with no elevation...")
        csv_path = get_test_path('csv/puntos_fixed.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        self.qgis_utils.copy_csv_to_db(csv_path, txt_delimiter, cbo_longitude,
                                       cbo_latitude, self.db_connection,
                                       DEFAULT_EPSG, BOUNDARY_POINT_TABLE)

        self.validate_number_of_boundary_points_in_db(schema, 51)
    def upload_points_from_csv_overlapping(self, schema):
        print('Uploading points from csv overlapping...')
        csv_path = get_test_path('csv/puntos_overlapping.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        self.qgis_utils.copy_csv_to_db(csv_path, txt_delimiter, cbo_longitude,
                                       cbo_latitude, self.db_connection,
                                       DEFAULT_EPSG, BOUNDARY_POINT_TABLE)

        self.validate_number_of_boundary_points_in_db(schema, 0)
 def upload_points_from_csv(self):
     print("Copying CSV data with no elevation...")
     csv_path = get_test_path('csv/puntos_fixed.csv')
     txt_delimiter = ';'
     cbo_longitude = 'x'
     cbo_latitude = 'y'
     res = self.qgis_utils.copy_csv_to_db(csv_path, txt_delimiter,
                                          cbo_longitude, cbo_latitude,
                                          self.db_connection, DEFAULT_EPSG,
                                          BOUNDARY_POINT_TABLE)
     self.assertEqual(res, True)
    def upload_points_from_csv_overlapping(self):
        csv_path = get_test_path('csv/puntos_overlapping.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        res = self.qgis_utils.copy_csv_to_db(csv_path, txt_delimiter,
                                             cbo_longitude, cbo_latitude,
                                             self.db_connection, DEFAULT_EPSG,
                                             BOUNDARY_POINT_TABLE)

        self.assertEqual(res, False)
 def test_xtf_with_empty_element_tag(self):
     found_models = get_models_from_xtf(
         get_test_path("xtf/empty_element_tag.xtf"))
     expected_models = [
         LADMColModelRegistry().model(
             LADMNames.SNR_DATA_SUPPLIES_MODEL_KEY).full_name(),
         LADMColModelRegistry().model(
             LADMNames.SUPPLIES_MODEL_KEY).full_name(),
         LADMColModelRegistry().model(
             LADMNames.SUPPLIES_INTEGRATION_MODEL_KEY).full_name()
     ]
     self.assertEqual(expected_models.sort(), found_models.sort())
    def upload_points_from_csv_crs_wgs84(self, schema):
        print("Copying CSV data in WGS84...")
        csv_path = get_test_path('csv/puntos_crs_4326_wgs84.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        epsg = '4326'

        res = self.qgis_utils.copy_csv_to_db(csv_path, txt_delimiter,
                                             cbo_longitude, cbo_latitude,
                                             self.db_connection, epsg,
                                             BOUNDARY_POINT_TABLE)

        self.validate_number_of_boundary_points_in_db(schema, 3)
    def upload_points_from_csv_crs_wgs84(self):
        print("Copying CSV data in WGS84...")
        csv_path = get_test_path('csv/puntos_crs_4326_wgs84.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        epsg = '4326'

        res = self.qgis_utils.copy_csv_to_db(csv_path, txt_delimiter,
                                             cbo_longitude, cbo_latitude,
                                             self.db_connection, epsg,
                                             BOUNDARY_POINT_TABLE)

        self.assertEqual(res, True)
    def upload_points_from_csv_with_elevation(self):
        print("\nINFO: Copying CSV data with elevation...")
        csv_path = get_test_path('csv/puntos_fixed.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        elevation = 'z'
        Processing.initialize()

        res = self.qgis_utils.copy_csv_to_db(csv_path,
                                             txt_delimiter,
                                             cbo_longitude,
                                             cbo_latitude,
                                             self.db_connection_3d,
                                             DEFAULT_EPSG,
                                             BOUNDARY_POINT_TABLE,
                                             elevation)

        self.assertEqual(res, True)
示例#15
0
    def test_copy_csv_overlapping_to_db(self):
        print('\nINFO: Validating copy csv overlapping to db')
        clean_table(SCHEMA_LADM_COL_EMPTY, self.names.OP_BOUNDARY_POINT_T)
        csv_path = get_test_path('csv/puntos_overlapping_v269.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        csv_layer = self.qgis_utils.csv_to_layer(csv_path, txt_delimiter,
                                                 cbo_longitude, cbo_latitude,
                                                 DEFAULT_EPSG)
        self.upload_points_from_csv_overlapping(csv_layer,
                                                SCHEMA_LADM_COL_EMPTY)
        self.validate_number_of_boundary_points_in_db(SCHEMA_LADM_COL_EMPTY, 0)

        test_layer = self.qgis_utils.get_layer(self.db_pg,
                                               self.names.OP_BOUNDARY_POINT_T,
                                               load=True)
        delete_features(test_layer)
        self.assertEqual(test_layer.featureCount(), 0)
示例#16
0
    def test_copy_csv_to_db(self):
        print("\nINFO: Validating copy CSV points to DB...")
        clean_table(SCHEMA_LADM_COL_EMPTY, self.names.OP_BOUNDARY_POINT_T)
        self.qgis_utils.disable_automatic_fields(
            self.db_pg, self.names.OP_BOUNDARY_POINT_T)

        csv_path = get_test_path('csv/puntos_fixed_v296.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        csv_layer = self.qgis_utils.csv_to_layer(csv_path, txt_delimiter,
                                                 cbo_longitude, cbo_latitude,
                                                 DEFAULT_EPSG)
        self.upload_points_from_csv(csv_layer, SCHEMA_LADM_COL_EMPTY)

        self.validate_points_in_db(SCHEMA_LADM_COL_EMPTY)
        test_layer = self.qgis_utils.get_layer(self.db_pg,
                                               self.names.OP_BOUNDARY_POINT_T,
                                               load=True)
        delete_features(test_layer)
        self.assertEqual(test_layer.featureCount(), 0)
示例#17
0
    def test_upload_points_from_csv_crs_wgs84(self):
        print("\nINFO: Copying CSV data with EPSG:4326...")
        self.qgis_utils.disable_automatic_fields(
            self.db_pg, self.names.OP_BOUNDARY_POINT_T)

        csv_path = get_test_path('csv/puntos_crs_4326_wgs84_v296.csv')
        txt_delimiter = ';'
        cbo_longitude = 'x'
        cbo_latitude = 'y'
        epsg = '4326'
        csv_layer = self.qgis_utils.csv_to_layer(csv_path, txt_delimiter,
                                                 cbo_longitude, cbo_latitude,
                                                 epsg)

        self.upload_points_from_csv_crs_wgs84(csv_layer, SCHEMA_LADM_COL_EMPTY)
        self.validate_points_in_db_from_wgs84(SCHEMA_LADM_COL_EMPTY)

        test_layer = self.qgis_utils.get_layer(self.db_pg,
                                               self.names.OP_BOUNDARY_POINT_T,
                                               load=True)
        delete_features(test_layer)
        self.assertEqual(test_layer.featureCount(), 0)