From 999f3fa6c8056859596da34b919595902eb675f9 Mon Sep 17 00:00:00 2001
From: Maj Smerkol <maj.smerkol@ijs.si>
Date: Thu, 15 Jun 2023 13:35:42 +0200
Subject: [PATCH] fixes for RE -1 problem, KPI and vis Bike safety

---
 .env                  |  7 +++++++
 app/netedit/events.py | 20 +++++++++++---------
 2 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/.env b/.env
index 73d8c22..5170b8c 100644
--- a/.env
+++ b/.env
@@ -1,6 +1,13 @@
 # deployed in city
 URBANITE_CITY="amsterdam"
 
+# UI settings for default map position and zoom
+CITY_COORDINATES="52.3676,4.9041" # Amsterdam
+# CITY_COORDINATES="43.2630,-2.9350" # Bilbao
+# CITY_COORDINATES="60.1566, 24.9118" # Helsinki
+# CITY_COORDINATES="38.1937, 15.5542" # Messina
+CITY_ZOOM_LEVEL="15"
+
 # server settings
 DSS_PORT=8083
 FLASK_SECRET_KEY="secret"
diff --git a/app/netedit/events.py b/app/netedit/events.py
index acc7404..587b5f9 100644
--- a/app/netedit/events.py
+++ b/app/netedit/events.py
@@ -178,22 +178,24 @@ class VehicleEvents(Events):
                     "capacity": capacity,
                 }
             ev_vehicle = event["vehicle"]
-            if ev_vehicle[1] == "bicycle":
+            if "bicycle" in ev_vehicle:
                 links[event["link"]]["bike_count"] += 1
-            elif ev_vehicle[1] == "bus":
+            elif "bus" in ev_vehicle:
                 links[event["link"]]["bus_count"] += 1
             else:
                 links[event["link"]]["car_count"] += 1
         
         for link_id, link_data in links.items():
             if links.get(link_id, False) and link_data["bike_count"] > 0:
-                links[link_id]["bikeability_safety"] = 10 * (
-                    1 - (link_data["car_count"] / link_data["capacity"])
-                )
-            # links[link_id].pop("bike_count", None)
-            # links[link_id].pop("bus_count", None)
-            # links[link_id].pop("car_count", None)
-            # links[link_id].pop("capacity", None)
+                b_c = link_data["bike_count"] 
+                m_c = link_data["car_count"] + link_data["bus_count"] 
+                suma = b_c + m_c
+                links[link_id]["bikeability_safety"] = (math.sin(b_c/suma) + math.sin(-(m_c/suma)))*5 +5
+
+            links[link_id].pop("bike_count", None)
+            links[link_id].pop("bus_count", None)
+            links[link_id].pop("car_count", None)
+            links[link_id].pop("capacity", None)
         return links
 
     # TODO fix after fixing bike_safety_index above
-- 
GitLab