watex.methods.DCProfiling#
- class watex.methods.DCProfiling(stations=None, dipole=10.0, auto=False, keep_params=False, read_sheets=False, **kws)[source]#
A collection of DC-resistivity profiling classes.
It reads and compute electrical parameters. Each line compose a specific object and gather all the attributes of
ResistivityProfilingfor easy use. For instance, the expeced drilling location point and its resistivity value for two survey lines ( line1 and line2) can be fetched as:>>> <object>.line1.sves_ ; <object>.line1.sves_resistivity_ >>> <object>.line2.sves_ ; <object>.line2.sves_resistivity_
- Parameters:
stations (list or str (path-like object )) –
list of station name where the drilling is expected to be located. It strongly linked to the name of used to specify the center position of each dipole when the survey data is collected. Each survey can have its own way for numbering the positions, howewer if the station is given it should be one ( presumed to be the suitable point for drilling) in the survey lines. Commonly it is called the sves which mean at this point, the DC-sounding will be operated. Be sure to provide the correct station to compute the electrical parameters.
It is recommed to provide the positioning of the station expected to hold the drillings. However if stations is None, the auto-way for computing electrical features should be triggered. User can also provide the list of stations by hand. In that case, each station should numbered from 1 not 0. For instance:
- in a survey line of 20 positions. We considered the station 13
as the best point to locate the drilling. Therefore the name of the station should be ‘S13’. In other survey line (line2) the second point of my survey is considered the suitable one to locate my drilling. Considering the two survey lines, the list of stations sould be ‘[‘S13’, ‘S2’]
- stations can also be arrange in a single to be parsed which
refer to the string arguments.
dipole (float) – The dipole length used during the exploration area. If dipole value is set as keyword argument,i.e. the station name is overwritten and is henceforth named according to the value of the dipole. For instance for dipole equals to
10m, the first station should beS00, the secondS10, the thirdS20and so on. However, it is recommend to name the station using counting numbers rather than using the dipole position.auto (bool) – Auto dectect the best conductive zone. If
True, the station position should be the station of the lower resistivity value in Electrical Resistivity Profiling.keep_params (bool, default=False,) – If
True, keeps only the predicted parameters in the summary table, otherwise, returns the usefull details of the line like geographical coordinates where the DC predicted parameters are computed.read_sheets (bool,) – Read the data in sheets. Here its assumes the data of each survey lines are arrange in a single excell worksheets. Note that if read_sheets is set to
Trueand the file is not in excell format, a TypError will raise.fit_params (dict) – Additional Electrical Resistivity Profiling keywords arguments
Examples
-> Get DC -resistivity profiling from the individual Resistivity object
>>> from watex.methods import ResistivityProfiling >>> from watex.methods import DCProfiling >>> robj1= ResistivityProfiling(auto=True) # auto detection >>> robj1.utm_zone = '50N' >>> robj1.fit('data/erp/testsafedata.xlsx') >>> robj1.sves_ ... 'S036' >>> robj2= ResistivityProfiling(auto=True, utm_zone='40S') >>> robj2.fit('data/erp/l11_gbalo.xlsx') >>> robj2.sves_ ... 'S006' >>> # read the both objects >>> dcobjs = DCProfiling() >>> dcobjs.fit([robj1, robj2]) >>> dcobjs.sves_ ... array(['S036', 'S006'], dtype=object) >>> dcobjs.line1.sves_ # => robj1.sves_ >>> dcobjs.line2.sves_ # => robj2.sves_
-> Read from a collection of excell data
>>> datapath = r'data/erp' >>> dcobjs.read_sheets=True >>> dcobjs.fit(datapath) >>> dcobjs.nlines_ # getting the number of survey lines ... 9 >>> dcobjs.sves_ # stations of the best conductive zone ... array(['S017', 'S006', 'S000', 'S036', 'S036', 'S036', 'S036', 'S036', 'S001'], dtype='<U33') >>> dcobjs.sves_resistivities_ # the lower conductive resistivities ... array([ 80, 50, 1101, 500, 500, 500, 500, 500, 93], dtype=int64) >>> dcobjs.powers_ ... array([ 50, 60, 30, 60, 60, 180, 180, 180, 40]) >>> dcobjs.sves_ # stations of the best conductive zone ... array(['S017', 'S006', 'S000', 'S036', 'S036', 'S036', 'S036', 'S036', 'S001'], dtype='<U33')
-> Read data and all sheets, assumes all data are arranged in a sheets
>>> dcobjs.read_sheets=True >>> dcobjs.fit(datapath) >>> dcobjs.nlines_ # here it assumes all the data are in single worksheets. ... 4 >>> dcobjs.line4.conductive_zone_ # conductive zone of the line 4 ... array([1460, 1450, 950, 500, 1300, 1630, 1400], dtype=int64) >>> dcobjs.sfis_ >>> array([1.05085691, 0.07639077, 0.03592814, 0.07639077, 0.07639077, 0.07639077, 0.07639077, 0.07639077, 1.08655919]) >>> dcobjs.line3.sfi_ # => robj1.sfi_ ... array([0.03592814]) # for line 3