-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstopdetect.py
72 lines (61 loc) · 2.43 KB
/
stopdetect.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import pandas as pd
import sys
import datetime
import csv
args = sys.argv
file = args[1]
# file = "data/clean.csv"
f = pd.read_csv(file)
# 配列に格納
lyear = []
lmonth = []
lday = []
lh = []
lmin = []
lsec = []
llat = []
llon = []
lyear= f['year']
lmonth= f['month']
lday = f['day']
lh = f['h']
lmin = f['min']
lsec = f['sec']
llat = f['lat']
llon = f['lon']
length = len(lyear)
# 基準は+-0.0002以内かどうか
busstopnow = list()
keiikuflag = datetime.datetime(1990,1,1)
yokadoflag = datetime.datetime(1990,1,1)
shonanflag = datetime.datetime(1990,1,1)
for n in range(length):
if 23 <= lh[n] or lh[n]<8 : # 08:00:00〜16:59:59(JST)まで有効コードはUTC表記
if 35.3907<=llat[n]<=35.3911 : # 慶育病院
if 139.4313<=llon[n]<=139.4317 :
# 慶育判定
time = datetime.datetime(lyear[n], lmonth[n], lday[n], lh[n], lmin[n], lsec[n])
if keiikuflag < time:
# フラグなかったとき
busstopnow.append([lyear[n], lmonth[n], lday[n], lh[n], lmin[n], lsec[n], "keiiku"]) # リストに追加
keiikuflag = time + datetime.timedelta(minutes=25) # 25分後にフラグを設定
elif 35.3914<=llat[n]<=35.3918 : # よーかどー
if 139.4471<=llon[n]<=139.4475 :
# ヨーカどー判定
time = datetime.datetime(lyear[n], lmonth[n], lday[n], lh[n], lmin[n], lsec[n])
if yokadoflag < time:
# フラグなかったとき
busstopnow.append([lyear[n], lmonth[n], lday[n], lh[n], lmin[n], lsec[n], "yokado"]) # リストに追加
yokadoflag = time + datetime.timedelta(minutes=25) # 25分後にフラグを設定
elif 35.3951<=llat[n]<=35.3955 : # 湘南台
if 139.4662<=llon[n]<=139.4666 :
# 湘南台判定
time = datetime.datetime(lyear[n], lmonth[n], lday[n], lh[n], lmin[n], lsec[n])
if shonanflag < time:
# フラグなかったとき
busstopnow.append([lyear[n], lmonth[n], lday[n], lh[n], lmin[n], lsec[n], "shonandai"]) # リストに追加
shonanflag = time + datetime.timedelta(minutes=25) # 25分後にフラグを設定
# csvに書き込み
with open('data/stoptime.csv', 'w') as file:
writer = csv.writer(file, lineterminator='\n')
writer.writerows(busstopnow)