-from lib.source import MeteoFrance
+from predictops.engine import Engine
+from predictops.learn.preprocessing import Preprocessing
-from configparser import ConfigParser
-from logging.config import fileConfig
from logging import getLogger
+from logging.config import fileConfig
from pathlib import Path
-from shutil import rmtree
-from subprocess import Popen, PIPE
+import geopandas as gpd
fileConfig((Path.cwd() / 'config') / 'logging.cfg')
logger = getLogger()
+if __name__ == '__main__':
-class Engine:
- def __init__(self, clean = False):
- logger.info("Predictops engine launched")
- if clean:
- self.clean()
- print("Ne pas oublier d'exporter la BDD dans pgModeler")
- print("Ni de copier l'archive dans la data")
+ config = (Path.cwd() / 'config') / 'learn.cfg'
+ engine = Engine(config_file = config)
- def clean(self):
- # Cleaning the data directory
- logger.info("Cleaning and restoring data directory")
- directory = Path.cwd() / 'data'
- if directory.is_dir():
- rmtree(directory)
- p = Path(Path.cwd() / 'data')
- p.mkdir()
+ engine.add_features()
+ engine.add_target()
- # Cleaning the postgresql database
- config = ConfigParser()
- config.read((Path.cwd() / 'config') / 'main.cfg')
+ process = Preprocessing(config_file = config, dict_features = engine.X)
- host = config['postgresql']['host']
- user = config['postgresql']['user']
- port = config['postgresql']['port']
- dbname = config['postgresql']['dbname']
+ print(process.dataframe.head(n=20))
+ print(process.dataframe.tail(n=20))
- logger.info("PostgreSQL database deletion")
- command = ['dropdb', '-h', host, '-U', user, '-p', port, dbname]
- process = Popen(command, stdout=PIPE, stderr=PIPE)
- process.communicate()
+ #target = toarea(stream_file = Path.cwd() / 'data' / 'targets' / 'sdis25' / 'interventions.csv')
- logger.info("PostgreSQL database creation")
- command = ['createdb', '-h', host, '-U', user, '-p', port, dbname]
- process = Popen(command, stdout=PIPE, stderr=PIPE)
- process.communicate()
- def add_meteofrance(self):
- self.meteofrance = MeteoFrance()
+ exit()
+ depts = gpd.read_file( Path.cwd() / 'data' / 'targets' / 'departments' / "departements-20180101.shp")
+ Doubs = depts.loc[depts['nom'] == 'Doubs'].iloc[0]
+ ToArea(area=Doubs.geometry,
+ csv_file = Path.cwd() / 'data' / 'targets' / 'sdis25' / 'interventions.csv')
-engine = Engine(clean = False)
-engine.add_meteofrance()
-engine.meteofrance.update()
-print(len(engine.meteofrance.dated_features))
\ No newline at end of file