
--- action.py
+++ action.py
... | ... | @@ -74,6 +74,8 @@ |
74 | 74 |
@Action.route('/trip_and_score_update') |
75 | 75 |
class TRIP_insert(Resource): |
76 | 76 |
@Action.expect(trip_log_model) |
77 |
+ @Action.doc(responses={200: 'Success'}) |
|
78 |
+ @Action.doc(responses={500: 'Internal Error'}) |
|
77 | 79 |
def post(self): |
78 | 80 |
token = request.headers.get('Authorization') |
79 | 81 |
|
... | ... | @@ -93,10 +95,7 @@ |
93 | 95 |
db = DB() |
94 | 96 |
data = request.get_json() |
95 | 97 |
if len(data["trip_id"]) != 64: |
96 |
- return {500: "ERROR! INVALID TRIP_ID!"} |
|
97 |
- |
|
98 |
- if len(data["trip_log"]["timestamp"]) == 0: |
|
99 |
- return {500: "ERROR! 'trip_log' is empty!"} |
|
98 |
+ return {"result" : "ERROR! INVALID TRIP_ID!"}, 500 |
|
100 | 99 |
|
101 | 100 |
trip_id = data["trip_id"] |
102 | 101 |
trip_distance_m = data["trip_distance_m"] |
... | ... | @@ -105,12 +104,11 @@ |
105 | 104 |
abrupt_stop_count = data["abrupt_stop_count"] |
106 | 105 |
abrupt_acceleration_count = data["abrupt_acceleration_count"] |
107 | 106 |
abrupt_deceleration_count = data["abrupt_deceleration_count"] |
108 |
- helmet_on = data["helmet_on"] |
|
107 |
+ helmet_on = int(data["helmet_on"]) |
|
109 | 108 |
final_score = data["final_score"] |
110 | 109 |
|
111 |
- if not (helmet_on == 1) or (helmet_on == 0): |
|
112 |
- return{500: f"ERROR! INVALID 'helmet_on'! \n helmet_on : {helmet_on}"} |
|
113 |
- |
|
110 |
+ if (helmet_on != 1) and (helmet_on != 0): |
|
111 |
+ return {"result" : f"ERROR! INVALID 'helmet_on'! \n helmet_on : {helmet_on}"}, 500 |
|
114 | 112 |
db.insert_trip_data( |
115 | 113 |
user_id, |
116 | 114 |
trip_id, |
--- auth.py
+++ auth.py
... | ... | @@ -1,4 +1,3 @@ |
1 |
-import hashlib |
|
2 | 1 |
from flask import request,jsonify,render_template,redirect,url_for |
3 | 2 |
from flask_restx import Resource, Api, Namespace, fields |
4 | 3 |
from database.database import DB |
--- database/database.py
+++ database/database.py
... | ... | @@ -7,7 +7,7 @@ |
7 | 7 |
import re |
8 | 8 |
import os |
9 | 9 |
from io import StringIO |
10 |
-from datetime import datetime, timedelta |
|
10 |
+from datetime import datetime |
|
11 | 11 |
|
12 | 12 |
config_file_path = "database/db_config.json" |
13 | 13 |
|
--- gcity.py
... | ... | @@ -1,153 +0,0 @@ |
1 | -import networkx as nx | |
2 | -import math | |
3 | -from itertools import tee | |
4 | -from numpy import Inf, Infinity, inf | |
5 | -from database.database import DB | |
6 | -import pandas as pd | |
7 | -from haversine import haversine | |
8 | -import time | |
9 | -import pandas as pd | |
10 | -import os | |
11 | - | |
12 | -paths= os.getcwd() | |
13 | - | |
14 | -def dist(a, b): | |
15 | - (x1, y1) = a | |
16 | - (x2, y2) = b | |
17 | - return ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5 | |
18 | - | |
19 | -def swith_xy(tuples): | |
20 | - x,y=tuples | |
21 | - return (y,x) | |
22 | - | |
23 | -def pairwise( iterable ): | |
24 | - """Returns an iterable access binary tuple | |
25 | - s -> (s0,s1), (s1,s2), (s2, s3), ...""" | |
26 | - a, b = tee( iterable ) | |
27 | - next(b, None) | |
28 | - return zip(a, b) | |
29 | - | |
30 | - | |
31 | - | |
32 | -class path_finder(): | |
33 | - def __init__(self): | |
34 | - start_time=time.time() | |
35 | - self.db=DB() | |
36 | - self.G=nx.read_gpickle(paths + '\\navigation_model\\OSM_gpickle.gpickle') | |
37 | - | |
38 | - print("done") | |
39 | - print(time.time()-start_time) | |
40 | - | |
41 | - | |
42 | - | |
43 | - def get_trip(self,dest1,dest2): | |
44 | - | |
45 | - start_time=time.time() | |
46 | - dest1=swith_xy(self.db.db_get_dest(dest1)) | |
47 | - dest2=swith_xy(self.db.db_get_dest(dest2)) | |
48 | - value=0.0001 | |
49 | - | |
50 | - start_near_nodes=[] | |
51 | - while start_near_nodes == []: | |
52 | - value=value*10 | |
53 | - start_near_nodes=self.db.db_get_near_node(dest1[1],dest1[0],value) | |
54 | - else: | |
55 | - start_near_nodes=self.db.db_get_near_node(dest1[1],dest1[0],value) | |
56 | - | |
57 | - nn_start = None | |
58 | - nn_end = None | |
59 | - start_delta = float("inf") | |
60 | - end_delta = float("inf") | |
61 | - | |
62 | - | |
63 | - | |
64 | - for n in start_near_nodes: | |
65 | - s_dist = haversine(dest1, n) | |
66 | - if s_dist < start_delta : | |
67 | - nn_start = n | |
68 | - start_delta = s_dist | |
69 | - value=0.0001 | |
70 | - end_near_nodes=[] | |
71 | - while end_near_nodes==[]: | |
72 | - value=value*10 | |
73 | - self.db.db_get_near_node(dest2[1],dest2[0],value) | |
74 | - end_near_nodes=self.db.db_get_near_node(dest2[1],dest2[0],value) | |
75 | - | |
76 | - for n in end_near_nodes: | |
77 | - e_dist = haversine(dest2, n) | |
78 | - if e_dist < end_delta : | |
79 | - nn_end = n | |
80 | - end_delta = e_dist | |
81 | - | |
82 | - path = list(nx.astar_path(self.G,nn_start,nn_end,heuristic=dist,weight='length')) | |
83 | - return path | |
84 | - | |
85 | - def get_dest(self, dest1): | |
86 | - dest1=swith_xy(self.db.db_get_address(dest1)) | |
87 | - return dest1 | |
88 | - | |
89 | -db=DB() | |
90 | -df = pd.read_csv('D:\\takensoft\\project2\\경산 길찾기\\경산시_체크.csv',encoding='euc-kr') | |
91 | -li_start=[] | |
92 | -li_dest1=[] | |
93 | -for i in range(len(df)): | |
94 | - try: | |
95 | - print(i) | |
96 | - dest1=df['start'][i] | |
97 | - li_dest1.append(dest1) | |
98 | - dest1=swith_xy(db.db_get_dest(dest1)) | |
99 | - value=0.0001 | |
100 | - start_near_nodes=[] | |
101 | - while start_near_nodes == []: | |
102 | - value=value*10 | |
103 | - start_near_nodes=db.db_get_near_node(dest1[1],dest1[0],value) | |
104 | - nn_start = None | |
105 | - start_delta = float("inf") | |
106 | - for n in start_near_nodes: | |
107 | - s_dist = haversine(dest1, n) | |
108 | - if s_dist < start_delta : | |
109 | - nn_start = n | |
110 | - start_delta = s_dist | |
111 | - li_start.append(nn_start) | |
112 | - except: | |
113 | - continue | |
114 | - | |
115 | -df_check=pd.DataFrame({'start':li_dest1,'시작지점':li_start}) | |
116 | - | |
117 | -df_check.to_csv('test.csv',encoding='euc-kr') | |
118 | - | |
119 | - | |
120 | -''' | |
121 | -df=pd.read_csv('D:\\takensoft\\project2\\경산 길찾기\\경산시.csv',encoding='euc-kr') | |
122 | - | |
123 | -p=path_finder() | |
124 | -li_path=[] | |
125 | -for i in range(len(df)): | |
126 | - try: | |
127 | - if i%100 ==0: | |
128 | - print(i) | |
129 | - df2=pd.DataFrame(li_path) | |
130 | - df2.to_csv(f'D:\\takensoft\\project2\\경산 길찾기\\길찾기 결과{i}.csv',encoding='euc-kr') | |
131 | - li_path=[] | |
132 | - start=df['start'][i] | |
133 | - end=df['end'][i] | |
134 | - li_path.append(p.get_trip(start,end)) | |
135 | - except: | |
136 | - continue | |
137 | -li_start_x = [] | |
138 | -li_start_y = [] | |
139 | -li_end_x = [] | |
140 | -li_end_y = [] | |
141 | - | |
142 | -db=DB() | |
143 | -#df.to_csv('D:\\takensoft\\project2\\경산 길찾기\\길찾기 결과.csv',encoding='euc-kr') | |
144 | - | |
145 | -df=pd.read_csv('D:\\takensoft\\project2\\경산 길찾기\\경산시.csv',encoding='euc-kr') | |
146 | -for i in range(len(df)): | |
147 | - li_start_x.append(db.db_get_dest(df['start'][i])[0]) | |
148 | - li_start_y.append(db.db_get_dest(df['start'][i])[1]) | |
149 | - li_end_x.append(db.db_get_dest(df['end'][i])[0]) | |
150 | - li_end_y.append([db.db_get_dest(df['end'][i])[1]]) | |
151 | -df2 = pd.DataFrame({'start_point_x':li_start_x,'start_point_y':li_start_y,'end_point_x':li_end_x,'end_point_y':li_end_y}) | |
152 | -df2.to_csv('D:\\takensoft\\project2\\경산 길찾기\\출발지도착지좌표.csv',encoding='euc-kr') | |
153 | -'''(파일 끝에 줄바꿈 문자 없음) |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?