diff --git a/src/ssoss/dynamic_road_object.py b/src/ssoss/dynamic_road_object.py index 3f02e24..ad10414 100644 --- a/src/ssoss/dynamic_road_object.py +++ b/src/ssoss/dynamic_road_object.py @@ -15,7 +15,8 @@ import numpy as np import pandas as pd -from ssoss.static_road_object import Intersection, StaticRoadObject +from ssoss.static_road_object import Intersection +from ssoss.static_road_object import StaticRoadObject class DynamicRoadObject: @@ -253,12 +254,12 @@ def get_closest_approaching_intersection(self, as_list=False) -> Intersection: if df is None: return None else: - mask = df['approaching'].values == True + mask = df['approaching'].values if df[mask].empty: return None elif as_list: return df[mask] - elif as_list == False: + elif not as_list: return df[mask].iloc[0, 1] def calc_bearing_diff(self, m: float) -> float: @@ -563,10 +564,12 @@ def seek_sd(self, gpx_df, csv_out=True) -> pd.DataFrame: (gpx_df.time_delta.iloc[i] * (gpx_df.spd.iloc[i] * self.MPHtoFTPS)): print("heuristic filter") - if (gpx_df.approaching.iloc[i - 1]) == True and \ - (gpx_df.approaching.iloc[i]) == True and \ - (gpx_df.approaching.iloc[i + 1] == False) and \ - (gpx_df.approaching.iloc[i + 2] == False): + if ( + gpx_df.approaching.iloc[i - 1] + and gpx_df.approaching.iloc[i] + and not gpx_df.approaching.iloc[i + 1] + and not gpx_df.approaching.iloc[i + 2] + ): print("approach filter") @@ -626,11 +629,11 @@ def seek_sb(self, gpx_df, csv_out=True) -> pd.DataFrame: for i in range(1, (gpx_df.last_valid_index() - 3)): if self.get_itrsxn_obj_by_id(gpx_df.id.iloc[i]).distance_from_sb( gpx_df.location.iloc[i + 1], gpx_df.appr_dir.iloc[i + 1]) is None: - print(f'USING CENTER OF INTERSECTION LOCATION') + print('USING CENTER OF INTERSECTION LOCATION') approach_distance = self.get_itrsxn_obj_by_id( gpx_df.id.iloc[i]).get_sd(gpx_df.appr_dir.iloc[i + 1]) + 50 else: - print(f'USING STOP BAR LOCATION') + print('USING STOP BAR LOCATION') approach_distance = self.get_itrsxn_obj_by_id( gpx_df.id.iloc[i]).distance_from_sb(gpx_df.location.iloc[i + 1], gpx_df.appr_dir.iloc[i + 1]) diff --git a/src/ssoss/motion_road_object.py b/src/ssoss/motion_road_object.py index c4d3426..80db629 100644 --- a/src/ssoss/motion_road_object.py +++ b/src/ssoss/motion_road_object.py @@ -1,10 +1,9 @@ # !/usr/bin/env python # coding: utf-8 import math -from datetime import datetime, timezone -from datetime import timedelta -from operator import attrgetter, itemgetter -from pathlib import PurePath +from datetime import datetime +from datetime import timezone +from operator import itemgetter import dateutil import geopy @@ -12,7 +11,8 @@ import numpy as np import pandas as pd -from ssoss.static_road_object import StaticRoadObject, Intersection +from ssoss.static_road_object import StaticRoadObject +from ssoss.static_road_object import Intersection @@ -345,7 +345,7 @@ def backflow(self, sro_df: pd.DataFrame, so_type): only_approaching_generic_so = filter(lambda x: x[2] is True, temp_sort_approaching) # filter out generic_so not approached self.generic_so_approach_list = list(only_approaching_generic_so) - return; + return def three_pt_approach(self,d0, d1, d2, approach_distance) -> bool: """ check if d0 & d1 points are before approach distance and d2 is after""" diff --git a/src/ssoss/process_road_objects.py b/src/ssoss/process_road_objects.py index aeaa7e0..640d3d1 100644 --- a/src/ssoss/process_road_objects.py +++ b/src/ssoss/process_road_objects.py @@ -1,12 +1,14 @@ # !/usr/bin/env python # coding: utf-8 -import csv, math -from datetime import datetime, timezone +import csv +from datetime import datetime +from datetime import timezone from pathlib import Path import geopy -from geopy.distance import geodesic, Distance +from geopy.distance import geodesic +from geopy.distance import Distance import gpxpy import gpxpy.gpx @@ -16,7 +18,8 @@ from lxml import etree from tqdm import tqdm -from ssoss.static_road_object import Intersection, GenericStaticObject +from ssoss.static_road_object import Intersection +from ssoss.static_road_object import GenericStaticObject from ssoss.motion_road_object import GPXPoint diff --git a/src/ssoss/process_video.py b/src/ssoss/process_video.py index ece7286..592e66c 100644 --- a/src/ssoss/process_video.py +++ b/src/ssoss/process_video.py @@ -2,9 +2,10 @@ # coding: utf-8 import glob import os -import shutil -from pathlib import PurePath, Path -from datetime import timedelta, timezone, datetime +from pathlib import Path +from datetime import timedelta +from datetime import timezone +from datetime import datetime import dateutil import numpy as np from tqdm import tqdm diff --git a/src/ssoss/ssoss_gui.py b/src/ssoss/ssoss_gui.py index 9059129..0c5cfac 100644 --- a/src/ssoss/ssoss_gui.py +++ b/src/ssoss/ssoss_gui.py @@ -1,9 +1,8 @@ import argparse -from gooey import Gooey, GooeyParser +from gooey import Gooey +from gooey import GooeyParser from ssoss_cli import * -import process_road_objects -import process_video @Gooey(program_name="Safe Sightings of Signs and Signals") # , tabbed_groups=True diff --git a/src/ssoss/static_road_object.py b/src/ssoss/static_road_object.py index 9d479e7..8a6b7e3 100644 --- a/src/ssoss/static_road_object.py +++ b/src/ssoss/static_road_object.py @@ -2,7 +2,8 @@ # coding: utf-8 import math -import geopy, geopy.distance +import geopy +import geopy.distance import numpy as np @@ -68,7 +69,7 @@ def __init__(self, id_num: int, street_name: str, pt: geopy.Point, bearing, desc "WB":270 } - if type(bearing) == str: + if isinstance(bearing, str): self.bearing = compass[bearing] else: self.bearing = bearing diff --git a/tests/test_static_road_object.py b/tests/test_static_road_object.py index 5c85fdc..599dee2 100644 --- a/tests/test_static_road_object.py +++ b/tests/test_static_road_object.py @@ -1,6 +1,7 @@ import unittest from ssoss.static_road_object import * -import geopy, geopy.distance +import geopy +import geopy.distance class TestGetIDNumMethod(unittest.TestCase):