def test_01_copy2ogr_shp2pg(self):
     file_with_extention = basename(SHP_ABSPATH)
     filename, file_extension = os.path.splitext(file_with_extention)
     in_source = set_ogr_connection(SHP_ABSPATH)
     out_source = set_ogr_connection_pg_database(self.settings)
     copy2ogr(in_source, filename, out_source, "test")
     assert self.db.get_count("test") == 79
 def test_01_copy2ogr_shp2gpkg(self):
     file_with_extention = basename(SHP_ABSPATH)
     filename, file_extension = os.path.splitext(file_with_extention)
     in_source = set_ogr_connection(SHP_ABSPATH)
     copy2ogr(in_source, filename, self.gpkg_source, "test_shp_gpkg")
     feature_count = self.gpkg_source.GetLayerByName(
         "test_shp_gpkg").GetFeatureCount()
     assert feature_count == 79
 def setUpClass(cls):
     cls.settings = SettingsObject(INI_ABSPATH)
     try:
         drop_database(cls.settings)
     except Exception:
         pass
     create_database(cls.settings)
     cls.db = ThreediDatabase(cls.settings)
     cls.db.create_extension(extension_name="postgis")
     cls.db.initialize_db_threedi()
     cls.db.create_schema("src")
     # Create geopackage datasource
     if os.path.isfile(GKPG_ABSPATH):
         os.remove(GKPG_ABSPATH)
     cls.gpkg_source = None
     cls.gpkg_source = DRIVER_OGR_GPKG.CreateDataSource(GKPG_ABSPATH)
     cls.gpkg_source = set_ogr_connection(GKPG_ABSPATH)
예제 #4
0
def import_file_based_on_filetype(settings, file_path, out_name):
    """
        Check file type and send request to copy to database function
    """

    if not os.path.isfile(file_path):
        logger.error("File %s does not exists " % file_path)
        raise FileNotFoundError()

    # prepare file import
    file_with_extention = basename(file_path)
    filename, file_extension = os.path.splitext(file_with_extention)
    out_source = set_ogr_connection_pg_database(settings)

    if file_extension.lower() == ".shp":
        in_source = set_ogr_connection(file_path)
        copy2ogr(in_source, filename, out_source, out_name, schema="src")
        in_source.Destroy()
    else:
        logger.error(
            "File extension of %s is not supported by this tool, please use .shp"
            % file_path)
        raise AttributeError()
 def test_export_checks_from_db_to_gpkg(self):
     self.settings.gpkg_output_layer = os.path.join(
         OUR_DIR, "data/schiedam-test/export_exporter.gpkg")
     export_checks_from_db_to_gpkg(self.settings)
     in_source = set_ogr_connection(self.settings.gpkg_output_layer)
     assert in_source.GetLayerCount() == 43
 def test_ogr_connection_raise(self):
     filepath = "xx.shp"
     with pytest.raises(Exception):
         set_ogr_connection(filepath)
 def test_ogr_connection(self):
     set_ogr_connection(SHP_ABSPATH)