Skip to content
Snippets Groups Projects
Commit 4fc5a387 authored by Danijel Schorlemmer's avatar Danijel Schorlemmer
Browse files

Add reference tables

parent 26c7c01d
No related branches found
No related tags found
1 merge request!43Resolve "Move the creation of the reference tables for the exposure model from the distributor to the exposure-lib"
Pipeline #48859 passed
......@@ -109,6 +109,10 @@ class ExposureDatabase(SpatiaLiteDatabase):
sql_statement += "structural REAL, "
sql_statement += "night REAL)"
self.connection.execute(sql_statement)
# Create index for table Asset
sql_statement = "CREATE INDEX idx_asset_entityid ON "
sql_statement += "Asset(entity_id)"
self.connection.execute(sql_statement)
logger.debug("Table `Asset` created")
# Create table Building
......@@ -193,6 +197,56 @@ class ExposureDatabase(SpatiaLiteDatabase):
self.connection.execute(sql_statement)
logger.debug("Table `AssessmentSource` created")
# Create table EntityReference
sql_statement = "CREATE TABLE EntityReference ("
sql_statement += "id INTEGER PRIMARY KEY AUTOINCREMENT, "
sql_statement += "quadkey TEXT, "
sql_statement += "country_iso_code TEXT, "
sql_statement += "UNIQUE(quadkey))"
self.connection.execute(sql_statement)
sql_statement = "SELECT AddGeometryColumn('EntityReference', 'geom', 4326, "
sql_statement += "'MULTIPOLYGON', 'XY')"
self.connection.execute(sql_statement)
# Create index for table EntityReference
sql_statement = "CREATE INDEX idx_entity_reference_quadkey ON "
sql_statement += "EntityReference(quadkey)"
self.connection.execute(sql_statement)
sql_statement = "CREATE INDEX idx_entity_reference_country_iso_code ON "
sql_statement += "EntityReference(country_iso_code)"
self.connection.execute(sql_statement)
logger.debug("Table `EntityReference` created")
# Create table AssetReference
sql_statement = "CREATE TABLE AssetReference ("
sql_statement += "entity_id INTEGER, "
sql_statement += "taxonomy_id INTEGER, "
sql_statement += "number REAL, "
sql_statement += "structural REAL, "
sql_statement += "night REAL)"
self.connection.execute(sql_statement)
# Create index for table AssetReference
sql_statement = "CREATE INDEX idx_assetreference_entityid ON "
sql_statement += "AssetReference(entity_id)"
self.connection.execute(sql_statement)
logger.debug("Table `AssetReference` created")
# Create table AssetCountry
sql_statement = "CREATE TABLE AssetCountry ("
sql_statement += "country_iso_code TEXT, "
sql_statement += "taxonomy_id INTEGER, "
sql_statement += "number REAL, "
sql_statement += "number_normalized REAL, "
sql_statement += "structural REAL, "
sql_statement += "structural_normalized REAL, "
sql_statement += "night REAL, "
sql_statement += "night_normalized REAL)"
self.connection.execute(sql_statement)
# Create index for table AssetCountry
sql_statement = "CREATE INDEX idx_assetcountry_entityid ON "
sql_statement += "AssetCountry(country_iso_code)"
self.connection.execute(sql_statement)
logger.debug("Table `AssetCountry` created")
def create_damage_view(
self, view_name, entity, assessment_source_id, damage_state_id=None, overwrite=True
):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment