Skip to main content

Contain files readers for specific sensors files

Project description

HydroSensorReader

Build Status Python 3.6 License: GPL v3

This project aim to provide a simple way to read a scientific file provided by any kind of probe, sensor, or anything used specificly in hydrogeology.

Installation

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)

Dependency

Main entry point

The main entry point for this project is the file_reader package. You can choose between the readers available and do your work.

Main package definition

file_reader

Implementation of diffenrents files readers. Each python files contain a main laucher to the the class.

  • compagny_file_reader - Reader of generated files comming from different probes or labs.
  • web_page_reader - Web crawlers in charge of extracting the datas from web sites

file_parser

This package contain the classes responsible of the different files reading. More information abouts these package is available into them

  • abstract_file_parser.py
    • AbstractFileParser - Abstract class used as an interface to implement the others
  • concrete_file_parser.py
    • CSVFileParser
    • TXTFileParser
    • EXCELFileParser
    • WEB_XMLFileParser

site_and_records

This package contain classes defining the domain elements and carry the data describing them

  • site.py
    • Site - A basic site class with the site name a the visited date
    • SensorPlateform - A Plateform is an that can take measurement 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 parameter (what is observed) and its associated unit
    • Record - A record must have a date, a parameter, an unit and a value.
    • TimeSeriesRecords - The record_date correspond to the first date of the values list. Values are stored as a Dict as following :
      • { date1: value1, date2: value2,...}
    • ChemistryRecord -A chemistry record have a detection limit a report date and an analysis type and all the attributes of a Record

file_example

You have several files examples in this folder used a tests

Work To Do

  • 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...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

HydroSensorReader-1.7.1.9.tar.gz (1.4 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page