Beispiel #1
0
def clip_poly(jsonpath, task_id, search_time, res_path):
    start = time()
    set_conf(jsonpath, task_id, search_time, res_path)
    # os.mkdir(conf.sRslPath)

    pWGSLT, pWGSRB  = BaseProcesses.read_json_area(conf.jsonpath)
    unitblock_list = get_unitblock_list(pWGSLT, pWGSRB)
    grid_dic = {}
    for unitblock in unitblock_list:
        lsGridcode = GridCalculate.GridCodeToGridlist_iPCSType(unitblock['sGridCodeLT'],\
         unitblock['sGridCodeRB'], unitblock['iPCSType'])
        for sGridCode in lsGridcode:
            lbds10kmIn = SearchEngine.SearchByRgDttmDtpd(sGridCode, conf.sDatahomePath, conf.search_time,
             conf.iDataProduct, conf.iCloulLevel)
            for lbd_time in lbds10kmIn:
                if lbd_time not in grid_dic.keys():
                    grid_dic[lbd_time] = [lbd.sPathName for lbd in lbds10kmIn[lbd_time]]
                else:
                    grid_dic[lbd_time] += [lbd.sPathName for lbd in lbds10kmIn[lbd_time]]


    for lbd_time in grid_dic:
        clip_dataset_list_groupby_time(grid_dic[lbd_time], lbd_time)
    grid_dic = None
    end = time()
    print("任务{1}耗时{0},涉及{2}个条带".format(end-start, task_id, len(unitblock_list)))
Beispiel #2
0
def DealIn10km(sGridCode, sDateTime, iDataProduct, iModelId, iCloulLevel,
               sDatahomePath, sRslPath):
    '''根据 格网编码 日期 类型, 处理单个10km格网内的业务 ——以基本结构表示的某景影像
    1 根据格网序编号、日期、数据类型得到该网格内待处理数据列表 —Lbds
    2 2 根据待处理数据列表,完成该格网的业务处理                 —bds
    '''
    lbds10kmIn = SearchEngine.SearchByRgDttmDtpd(sGridCode, sDatahomePath,
                                                 sDateTime, iDataProduct,
                                                 iCloulLevel)
    if (len(lbds10kmIn) >= 1):
        bdsRlt = Stitching.StichingIn10km(lbds10kmIn, iDataProduct, iModelId,
                                          sRslPath)
    else:
        bdsRlt = basic_data_struct()
        bdsRlt.sPathName = "0"
    return bdsRlt
Beispiel #3
0

if __name__ == "__main__":
    start = time()
    set_conf()
    os.mkdir(conf.sRslPath)

    pWGSLT, pWGSRB = BaseProcesses.read_json_area(conf.jsonpath)
    unitblock_list = get_unitblock_list(pWGSLT, pWGSRB)
    grid_dic = {}
    for unitblock in unitblock_list:
        lsGridcode = GridCalculate.GridCodeToGridlist_iPCSType(unitblock['sGridCodeLT'],\
         unitblock['sGridCodeRB'], unitblock['iPCSType'])
        for sGridCode in lsGridcode:
            lbds10kmIn = SearchEngine.SearchByRgDttmDtpd(
                sGridCode, conf.sDatahomePath, conf.search_time,
                conf.iDataProduct, conf.iCloulLevel)
            for lbd_time in lbds10kmIn:
                if lbd_time not in grid_dic.keys():
                    grid_dic[lbd_time] = [
                        gdal.Open(lbd.sPathName)
                        for lbd in lbds10kmIn[lbd_time]
                    ]
                else:
                    grid_dic[lbd_time] += [
                        gdal.Open(lbd.sPathName)
                        for lbd in lbds10kmIn[lbd_time]
                    ]

    for lbd_time in grid_dic:
        clip_dataset_list_groupby_time(grid_dic[lbd_time], lbd_time)