pyspc.data.bareme.Bareme
- class pyspc.data.bareme.Bareme(filename=None)[source]
Bases :
MdbClasse destinée à traiter les bases Bareme.
- filename
Chemin de la base de données
- Type:
str
- sql
Requête courante au format SQL
- Type:
str
- __init__(filename=None)[source]
Initialiser l’instance Bareme.
- Paramètres:
filename (str) – Chemin de la base de données
Methods
__init__([filename])Initialiser l'instance Bareme.
check_datatypes(datatype)Contrôle du type de données Bareme.
check_sql_return([content, warning])Contrôler le retour de la requête SQL.
close()Fermer la connexion à la base de données et le curseur <dbase>.
commit()Commiter/accepter les enregistrements ajoutés.
connect()Créer la connexion à la base de données et le curseur pyodbc.
execute([warning])Exécution de la requête SQL.
from_datetime([dtime, fmt, tolerance])Convertir un <string> ou un <datetime> au format accepté par Access.
Types de données Bareme.
read_flowmes([code, first_dt, last_dt, ...])Lecture des jaugeages Bareme.
read_levelcor([code, first_dt, last_dt, ...])Lecture des courbes de correction Bareme.
read_ratingcurve([code, first_dt, last_dt, ...])Lire les jaugeages Bareme.
read_rtc_points([noct, warning])Récupérer les "points" de la courbe de tarage.
read_rtc_power([noct, delta, warning])Récupérer les "tronçons" de la courbe de tarage.
rollback()Annuler les enregistrements ajoutés.
- check_datatypes(datatype)[source]
Contrôle du type de données Bareme.
- Paramètres:
dataype (str) – Type de données Bareme
- Lève:
ValueError – Si le type de données Bareme est incorrect
Voir aussi
- check_sql_return(content=None, warning=False)
Contrôler le retour de la requête SQL.
- close()
Fermer la connexion à la base de données et le curseur <dbase>.
- commit()
Commiter/accepter les enregistrements ajoutés.
- connect()
Créer la connexion à la base de données et le curseur pyodbc.
Avertissement
Cette méthode nécessite l’import de la bibliothèque tierce pyodbc
- execute(warning=True)
Exécution de la requête SQL.
- Paramètres:
warning (bool) – Afficher les avertissements. Par défaut: True
- Renvoie:
list or None – Eléments retenus par la requête SQL
.. warning:: Cette méthode nécessite l’import de la – bibliothèque tierce pyodbc
- static from_datetime(dtime=None, fmt=None, tolerance=0)
Convertir un <string> ou un <datetime> au format accepté par Access.
Convertir les dates du format “str” au format “datetime.datetime”
- Convertir en réel: mode de stockage des dates dans Access
Il faut ajouter 1 jour lors du calcul du flottant car 366j en 1900 (Access) et 365j en 1900 (datetime.datetime)
Il faut enlever/ajouter 60 sec. (tolerance) dans le calcul du flottant pour contrer le pb de précision numérique SQL/ACCESS
- Paramètres:
dtime (datetime ou str) – Date à convertir
fmt (str) – Format de la date, si définie comme un str
tolerance (int) – Tolérance en secondes. Par défaut: 0
- Renvoie:
Valeur réelle correspondant à la date et à la tolérance
- Type renvoyé:
float
- classmethod get_datatypes()[source]
Types de données Bareme.
- Renvoie:
Types de données Bareme
- Type renvoyé:
list
- read_flowmes(code=None, first_dt=None, last_dt=None, hydro3=True, warning=False)[source]
Lecture des jaugeages Bareme.
- Paramètres:
code (str) – Code du lieu
first_dt (datetime) – Premier instant où l’on cherche le jaugeage
last_dt (datetime) – Dernier instant où l’on cherche le jaugeage
hydro3 (bool) – Convention hydro3 (True) ou Hydro2 (False). Par défaut: True
warning (bool) – Afficher les avertissements ? défaut: False
- Renvoie:
df – Tableau des jaugeages (hauteur en mm et débit en m3/s)
- Type renvoyé:
pandas.DataFrame
Exemples
>>> from datetime import datetime as dt >>> from pyspc.data.bareme import Bareme >>> f = 'data/io/dbase/bareme.mdb' >>> reader = Bareme(filename=f) >>> df = reader.read_flowmes(code='K055001010', ... first_dt=dt(2008, 9, 1), last_dt=dt(2009, 2, 1), ... hydro3=True ... ) >>> df jcote jdebit jdatedeb 2008-09-02 07:00:00 -1190 9.270000 2008-09-25 13:15:00 -1250 6.660000 2008-10-02 07:00:00 -1270 6.260000 2008-11-02 00:00:00 5050 252.000000 2008-11-02 11:07:00 5070 2790.000000 2008-11-02 11:08:00 5070 2850.000000 2008-11-02 11:09:00 4660 2790.000000 2008-11-02 13:15:00 4360 2500.000000 2009-01-29 14:45:00 -785 42.599998
- read_levelcor(code=None, first_dt=None, last_dt=None, hydro3=True, warning=False)[source]
Lecture des courbes de correction Bareme.
- Paramètres:
code (str) – Code du lieu
first_dt (datetime) – Premier instant où l’on cherche le jaugeage
last_dt (datetime) – Dernier instant où l’on cherche le jaugeage
hydro3 (bool) – Convention hydro3 (True) ou Hydro2 (False). Par défaut: True
warning (bool) – Afficher les avertissements ? défaut: False
- Renvoie:
df – Tableau des courbes de correction (hauteur en mm)
- Type renvoyé:
pandas.DataFrame
Exemples
>>> from datetime import datetime as dt >>> from pyspc.data.bareme import Bareme >>> f = 'data/io/dbase/bareme.mdb' >>> reader = Bareme(filename=f) >>> df = reader.read_levelcor(code='K055001010', ... first_dt=dt(2014, 1, 1), last_dt=dt(2015, 1, 1), ... hydro3=True ... ) >>> df valeur ladate 2014-04-23 13:40:00 0 2014-05-22 08:20:00 -30 2014-06-05 08:35:00 -30 2014-06-18 06:20:00 -30 2014-07-01 09:50:00 -30 2014-07-06 20:00:00 -30 2014-07-09 00:00:00 0 2014-08-04 12:00:00 0
- read_ratingcurve(code=None, first_dt=None, last_dt=None, code_rtc=None, hydro3=True, warning=False)[source]
Lire les jaugeages Bareme.
- Paramètres:
code (str) – Code du lieu
first_dt (datetime) – Premier instant où l’on cherche le jaugeage
last_dt (datetime) – Dernier instant où l’on cherche le jaugeage
code_rtc (str) – Identifiant de la courbe de tarage
hydro3 (bool) – Convention hydro3 (True) ou Hydro2 (False). Par défaut: True
warning (bool) – Afficher les avertissements ? défaut: False
- Renvoie:
data – Jaugeages
- Type renvoyé:
dict
Notes
Si code_ct est défini, alors seulement cette courbe de tarage sera extraite de la base Bareme. Sinon, les contraintes temporelles sont appliquées
- read_rtc_points(noct=None, warning=False)[source]
Récupérer les « points » de la courbe de tarage.
- Paramètres:
noct (int) – Identifiant de la courbe de tarage
warning (bool) – Afficher les avertissements ? défaut: False
- Renvoie:
df – Courbe de tarage (hauteur en mm et débit en m3/s)
- Type renvoyé:
pandas.DataFrame
Exemples
>>> from pyspc.data.bareme import Bareme >>> f = 'data/io/dbase/bareme.mdb' >>> reader = Bareme(filename=f) >>> df = reader.read_rtc_points(noct=200758) >>> df h q nopt 1 1040 0.414000 2 1070 0.634000 3 1110 0.955000 4 1160 1.390000 5 1170 1.490000 6 1170 1.510000 7 1210 2.120000 8 1250 2.710000 9 1360 4.970000 10 1420 6.890000 11 1500 10.000000 12 1500 9.740000 13 1530 12.300000 14 1550 14.000000 15 1580 16.600000 16 1630 21.299999 17 1690 27.500000 18 1780 37.799999 19 1900 53.400002 20 2020 70.800003 21 2180 96.699997 22 2220 104.000000 23 2240 107.000000 24 2270 113.000000 25 2290 116.000000 26 2330 124.000000 27 2350 127.000000 28 2580 173.000000 29 2830 229.000000 30 3140 306.000000 31 3350 362.000000 32 3530 417.000000 33 4050 592.000000 34 4740 849.000000 35 5120 1000.000000 36 5140 1010.000000 37 5190 1030.000000 38 5210 1040.000000
- read_rtc_power(noct=None, delta=10, warning=False)[source]
Récupérer les « tronçons » de la courbe de tarage.
Ces tronçons sont ensuite converties en points de coordonnées (hauteur, débit)
- Paramètres:
noct (int) – Identifiant de la courbe de tarage
delta (int) – Incrément en hauteur (mm) entre deux points convertis Par défaut: 10 mm
warning (bool) – Afficher les avertissements ? défaut: False
- Renvoie:
df – Courbe de tarage (hauteur en mm et débit en m3/s)
- Type renvoyé:
pandas.DataFrame
Exemples
>>> from pyspc.data.bareme import Bareme >>> f = 'data/io/dbase/bareme.mdb' >>> reader = Bareme(filename=f) >>> df = reader.read_rtc_power(noct=200664, delta=100) >>> df h q nopt 1 -118.0 0.000000 2 -18.0 0.173092 3 82.0 0.488561 4 128.0 0.665843 5 228.0 1.156614 6 255.0 1.309881 7 355.0 2.966919 8 455.0 5.086275 9 555.0 7.608920 10 655.0 10.496204 11 755.0 13.720089 12 855.0 17.258944 13 955.0 21.095380 14 1055.0 25.214986 15 1155.0 29.605556 16 1255.0 34.256559 17 1355.0 39.158782 18 1455.0 44.304071 19 1555.0 49.685135 20 1595.0 51.904956 21 1695.0 58.675252 22 1795.0 65.752225 23 1895.0 73.127264 24 1995.0 80.792551 25 2095.0 88.740943 26 2195.0 96.965875 27 2295.0 105.461290 28 2395.0 114.221569 29 2495.0 123.241481 30 2595.0 132.516143 ... ... ... 45 4095.0 299.616612 46 4195.0 312.484225 47 4295.0 325.553750 48 4395.0 338.823129 49 4495.0 352.290379 50 4595.0 365.953582 51 4695.0 379.810884 52 4795.0 393.860492 53 4895.0 408.100668 54 4995.0 422.529730 55 5095.0 437.146045 56 5195.0 451.948029 57 5295.0 466.934145 58 5395.0 482.102897 59 5495.0 497.452834 60 5595.0 512.982542 61 5695.0 528.690646 62 5795.0 544.575807 63 5895.0 560.636721 64 5995.0 576.872116 65 6095.0 593.280753 66 6195.0 609.861422 67 6295.0 626.612943 68 6395.0 643.534163 69 6495.0 660.623956 70 6595.0 677.881224 71 6695.0 695.304889 72 6795.0 712.893901 73 6895.0 730.647232 74 6995.0 748.563875
[74 rows x 2 columns]
- rollback()
Annuler les enregistrements ajoutés.