diff --git a/app/api/geojsons.py b/app/api/geojsons.py index 62582f22d32d52684d1008320faa968815af44be..428e3303497361f9b656811ab93f490a38b97bf7 100644 --- a/app/api/geojsons.py +++ b/app/api/geojsons.py @@ -41,13 +41,14 @@ def geojsontest(sim_id): app.logger.debug("done in %s s", delta_t) app.logger.debug("starting write geojson pedestrian trips") start_t = time.time() - pedestrianTravelTime = write_geojson_pedestrian_trips(pedestrianTravelTime, network, sim_id) + pedestrianTravelTime = write_geojson_pedestrian_trips( + pedestrianTravelTime, network, sim_id + ) delta_t = time.time() - start_t app.logger.info("written pedestrianTravelTime in %s s", delta_t) return pedestrianTravelTime - @app.route("/dss/geojson/<int:sim_id>/<kpi_name>") def get_kpi_geojson(sim_id, kpi_name): sim_dir = utils.get_sim_dir_names([sim_id])[0] @@ -82,6 +83,10 @@ def get_kpi_vis_info(): "buttonLabel": "Pedestrian Travel Time", }, {"buttonValue": "dailyInternalTravels", "buttonLabel": "Internal Trips"}, + { + "buttonValue": "noisePollution", + "buttonLabel": "Noise Pollution", + }, ] elif city == "amsterdam": kpi_info = [ @@ -94,10 +99,6 @@ def get_kpi_vis_info(): elif city == "helsinki": kpi_info = [ {"buttonValue": "pollution", "buttonLabel": "Pollution"}, - { - "buttonValue": "accousticPollution", - "buttonLabel": "Acoustic Pollution - WIP", - }, { "buttonValue": "congestionsAndBottlenecks", "buttonLabel": "Congestions and Bottlenecks", @@ -126,7 +127,7 @@ def get_kpi_vis_info(): { "buttonValue": "dailyInternalTravels", "buttonLabel": "Daily Internal Trips", - } + }, ] else: raise ValueError("Invalid deploy parameters - city set to %s", city) @@ -157,7 +158,9 @@ def get_kpi_data_and_write(network, events, sim_id): dailyInternalTravels = events.vehicles_count_per_link() app.logger.info("Vehicles count per link") - write_geojson_links(dailyInternalTravels, "dailyInternalTravels", network, sim_id) + write_geojson_links( + dailyInternalTravels, "dailyInternalTravels", network, sim_id + ) app.logger.info("written dailyInternalTravels") elif network.city == "helsinki": @@ -172,7 +175,9 @@ def get_kpi_data_and_write(network, events, sim_id): # write_geojson(pollution, "pollution", network, sim_id) # app.logger.info("written emission") - congestionsAndBottlenecks = events.get_congested_links(rush_hour)["congested_links"] + congestionsAndBottlenecks = events.get_congested_links(rush_hour)[ + "congested_links" + ] app.logger.info("congestions and bottlenecks") write_geojson_links( congestionsAndBottlenecks, "congestionsAndBottlenecks", network, sim_id @@ -183,20 +188,18 @@ def get_kpi_data_and_write(network, events, sim_id): app.logger.info("harbour area traffic flow - TODO") elif network.city == "messina": - + if emisson_object is not None: pollution = emisson_object.total_emissions_by_link() app.logger.info("Emission by link") write_geojson_links(pollution, "pollution", network, sim_id) app.logger.info("written emission") - publicTransportUse = events.public_transport_use_geojson() app.logger.info("public transport use") write_geojson_links(publicTransportUse, "publicTransportUse", network, sim_id) app.logger.info("written public transport use") - averageSpeedOfPublicTransport = events.average_bus_speed_geojson() app.logger.info("average speed of public transport") write_geojson_links( @@ -206,7 +209,6 @@ def get_kpi_data_and_write(network, events, sim_id): sim_id, ) app.logger.info("written averageSpeedOfPublicTransport") - numberOfBikeTrips = events.vehicles_count_per_link(only="bike") app.logger.info("number of bike trips") @@ -220,7 +222,9 @@ def get_kpi_data_and_write(network, events, sim_id): dailyInternalTravels = events.vehicles_count_per_link() app.logger.info("daily internal travels") - write_geojson_links(dailyInternalTravels, "dailyInternalTravels", network, sim_id) + write_geojson_links( + dailyInternalTravels, "dailyInternalTravels", network, sim_id + ) app.logger.info("written dailyInternalTravels") elif network.city == "amsterdam": @@ -245,7 +249,9 @@ def get_kpi_data_and_write(network, events, sim_id): write_geojson_links(bike_intensity, "bikeIntensity", network, sim_id) app.logger.info("written bikeIntensity") - bike_congestion = events.get_congested_links(rush_hour, vehicle_mode="bicycle")["congested_links"] + bike_congestion = events.get_congested_links(rush_hour, vehicle_mode="bicycle")[ + "congested_links" + ] app.logger.info("bikeCongestion") write_geojson_links(bike_congestion, "bikeCongestion", network, sim_id) app.logger.info("written bikeCongestion") @@ -285,32 +291,28 @@ def write_geojson_pedestrian_trips(kpi_data, network, sim_id): # crs_transformer = Transformer.from_crs("epsg:2062", "epsg:4326") for element in kpi_data: - if element["average_time"] < 3600.: continue + if element["average_time"] < 3600.0: + continue s_link = network.get_link(element["start_link"]) - s_nodes = [network.get_node(s_link["from"]), network.get_node(s_link["to"]) ] + s_nodes = [network.get_node(s_link["from"]), network.get_node(s_link["to"])] s_point = ( - (float(s_nodes[0]["x"]) + float(s_nodes[1]["x"])) / 2., - (float(s_nodes[0]["y"]) + float(s_nodes[1]["y"])) / 2. + (float(s_nodes[0]["x"]) + float(s_nodes[1]["x"])) / 2.0, + (float(s_nodes[0]["y"]) + float(s_nodes[1]["y"])) / 2.0, ) s_point = tuple(reversed(crs_transformer.transform(*s_point))) e_link = network.get_link(element["end_link"]) e_nodes = [network.get_node(e_link["from"]), network.get_node(e_link["to"])] e_point = ( - (float(e_nodes[0]["x"]) + float(e_nodes[1]["x"])) / 2., - (float(e_nodes[0]["y"]) + float(e_nodes[1]["y"])) / 2. + (float(e_nodes[0]["x"]) + float(e_nodes[1]["x"])) / 2.0, + (float(e_nodes[0]["y"]) + float(e_nodes[1]["y"])) / 2.0, ) e_point = tuple(reversed(crs_transformer.transform(*e_point))) data["features"].append( { "type": "Feature", - "properties": { - "long pedestrian trip": element["average_time"] / (60) - }, - "geometry": { - "type": "LineString", - "coordinates": [s_point, e_point] - } + "properties": {"long pedestrian trip": element["average_time"] / (60)}, + "geometry": {"type": "LineString", "coordinates": [s_point, e_point]}, } )