Example #1
0
    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!"
Example #2
0
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!')
Example #3
0
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!')
Example #4
0
    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!")