Skip to main content

Contain files readers for specific sensors files

Project description

HydroSensorReader

Build Status Python 3.6 License: GPL v3 Documentation Status

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.10.tar.gz (1.4 MB view details)

Uploaded Source

File details

Details for the file HydroSensorReader-1.7.1.10.tar.gz.

File metadata

File hashes

Hashes for HydroSensorReader-1.7.1.10.tar.gz
Algorithm Hash digest
SHA256 6c993d6fd91a33c354c6c85eca1ee0d72d1d9d2c521ae42481fe12bc946a3121
MD5 de7e6969a2f41620e6da9161b9dff7c4
BLAKE2b-256 81a222c40414ae0a109a6a33de886787fc7846c2470bf91435bc6daba7861f93

See more details on using hashes here.

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