This project aims to provide a simple way to read scientific files produced by any kind of probe, sensor, or anything used in hydrogeology.
You can directly install this package with the command:
pip install HydroSensorReader
.
After the installation, you can use the package by using
import hydsensread as hsr
# File based reader
file_path = 'my_file_path'
# Files Generating Timeseries results
# =====================================
# read CR1000 files
r = hsr.DATCampbellCRFileReader(file_path)
# read Hanna multiparameter probes
# - (model HI-9828 and HI-9829 tested)
# - Supported extension : '.xls', '.xlsx'
r = hsr.XLSHannaFileReader(file_path)
# Read Solinst Levelogger and Barologger files
# - Supported extension : '.lev', '.xle', '.csv'
r = hsr.SolinstFileReader(file_path)
# Plot the results with
r.plot()
# Files Generating Generic results
# =====================================
# read Maxxam laboratory analysis files.
# - Supported extension : '.xls', '.xlsx'
r = hsr.XSLMaxxamFileReader(file_path)
# Web data scrappers
# These data scrappers use the station name.
station = 'StationName'
r = hsr.GNBWaterQualityStation(station)
Implementation of different file readers. Each python file contains a main launcher to the class.
- compagny_file_reader - Reader of generated files comming from different probes or labs.
- web_page_reader - Web crawlers in charge of extracting data from web sites
This package contains the classes in charge of reading the different files. More information about these packages is available in the code.
- abstract_file_parser.py
- AbstractFileParser - Abstract class used as an interface to implement the others
- concrete_file_parser.py
- CSVFileParser
- TXTFileParser
- EXCELFileParser
- WEB_XMLFileParser
This package contains classes defining the domain elements and the data describing them
- site.py
- Site - A basic site class with the site name a the visited date
- SensorPlateform - A Plateform is an object that can take measurements as a standalone object
- Sample - Sample as an object manipulated by a laboratory
- StationSite - Modelisation of a station object
- StreamFlowStation - This specialized class was created to store the information of the ECCC website
- records.py
- Parameter - Class acting as a structure to store a parameter value (what is observed) and its associated unit
- Record - A record must have a date, a parameter, a unit, and a value.
- TimeSeriesRecords
- The record_date corresponds to the first date of the list of values. Values are stored as a Dict as follows :
- { date1: value1, date2: value2,...}
- ChemistryRecord -A chemistry record has a detection limit, a report date, an analysis type and all the attributes of a Record
This folder contains several examples of files for testing.
- Add a
.LAS
reader to take care of borehole geophysics files - Add a
.LAS
reader to take care of LiDar data - Create a Strategy class so you can input a file and the strategy class select the correct
file_reader
class - Continue documentation... always...