""" This application reads in the open uprn data from a static location and loads it into our database for querying from other services """ import os from conservation_areas.ConservationAreaClient import ConservationAreaClient from datatypes.datatypes import OpenUprnCoordinateData def app(): conservation_area_client = ConservationAreaClient( historic_england_path=os.path.abspath( os.path.dirname(__file__) ) + "/model_data/local_data/Historic_Eng_Conservation_Areas/Conservation_Areas.shp", gov_path=os.path.abspath( os.path.dirname(__file__) ) + "/model_data/local_data/gov-conservation-area.geojson" ) conservation_area_client.read() # We need to iterate through the open uprn data and check if the coordinates are in a conservation area open_uprn_data = [ {'UPRN': 6032920, 'X_COORDINATE': 535110.0, 'Y_COORDINATE': 181819.0, 'LATITUDE': 51.5191407, 'LONGITUDE': -0.0540506}, {'UPRN': 6038625, 'X_COORDINATE': 535374.0, 'Y_COORDINATE': 182784.0, 'LATITUDE': 51.5277492, 'LONGITUDE': -0.0498772}, {'UPRN': 34153991, 'X_COORDINATE': 523238.74, 'Y_COORDINATE': 178003.02, 'LATITUDE': 51.4875579, 'LONGITUDE': -0.226392}, {'UPRN': 10008299676, 'X_COORDINATE': 533285.0, 'Y_COORDINATE': 184711.0, 'LATITUDE': 51.5455629, 'LONGITUDE': -0.0792445}, {'UPRN': 10008299677, 'X_COORDINATE': 533285.0, 'Y_COORDINATE': 184711.0, 'LATITUDE': 51.5455629, 'LONGITUDE': -0.0792445}, {'UPRN': 100021039066, 'X_COORDINATE': 535506.0, 'Y_COORDINATE': 185624.0, 'LATITUDE': 51.5532385, 'LONGITUDE': -0.0468833}, {'UPRN': 100021226060, 'X_COORDINATE': 529247.0, 'Y_COORDINATE': 187959.0, 'LATITUDE': 51.5756908, 'LONGITUDE': -0.1362513}, {'UPRN': 200003489276, 'X_COORDINATE': 533210.0, 'Y_COORDINATE': 179442.0, 'LATITUDE': 51.4982309, 'LONGITUDE': -0.0823165} ] result = [ { "uprn": coordinates["UPRN"], "is_in_conservation_area": conservation_area_client.is_in_conservation_area( OpenUprnCoordinateData(**coordinates)) } for coordinates in open_uprn_data ] # TODO: Add a method to write to the database