def execute_abstraction(self, v_plan_ids, v_year, main_station, comment = None): # None is 'translated' to NULL in Postgres (See: Adaptation of Python values to SQL types in Docu!) """ Executes the abstraction. Takes 2 arguments: 1. Plan_IDs (String), 2. Year (INT). If no arguments are provided, abstraction will be executed without "Zubau". """ # Applies Zubau to power_tables print "Applies Zubau..." self.cur.execute("SELECT otg_apply_changes(%s, %s);", (v_plan_ids, v_year)) self.conn.commit() print "Sets main_station..." self.cur.execute("UPDATE main_station SET main_station_id = %s", (main_station,)) self.conn.commit() # Executes power_script print "Executes Abstraction..." general_funcs.execute_sql(self.conn, self.cur, 'power_script.sql') print "Saving Results..." self.cur.execute("SELECT otg_save_results (%s, %s, %s);", (v_plan_ids, v_year, comment)) self.conn.commit() print "Abstraction complete!"
def build_up_db(conn, cur): # LOADS FUNCTIONS AND RESULT SCHEMA print ("Loading Functions and Result-Schema...") # Loads Extensions, Functions, Boundaries, Electrical Properties and Zubau_DB # Sripts can be executed again when "reloading" Grid Model scripts = ['extensions.sql', 'functions.sql', 'admin_boundaries.sql', 'electrical_properties.sql', 'grid_development.sql', 'build_up_db.sql'] for script in scripts: general_funcs.execute_sql(conn, cur, script) cur.execute ("""UPDATE _db_status SET status = TRUE WHERE module = 'grid_model'; """) conn.commit() print ('osmTGmod-database has been built up!')
def build_up_db(conn, cur): # LOADS FUNCTIONS AND RESULT SCHEMA print("Loading Functions and Result-Schema...") # Loads Extensions, Functions, Boundaries, Electrical Properties and Zubau_DB # Sripts can be executed again when "reloading" Grid Model scripts = [ 'extensions.sql', 'functions.sql', 'admin_boundaries_1.sql', 'admin_boundaries_2.sql', 'electrical_properties.sql', 'grid_development.sql', 'build_up_db.sql' ] for script in scripts: general_funcs.execute_sql(conn, cur, script) cur.execute( """UPDATE _db_status SET status = TRUE WHERE module = 'grid_model'; """ ) conn.commit() print('osmTGmod-database has been built up!')
def execute_abstraction( self, v_plan_ids, v_year, min_voltage, main_station, graph_dfs, comment=None ): # None is 'translated' to NULL in Postgres (See: Adaptation of Python values to SQL types in Docu!) """ Executes the abstraction. Takes 2 arguments: 1. Plan_IDs (String), 2. Year (INT). If no arguments are provided, abstraction will be executed without "Zubau". """ # Applies Zubau to power_tables print("Applies Zubau...") self.cur.execute("SELECT otg_apply_changes(%s, %s);", (v_plan_ids, v_year)) self.conn.commit() # Updates (Inserts) abstraction parameters # Should be done in for-loop print("Sets min_voltage...") self.cur.execute( """ UPDATE abstr_values SET val_int = %s WHERE val_description = 'min_voltage'""", (min_voltage, )) self.conn.commit() print("Sets main_station...") self.cur.execute( """ UPDATE abstr_values SET val_int = %s WHERE val_description = 'main_station'""", (main_station, )) self.conn.commit() print("Sets graph_dfs...") self.cur.execute( """ UPDATE abstr_values SET val_bool = %s WHERE val_description = 'graph_dfs'""", (graph_dfs, )) self.conn.commit() # print ("Sets conn_subgraphs...") # self.cur.execute(""" # UPDATE abstr_values # SET val_bool = %s # WHERE val_description = 'conn_subgraphs'""", (conn_subgraphs,)) # self.conn.commit() # Executes power_script print("Executes Abstraction...") general_funcs.execute_sql(self.conn, self.cur, 'power_script.sql') print("Saving Results...") self.cur.execute("SELECT otg_save_results (%s, %s, %s);", (v_plan_ids, v_year, comment)) self.conn.commit() print("Abstraction complete!")