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)
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)
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)
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()
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)
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)
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)
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)