def populate_datamart(): print 'populate datamart' adminlevel_REG = AdminLevelType.get(u'REG') from functools import partial import pyproj from shapely.ops import transform project = partial(pyproj.transform, pyproj.Proj(init='epsg:4326'), pyproj.Proj(init='epsg:3857')) shape = MultiPolygon([Polygon([(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)])]) reprojected = transform(project, shape) geometry = from_shape(reprojected, 3857) div = AdministrativeDivision( **{ 'code': 30, 'leveltype_id': adminlevel_REG.id, 'name': u'Administrative division level 3' }) div.geom = geometry div.hazardcategories = [] DBSession.add(div) DBSession.flush()
def populate_datamart(): print 'populate datamart' adminlevel_REG = AdminLevelType.get(u'REG') shape = MultiPolygon([ Polygon([(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)]) ]) geometry = from_shape(shape, 4326) div = AdministrativeDivision(**{ 'code': 30, 'leveltype_id': adminlevel_REG.id, 'name': u'Administrative division level 3' }) div.geom = geometry div.hazardcategories = [] DBSession.add(div) DBSession.flush()
def populate_db(): config = ConfigParser.ConfigParser() config.read(local_settings_path) db_url = config.get('app:main', 'sqlalchemy.url') from sqlalchemy import create_engine engine = create_engine(db_url) from ..scripts.initializedb import populate_db as populate populate(engine, drop_all=True) shape = MultiPolygon([ Polygon([(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)]) ]) geometry = from_shape(shape, 4326) div_level_1 = AdministrativeDivision(**{ 'code': 10, 'leveltype_id': 1, 'name': u'Division level 1' }) div_level_1.geom = geometry DBSession.add(div_level_1) div_level_2 = AdministrativeDivision(**{ 'code': 20, 'leveltype_id': 2, 'name': u'Division level 2' }) div_level_2.parent_code = div_level_1.code div_level_2.geom = geometry DBSession.add(div_level_2) shape = MultiPolygon([ Polygon([(0, 0), (0, 1), (.5, 1), (.5, 0), (0, 0)]) ]) geometry = from_shape(shape, 4326) div_level_3_1 = AdministrativeDivision(**{ 'code': 30, 'leveltype_id': 3, 'name': u'Division level 3 - 1' }) div_level_3_1.parent_code = div_level_2.code div_level_3_1.geom = geometry div_level_3_1.hazardcategories = [] shape = MultiPolygon([ Polygon([(.5, 0), (.5, 1), (1, 1), (1, 0), (.5, 0)]) ]) geometry = from_shape(shape, 4326) div_level_3_2 = AdministrativeDivision(**{ 'code': 31, 'leveltype_id': 3, 'name': u'Division level 3 - 2' }) div_level_3_2.parent_code = div_level_2.code div_level_3_2.geom = geometry div_level_3_2.hazardcategories = [] category_eq_hig = HazardCategory(**{ 'general_recommendation': u'General recommendation for EQ HIG', }) category_eq_hig.hazardtype = DBSession.query(HazardType) \ .filter(HazardType.mnemonic == u'EQ').one() category_eq_hig.hazardlevel = DBSession.query(HazardLevel) \ .filter(HazardLevel.mnemonic == u'HIG').one() associate_admindiv_hazardcategory(div_level_3_1, category_eq_hig, u'test') associate_admindiv_hazardcategory(div_level_3_2, category_eq_hig, u'test') climate_rec = ClimateChangeRecommendation() climate_rec.text = u'Climate change recommendation' climate_rec.administrativedivision = div_level_1 climate_rec.hazardtype = DBSession.query(HazardType) \ .filter(HazardType.mnemonic == u'EQ').one() DBSession.add(climate_rec) technical_rec = TechnicalRecommendation(**{ 'text': u'Recommendation #1 for earthquake, applied to' ' hazard categories HIG, MED and LOW' }) association = HazardCategoryTechnicalRecommendationAssociation(order=1) association.hazardcategory = category_eq_hig technical_rec.hazardcategory_associations.append(association) DBSession.add(technical_rec) technical_rec = TechnicalRecommendation(**{ 'text': u'Educational web resources on earthquakes and' ' seismic hazard' }) association = HazardCategoryTechnicalRecommendationAssociation(order=1) association.hazardcategory = category_eq_hig technical_rec.hazardcategory_associations.append(association) DBSession.add(technical_rec) category_fl_med = HazardCategory(**{ 'general_recommendation': u'General recommendation for FL MED', }) category_fl_med.hazardtype = DBSession.query(HazardType) \ .filter(HazardType.mnemonic == u'FL').one() category_fl_med.hazardlevel = DBSession.query(HazardLevel) \ .filter(HazardLevel.mnemonic == u'MED').one() associate_admindiv_hazardcategory(div_level_3_1, category_fl_med, u'test') DBSession.add(div_level_3_1) associate_admindiv_hazardcategory(div_level_3_2, category_fl_med, u'test') DBSession.add(div_level_3_2) further_resource = FurtherResource(**{ 'text': u'Educational web resources on earthquakes and' + ' seismic hazard', 'url': u'http://earthquake.usgs.gov/learn/?source=sitemap' }) association = HazardCategoryFurtherResourceAssociation(order=1) association.hazardcategory = category_eq_hig further_resource.hazardcategory_associations.append(association) DBSession.add(further_resource) # Add further resource for one division only further_resource = FurtherResource(**{ 'text': u'Further resource specific to division level 3 - 2', 'url': u'http://domain.com/the/document/url.txt' }) association = HazardCategoryFurtherResourceAssociation(order=2) association.hazardcategory = category_eq_hig association.administrativedivision = div_level_3_2 further_resource.hazardcategory_associations.append(association) DBSession.add(further_resource)
def populate_datamart(): shape = Polygon([(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)]) geometry = from_shape(shape, 3857) div_level_1 = AdministrativeDivision(**{ 'code': 10, 'leveltype_id': 1, 'name': u'Division level 1' }) div_level_1.geom = geometry DBSession.add(div_level_1) div_level_2 = AdministrativeDivision(**{ 'code': 20, 'leveltype_id': 2, 'name': u'Division level 2' }) div_level_2.parent_code = div_level_1.code div_level_2.geom = geometry DBSession.add(div_level_2) div_level_3_0 = AdministrativeDivision(**{ 'code': 30, 'leveltype_id': 3, 'name': u'Division level 3 - 1' }) div_level_3_0.parent_code = div_level_2.code div_level_3_0.geom = geometry div_level_3_0.hazardcategories = [] DBSession.add(div_level_3_0) div_level_3_1 = AdministrativeDivision(**{ 'code': 31, 'leveltype_id': 3, 'name': u'Division level 3 - 1' }) div_level_3_1.parent_code = div_level_2.code div_level_3_1.geom = geometry div_level_3_1.hazardcategories = [] DBSession.add(div_level_3_1) div_level_3_2 = AdministrativeDivision(**{ 'code': 32, 'leveltype_id': 3, 'name': u'Division level 3 - 2' }) div_level_3_2.parent_code = div_level_2.code div_level_3_2.geom = geometry div_level_3_2.hazardcategories = [] DBSession.add(div_level_3_2) div_level_3_3 = AdministrativeDivision(**{ 'code': 33, 'leveltype_id': 3, 'name': u'Division level 3 - 3' }) div_level_3_3.parent_code = div_level_2.code div_level_3_3.geom = geometry div_level_3_3.hazardcategories = [] DBSession.add(div_level_3_3) div_level_3_4 = AdministrativeDivision(**{ 'code': 34, 'leveltype_id': 3, 'name': u'Division level 3 - 4' }) div_level_3_4.parent_code = div_level_2.code div_level_3_4.geom = geometry div_level_3_4.hazardcategories = [] DBSession.add(div_level_3_4) div_level_3_5 = AdministrativeDivision(**{ 'code': 35, 'leveltype_id': 3, 'name': u'Division level 3 - 5' }) div_level_3_5.parent_code = div_level_2.code div_level_3_5.geom = geometry div_level_3_5.hazardcategories = [] DBSession.add(div_level_3_5) div_level_3_6 = AdministrativeDivision(**{ 'code': 36, 'leveltype_id': 3, 'name': u'Division level 3 - 6' }) div_level_3_6.parent_code = div_level_2.code div_level_3_6.geom = geometry div_level_3_6.hazardcategories = [] DBSession.add(div_level_3_6) DBSession.flush()
def populate_datamart(): shape = Polygon([(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)]) geometry = from_shape(shape, 3857) div_level_1 = AdministrativeDivision(**{ 'code': 10, 'leveltype_id': 1, 'name': u'Division level 1' }) div_level_1.geom = geometry DBSession.add(div_level_1) div_level_2 = AdministrativeDivision(**{ 'code': 20, 'leveltype_id': 2, 'name': u'Division level 2' }) div_level_2.parent_code = div_level_1.code div_level_2.geom = geometry DBSession.add(div_level_2) div_level_3_0 = AdministrativeDivision(**{ 'code': 30, 'leveltype_id': 3, 'name': u'Division level 3 - 1' }) div_level_3_0.parent_code = div_level_2.code div_level_3_0.geom = geometry div_level_3_0.hazardcategories = [] DBSession.add(div_level_3_0) div_level_3_1 = AdministrativeDivision(**{ 'code': 31, 'leveltype_id': 3, 'name': u'Division level 3 - 1' }) div_level_3_1.parent_code = div_level_2.code div_level_3_1.geom = geometry div_level_3_1.hazardcategories = [] DBSession.add(div_level_3_1) div_level_3_2 = AdministrativeDivision(**{ 'code': 32, 'leveltype_id': 3, 'name': u'Division level 3 - 2' }) div_level_3_2.parent_code = div_level_2.code div_level_3_2.geom = geometry div_level_3_2.hazardcategories = [] DBSession.add(div_level_3_2) div_level_3_3 = AdministrativeDivision(**{ 'code': 33, 'leveltype_id': 3, 'name': u'Division level 3 - 3' }) div_level_3_3.parent_code = div_level_2.code div_level_3_3.geom = geometry div_level_3_3.hazardcategories = [] DBSession.add(div_level_3_3) div_level_3_4 = AdministrativeDivision(**{ 'code': 34, 'leveltype_id': 3, 'name': u'Division level 3 - 4' }) div_level_3_4.parent_code = div_level_2.code div_level_3_4.geom = geometry div_level_3_4.hazardcategories = [] DBSession.add(div_level_3_4) div_level_3_5 = AdministrativeDivision(**{ 'code': 35, 'leveltype_id': 3, 'name': u'Division level 3 - 5' }) div_level_3_5.parent_code = div_level_2.code div_level_3_5.geom = geometry div_level_3_5.hazardcategories = [] DBSession.add(div_level_3_5) div_level_3_6 = AdministrativeDivision(**{ 'code': 36, 'leveltype_id': 3, 'name': u'Division level 3 - 6' }) div_level_3_6.parent_code = div_level_2.code div_level_3_6.geom = geometry div_level_3_6.hazardcategories = [] DBSession.add(div_level_3_6) DBSession.flush()