示例#1
0
def main():
    from preprocess.config import parse_ini_configuration

    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    db_model = conn[seims_cfg.spatial_db]

    spatial_gfs = GridFS(db_model, DBTableNames.gridfs_spatial)

    csv_path = r'C:\z_data\zhongTianShe\model_data_seims\field_scale_params'
    csv_files = FileClass.get_full_filename_by_suffixes(csv_path, ['.csv'])
    field_count = 7419
    prefix = 9999
    # Create mask file
    mask_name = '%d_MASK' % prefix
    mask_array = [[1] * field_count]
    import_array_to_mongodb(spatial_gfs, mask_array, mask_name)

    # Create spatial parameters
    for csv_file in csv_files:
        print('Import %s...' % csv_file)
        param_arrays = read_field_arrays_from_csv(csv_file)
        for key, value in list(param_arrays.items()):
            import_array_to_mongodb(spatial_gfs, value,
                                    '%d_%s' % (prefix, key))
示例#2
0
def main():
    from preprocess.config import parse_ini_configuration

    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    db_model = conn[seims_cfg.spatial_db]

    spatial_gfs = GridFS(db_model, DBTableNames.gridfs_spatial)

    csv_path = r'C:\z_data\zhongTianShe\model_data_seims\field_scale_params'
    csv_files = FileClass.get_full_filename_by_suffixes(csv_path, ['.csv'])
    field_count = 7419
    prefix = 9999
    # Create mask file
    mask_name = '%d_MASK' % prefix
    mask_array = [[1] * field_count]
    import_array_to_mongodb(spatial_gfs, mask_array, mask_name)

    # Create spatial parameters
    for csv_file in csv_files:
        print('Import %s...' % csv_file)
        param_arrays = read_field_arrays_from_csv(csv_file)
        for key, value in list(param_arrays.items()):
            import_array_to_mongodb(spatial_gfs, value, '%d_%s' % (prefix, key))
示例#3
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from .db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    main_db = conn[seims_cfg.spatial_db]

    extract_spatial_parameters(seims_cfg, main_db)
示例#4
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from .db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    main_db = conn[seims_cfg.spatial_db]

    extract_spatial_parameters(seims_cfg, main_db)
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()

    ImportWeightData.workflow(seims_cfg, conn, 0)

    client.close()
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()

    ImportWeightData.workflow(seims_cfg, conn, 0)

    client.close()
示例#7
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    main_db = conn[seims_cfg.spatial_db]

    LanduseUtilClass.parameters_extraction(seims_cfg, main_db)

    client.close()
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    main_db = conn[seims_cfg.spatial_db]

    ImportParam2Mongo.workflow(seims_cfg, main_db)

    client.close()
示例#9
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    main_db = conn[seims_cfg.spatial_db]

    LanduseUtilClass.parameters_extraction(seims_cfg, main_db)

    client.close()
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    maindb = conn[seims_cfg.spatial_db]

    ImportReaches2Mongo.generate_reach_table(seims_cfg, maindb)

    client.close()
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    maindb = conn[seims_cfg.spatial_db]

    ImportReaches2Mongo.generate_reach_table(seims_cfg, maindb)

    client.close()
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    main_db = conn[seims_cfg.spatial_db]

    ImportParam2Mongo.workflow(seims_cfg, main_db)

    client.close()
示例#13
0
文件: main.py 项目: crazyzlj/SEIMS
def workflow():
    """Main entrance for the whole preprocessing workflow"""
    start_time = time.time()
    # Parse Configuration file
    seims_cfg = parse_ini_configuration()
    # Spatial delineation by TauDEM
    SpatialDelineation.workflow(seims_cfg)
    # Import to MongoDB database
    ImportMongodbClass.workflow(seims_cfg)

    end_time = time.time()
    print('SEIMS preprocess done, time-consuming: %.2f seconds.' % (end_time - start_time))
示例#14
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    maindb = conn[seims_cfg.spatial_db]
    scenariodb = conn[seims_cfg.bmp_scenario_db]

    ImportScenario2Mongo.scenario_from_texts(seims_cfg, maindb, scenariodb)

    client.close()
示例#15
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    maindb = conn[seims_cfg.spatial_db]
    scenariodb = conn[seims_cfg.bmp_scenario_db]

    ImportScenario2Mongo.scenario_from_texts(seims_cfg, maindb, scenariodb)

    client.close()
示例#16
0
def main():
    """TEST CODE"""
    import os
    import sys
    if os.path.abspath(os.path.join(sys.path[0], '..')) not in sys.path:
        sys.path.insert(0, os.path.abspath(os.path.join(sys.path[0], '..')))
        from preprocess.config import parse_ini_configuration

    seims_cfg = parse_ini_configuration()
    streamf = seims_cfg.spatials.stream_link
    flowdirf = seims_cfg.spatials.d8flow
    hillslpf = seims_cfg.spatials.hillslope
    DelineateHillslope.downstream_method_whitebox(streamf, flowdirf, hillslpf)
示例#17
0
def workflow():
    """Main entrance for the whole preprocessing workflow"""
    start_time = time.time()
    # Parse Configuration file
    seims_cfg = parse_ini_configuration()
    # Spatial delineation by TauDEM
    SpatialDelineation.workflow(seims_cfg)
    # Import to MongoDB database
    ImportMongodbClass.workflow(seims_cfg)

    end_time = time.time()
    print('SEIMS preprocess done, time-consuming: %.2f seconds.' %
          (end_time - start_time))
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    hydroclim_db = conn[seims_cfg.climate_db]

    site_m = HydroClimateUtilClass.query_climate_sites(hydroclim_db, 'M')
    site_p = HydroClimateUtilClass.query_climate_sites(hydroclim_db, 'P')

    client.close()
示例#19
0
def main():
    """TEST CODE"""
    import os
    import sys
    if os.path.abspath(os.path.join(sys.path[0], '..')) not in sys.path:
        sys.path.insert(0, os.path.abspath(os.path.join(sys.path[0], '..')))
        from preprocess.config import parse_ini_configuration

    seims_cfg = parse_ini_configuration()
    streamf = seims_cfg.spatials.stream_link
    flowdirf = seims_cfg.spatials.d8flow
    hillslpf = seims_cfg.spatials.hillslope
    DelineateHillslope.downstream_method_whitebox(streamf, flowdirf, hillslpf)
示例#20
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    db = conn[seims_cfg.climate_db]
    import time
    st = time.time()
    ImportMeteoData.workflow(seims_cfg, db)
    et = time.time()
    print(et - st)
    client.close()
示例#21
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    from preprocess.db_mongodb import ConnectMongoDB
    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    db = conn[seims_cfg.climate_db]
    import time
    st = time.time()
    ImportMeteoData.workflow(seims_cfg, db)
    et = time.time()
    print(et - st)
    client.close()
示例#22
0
def main():
    from preprocess.config import parse_ini_configuration

    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    db_model = conn[seims_cfg.spatial_db]
    sitelist_coll = db_model[DBTableNames.main_sitelist]

    # Add an item in SITELIST collection, in which the SUBBASINID is 9999
    bsn_item = sitelist_coll.find_one({FieldNames.subbasin_id: 0})
    field_bsn_item = deepcopy(bsn_item)
    del field_bsn_item['_id']
    field_bsn_item[FieldNames.subbasin_id] = 9999
    sitelist_coll.insert_one(field_bsn_item)
示例#23
0
def main():
    from preprocess.config import parse_ini_configuration

    seims_cfg = parse_ini_configuration()
    client = ConnectMongoDB(seims_cfg.hostname, seims_cfg.port)
    conn = client.get_conn()
    db_model = conn[seims_cfg.spatial_db]
    sitelist_coll = db_model[DBTableNames.main_sitelist]

    # Add an item in SITELIST collection, in which the SUBBASINID is 9999
    bsn_item = sitelist_coll.find_one({FieldNames.subbasin_id: 0})
    field_bsn_item = deepcopy(bsn_item)
    del field_bsn_item['_id']
    field_bsn_item[FieldNames.subbasin_id] = 9999
    sitelist_coll.insert_one(field_bsn_item)
示例#24
0
def main():
    """Delineation slope position units with the associated information."""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()

    reach_shp = seims_cfg.vecs.reach
    hillslp_file = seims_cfg.spatials.hillslope
    landuse_file = seims_cfg.spatials.landuse

    # additional inputs
    slppos_tag_name = [(1, 'summit'), (4, 'backslope'), (16, 'valley')]
    slppos_file = r'D:\data_m\youwuzhen\seims_models_phd\data_prepare\spatial\spatial_units\SLOPEPOSITION.tif'

    obj = SlopePositionUnits(slppos_tag_name, slppos_file, reach_shp, hillslp_file, landuse_file)
    obj.run()
示例#25
0
def main():
    """Delineation slope position units with the associated information."""
    # inputs from preprocess
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()

    reach_shp = seims_cfg.vecs.reach
    hillslp_file = seims_cfg.spatials.hillslope
    landuse_file = seims_cfg.spatials.landuse

    # additional inputs
    slppos_tag_name = [(1, 'summit'), (4, 'backslope'), (16, 'valley')]
    slppos_file = r'C:\z_data_m\SEIMS2017\fuzslppos_ywz10m\slope_position_units\SLOPEPOSITION.tif'

    obj = SlopePositionUnits(slppos_tag_name, slppos_file, reach_shp, hillslp_file, landuse_file)
    obj.run()
def main():
    """Delineation slope position units with the associated information."""
    # inputs from preprocess
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()

    reach_shp = seims_cfg.vecs.reach
    hillslp_file = seims_cfg.spatials.hillslope
    landuse_file = seims_cfg.spatials.landuse

    # additional inputs
    slppos_tag_name = [(1, 'summit'), (4, 'backslope'), (16, 'valley')]
    slppos_file = r'C:\z_data_m\SEIMS2017\fuzslppos_ywz10m\slope_position_units\SLOPEPOSITION.tif'

    obj = SlopePositionUnits(slppos_tag_name, slppos_file, reach_shp,
                             hillslp_file, landuse_file)
    obj.run()
示例#27
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()

    ImportMongodbClass.workflow(seims_cfg)
示例#28
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    MergeSubbasins.merge_to_downstream_qswat(seims_cfg)
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()

    ImportMongodbClass.workflow(seims_cfg)
示例#30
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    SoilUtilClass.parameters_extraction(seims_cfg)
示例#31
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    SpatialDelineation.workflow(seims_cfg)
示例#32
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    MergeSubbasins.merge_to_downstream_qswat(seims_cfg)
示例#33
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    SpatialDelineation.workflow(seims_cfg)
示例#34
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    SoilUtilClass.parameters_extraction(seims_cfg)
示例#35
0
def main():
    """TEST CODE"""
    from preprocess.config import parse_ini_configuration
    seims_cfg = parse_ini_configuration()
    connected_field_partition_wu2018(seims_cfg)