示例#1
0
def list_subfiles(root):

    file_list = []
    map_dict = {} # key = folder name; value = full folder path

    # method 1
    # d = '.'
    # subdirs = [os.path.join(d, o) for o in os.listdir(d) if os.path.isdir(os.path.join(d,o))]

    # method 2

    if (os.path.exists(root)):
    
        files = os.listdir(root)

        for f in files:
            
            path = transform_separator(os.path.join(root,f))
            
            if (os.path.isfile(path)):
                h = os.path.split(path)

                f = h[1]
                
                file_list.append()
                map_dict[f] = path


    return file_list, map_dict 
示例#2
0
    def onOutput(self):

        folderPath = QFileDialog.getExistingDirectory(
            self, "Select Directory to Save SEG-Y Files", self.lastDir)

        if folderPath:
            self.outLineEdit.setText(folderPath)
            self.outpath = transform_separator(folderPath)
            self.lastDir = self.outpath

            self.outFlag = True
示例#3
0
    def onInput(self):

        folderPath = QFileDialog.getExistingDirectory(
            self, "Select Directory Containing .DAT Files", self.lastDir)

        if folderPath:
            self.inLineEdit.setText(folderPath)
            self.inpath = transform_separator(folderPath)
            self.lastDir = self.inpath

            self.inFlag = True
示例#4
0
def main():

    args = {
        'header_size': 512,
        'initial': 4,
        'rcv_field': 'Inline3D',
        'dsf': 'int32',
        'dt': 1000
    }

    root = 'F:/MICROSEISMIC/FieldData/CGS/induced/202004211904'
    outpath = 'F:/MICROSEISMIC/FieldData/CGS/induced/converted'

    # read in geophone folders as reciever list

    dat_file_names, dat_file_dict = list_files_without_suffix(root)

    filelist = []

    if len(dat_file_names):

        for fname in dat_file_names:

            filepath = dat_file_dict[fname]
            filelist.append(filepath)

    # create reciver list in float

    initial = args['initial']

    rcvlist = createRcvList(dat_file_names, initial=initial)

    # merge .dat files with same timestamp

    fd = '20200421'
    h = '19'
    m = '04'
    timestamp = fd + '_' + h + m + '00'

    outfile = transform_separator(os.path.join(outpath, timestamp + '.sgy'))

    if not os.path.exists(outfile):

        print('Writing SEG-Y file: ' + outfile)

        convert2segy(outfile, filelist, rcvlist, args)

    else:

        print('Skip writing SEG-Y file: ' + outfile)

    print('SEG-Y files conversion completed.')
示例#5
0
def main():

    root = 'E:/射孔数据/浅井射孔数据/射孔2'

    outpath = 'E:/SEGY/Perfs'

    args = {
        'header_size': 512,
        'initial': 4,
        'rcv_field': 'Inline3D',
        'dsf': 'int32',
        'dt': 1000
    }

    # read in geophone folders as reciever list

    rcvfiles, rcvfiles_dict = list_subfiles(root)

    # create reciver list in float

    initial = args['initial']

    rcvlist = createRcvList2(rcvfiles, initial=initial)

    filelist = []

    for fname in rcvfiles:

        filename = transform_separator(os.path.join(root, fname))

        if os.path.exists(filename):

            filelist.append(filename)

    outfile = transform_separator(os.path.join(outpath, 'perf2_l.sgy'))

    convert2segy(outfile, filelist, rcvlist, args)
示例#6
0
def main():

    root = 'E:/2019-测试压裂监测数据/吉林大学微震/浅井数据60点'

    outpath = 'E:/SEGY/JLU_ALL'

    args = {'header_size': 512,
            'initial':4,
            'rcv_field': 'Inline3D',
            'dsf': 'int32',
            'dt': 1000}


    # read in geophone folders as reciever list

    rcvfolders, rcvfolder_dict = list_subfolders(root)


    # create reciver list in float

    initial = args['initial']

    rcv_list = createRcvList(rcvfolders, initial = initial)


    # create time list as dict, key = rcv, value = yymmdd

    rcv_ymd_dict = {}

    ymdfolders = []
    ymdfolder_dict = {}

    # ymd

    for fd in rcvfolders:
 

        rcvpath = rcvfolder_dict[fd] # receiver folder

        ymdfolders, ymdfolder_dict = list_subfolders(rcvpath)

        rcv_ymd_dict[fd] = ymdfolders

    

    # merge .dat files with same timestamp

   
    

    for fd in ymdfolders:

        if fd in YMD:

            for h in HH:

                tlist = []

                for m in HH:

                    filelist = []
                    
                    rcvlist = []

                    
                    timestamp = fd + '_' + h + m + '00'
                    tlist.append(timestamp)

                    for i, rcv in enumerate(rcvfolders):

                        filename =  transform_separator(os.path.join(root, rcv, fd, h, m + 'T.dat'))

                        if os.path.exists(filename):

                            filelist.append(filename)
                            rcvlist.append(rcv_list[i])
                
                    outfile = transform_separator(os.path.join(outpath, timestamp + '.sgy'))

                    convert2segy(outfile, filelist, rcvlist, args)
示例#7
0
def main():

    args = {
        'header_size': 512,
        'initial': 4,
        'rcv_field': 'Inline3D',
        'dsf': 'int32',
        'dt': 1000
    }

    root = 'D:\CGS_DATA\PHASE_II\BOREHOLE\geidata0422'
    outpath = 'D:\CGS_DATA\PHASE_II\SEGY/borehole/0422'

    null_fd_list = ['202004201029', '202004201035', '202004201128']  # 0420

    # datetime subfolders containing 60 .dat files
    datfolders, datfolder_dict = list_subfolders(root)

    for fd in datfolders:

        if fd in null_fd_list:

            continue

        fdpath = datfolder_dict[fd]

        # read in geophone folders as reciever list
        dat_file_names, dat_file_dict = list_files_without_suffix(fdpath)

        filelist = []

        if len(dat_file_names):

            for fname in dat_file_names:

                filepath = dat_file_dict[fname]
                filelist.append(filepath)

        # create reciver list in float

        initial = args['initial']

        rcvlist = createRcvList(dat_file_names, initial=initial)

        # merge .dat files with same timestamp

        date = fd[2:8]  #'20200421'
        h = fd[8:10]  #'19'
        m = fd[10:12]  #'04'
        timestamp = date + '_' + h + m + '00'

        outfile = transform_separator(os.path.join(outpath,
                                                   timestamp + '.sgy'))

        if not os.path.exists(outfile):

            print('Writing SEG-Y file: ' + outfile)

            convert2segy(outfile, filelist, rcvlist, args)

        else:

            print('Skip writing SEG-Y file: ' + outfile)

    print('SEG-Y files conversion completed.')