Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

40 feat 안심구역 기능 구현 #42

Closed
wants to merge 279 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
279 commits
Select commit Hold shift + click to select a range
c26da11
feat: 예측 정확도 향상
epe12345 Feb 7, 2024
e8a78ad
feat: 의미장소 추출을 위한 데이터 전처리
epe12345 Feb 8, 2024
cea746f
feat: 보호대상자 위치 수신시 이동 상태 분류 기능 추가
kevin0409 Feb 12, 2024
d45bb11
fix: 사용자 이동상태 분류 전처리 과정 수정
kevin0409 Feb 12, 2024
b27fd1d
Merge branch 'feat-실시간-위치-전송-기능-이동상태-분류-기능' into develop_back
kevin0409 Feb 12, 2024
e8bc0c7
feat: 의미장소 추출 기능 추가
epe12345 Feb 13, 2024
fa85e6e
Merge branch 'develop_front' into develop
kyujin0911 Feb 13, 2024
fd5278f
Merge branch 'develop_back' into develop
kevin0409 Feb 13, 2024
a42e98d
delete: Decision tree 모델 삭제
epe12345 Feb 13, 2024
6d074eb
Merge branch 'develop_ai' into develop
epe12345 Feb 13, 2024
ef94255
fix: 보호자 보호대상자 데이터 입력 예외처리 수정
kyujin0911 Feb 13, 2024
d87feb1
Merge branch 'develop' of https://github.com/tukcomCD2024/YooDoRi int…
kyujin0911 Feb 13, 2024
1d3054a
fix: 보호자 보호대상자 request 변수명 수정
kyujin0911 Feb 13, 2024
70d6605
Merge branch 'develop'
kyujin0911 Feb 13, 2024
08f5f75
feat: 보호대상자 정보조회, 유저 정보 수정 api 추가
kevin0409 Feb 14, 2024
fd301b7
fix: 보호대상자 정보 조회 삭제
kevin0409 Feb 14, 2024
a73af9d
fix: 보호 대상자 위치 수집 현재 속도 항목 추가
kevin0409 Feb 15, 2024
ea6ccb7
feat: 보호 대상자의 평균 이동속도를 반환하는 라우트 추가
kevin0409 Feb 15, 2024
daadb39
feat: 과도한 의미장소 추출 방지 기능 추가
epe12345 Feb 18, 2024
d9b1072
fix: 위도,경도 자료형 변경(Float -> Double)
kevin0409 Feb 22, 2024
bdc39c8
fix: json 변수명 camel case 형식으로 변경
kevin0409 Feb 22, 2024
2cf6c53
fix: location_info 중 current speed 삭제
kevin0409 Feb 22, 2024
254d56b
fix: location_info의 date, time 자료형 string으로 변경
kevin0409 Feb 22, 2024
fe49fca
feat: 유저 이름, 전화번호 예외처리 / fix: responce data utf-8 인코딩
kevin0409 Feb 23, 2024
40c654a
fix: 유저 이름, 전화번호가 존재할 시 해당 키값 반환으로 변경
kevin0409 Feb 23, 2024
c29aab2
feat: 파이썬 형식으로 코드 수정
epe12345 Feb 24, 2024
35be595
feat: 파일 읽기 기능 수정
epe12345 Feb 25, 2024
2d80d5e
feat: 의미장소 시각화
epe12345 Feb 25, 2024
9684644
fix: response data 형식 통일
kevin0409 Feb 27, 2024
30205db
refactor: 파일리더 함수 분리
epe12345 Feb 28, 2024
fd1f1fa
feat: 실루엣 분석, 시각화
epe12345 Feb 28, 2024
69c10d4
refactor: 파일 리더 함수 분리
epe12345 Feb 28, 2024
bced7f2
feat: 상태 코드 추가
kevin0409 Feb 29, 2024
1793871
Merge branch 'develop_front' into develop
kyujin0911 Feb 29, 2024
e3fa2f1
chore: 충돌 해결
kyujin0911 Feb 29, 2024
903c949
refactor: 데이터 리턴 형식 변경
epe12345 Mar 1, 2024
782e710
fix: 위치 정보 전송 센서값 리스트로 변경, 보호자 위치 정보 전달 센서값 항목 삭제
kevin0409 Mar 1, 2024
1d8e87d
fix: location_info 테이블에 bearing, current_speed 추가
kevin0409 Mar 4, 2024
cdb9c9d
fix: isRingstoneOn Boolean -> Integer
kevin0409 Mar 4, 2024
4bd7d4d
refactor: 클래스화
epe12345 Mar 4, 2024
f3a198b
Merge branch 'develop_back' into develop
kevin0409 Mar 4, 2024
1aa03fc
Merge branch 'develop' of https://github.com/tukcomCD2024/YooDoRi int…
kevin0409 Mar 4, 2024
99ece08
Merge branch 'develop_ai' into develop
epe12345 Mar 4, 2024
ab7261a
Merge branch 'develop' of https://github.com/tukcomCD2024/YooDoRi int…
epe12345 Mar 4, 2024
5a5dca6
Merge branch 'develop_front' into develop
kyujin0911 Mar 4, 2024
a987996
Merge branch 'develop'
kyujin0911 Mar 4, 2024
a424df4
feat: 트리 시각화
epe12345 Mar 5, 2024
1a8a68d
refactor: filereader 수정
epe12345 Mar 7, 2024
277654f
fix: response data content-length 지정 / feat: LOCDATANOTFOUND 상태코드 정의
kevin0409 Mar 9, 2024
ed2dfa9
feat: 의미 장소 전달 라우트 추가 (작업중)
kevin0409 Mar 10, 2024
9823f21
feat: 의미장소에 요일, 시간대 추가
epe12345 Mar 12, 2024
4543e90
feat: LocationAnalyer.py 모듈화, 전처리 및 예외처리
kevin0409 Mar 12, 2024
ca24db0
fix: dockerfile, requirements.txt 수정
kevin0409 Mar 13, 2024
5c829c8
feat: 의미장소 데이터베이스 테이블 생성, 의미장소 선정 스케줄화
kevin0409 Mar 16, 2024
d1ac7ec
fix: 위치 정보 수신시 위치정보와 센서정보를 다른테이블에 저장
kevin0409 Mar 17, 2024
ba6c009
feat: 이동상태 구분 모델 수정
epe12345 Mar 18, 2024
25dc332
fix: 센서 정보 저장 방식 롤백, 유저 정보 변경 업데이트 주기 추가 / feat: 사용자 정보를 전달하는 라우트 경로 추가
kevin0409 Mar 18, 2024
dcc2c78
Merge remote-tracking branch 'origin/develop_back' into develop
kevin0409 Mar 21, 2024
8c05c68
Merge pull request #28 from tukcomCD2024/develop_front
kyujin0911 Mar 21, 2024
ba85f96
Merge branch 'develop_ai' into develop
epe12345 Mar 21, 2024
82457cc
Auto stash before merge of "develop_ai" and "origin/develop_ai"
kyujin0911 Mar 21, 2024
9aa736b
Merge branch 'develop' of https://github.com/tukcomCD2024/YooDoRi int…
epe12345 Mar 21, 2024
d0c89dc
Revert "Merge branch 'develop' of https://github.com/tukcomCD2024/Yoo…
kyujin0911 Mar 21, 2024
6d4bb3c
Merge branch 'develop' of https://github.com/tukcomCD2024/YooDoRi int…
kyujin0911 Mar 21, 2024
8e61491
fix: 의미장소 스케쥴화 앱 __init__시 자동실행(작업중)
kevin0409 Mar 21, 2024
98ff6d2
Merge branch 'develop_ai' of https://github.com/tukcomCD2024/YooDoRi …
kyujin0911 Mar 21, 2024
bdd8a6f
chore: 충돌 해결
kyujin0911 Mar 21, 2024
5850c38
chore: 충돌 해결
kyujin0911 Mar 21, 2024
eaac5a3
Merge remote-tracking branch 'origin/develop_back' into develop
kevin0409 Mar 21, 2024
ee602df
chore: 충돌 해결
kyujin0911 Mar 21, 2024
6406aaf
Merge branch 'develop_front' into develop
kyujin0911 Mar 21, 2024
454bb1b
feat: 충돌 해결
kyujin0911 Mar 21, 2024
04497a5
Merge branch 'develop'
kyujin0911 Mar 21, 2024
dcb8e21
feat: 의미장소 모델 수정
epe12345 Mar 22, 2024
3bfa2d1
feat: 의미 장소 추출 라우트 경로 추가(완성)
kevin0409 Mar 22, 2024
2a6461d
fix: apsheduler -> Flask-apsheduler로 라이브러리 변경 후 스케줄화
kevin0409 Mar 22, 2024
c323464
Merge branch '29-feat-의미장소-리스트생성-스케줄화' into develop_back
kevin0409 Mar 22, 2024
178b147
fix: 기존 보호 대상자 판별 전화번호로 필터링
kevin0409 Mar 25, 2024
e004768
feat: 의미장소 결과값에 시간, 요일 데이터 추가
epe12345 Mar 25, 2024
5ee0a15
fix: 사용자 정보 수정 라우트 이름, 전화번호 동시에 변경 가능하도록 수정, 업데이트 주기 변경 삭제
kevin0409 Mar 25, 2024
bfc25ca
feat: 업데이트 주기 설정 라우트 경로 추가
kevin0409 Mar 25, 2024
71903bd
feat: 의미장소 전달 라우트 경로 추가
kevin0409 Mar 26, 2024
cdc311a
fix: location_info matching_key 삭제
kevin0409 Mar 28, 2024
c6dff78
refactor: 리턴 형식 수정
epe12345 Mar 28, 2024
cd0c9fd
refactor: warnings 제거
epe12345 Mar 28, 2024
9826598
fix: 의미 장소 분석 결과값에 시간대와 날짜 추가
kevin0409 Mar 28, 2024
5641f1f
fix: 의미장소 분석 스케줄링 구조 변경
kevin0409 Mar 28, 2024
346bc37
fix: 평균이동속도 라우트 response에 마지막 위치 추가
kevin0409 Mar 30, 2024
591a188
feat: 위치 history 라우트 blueprint 추가
kevin0409 Apr 1, 2024
3c88924
feat: 위치 history 라우트 경로 추가
kevin0409 Apr 1, 2024
3c3a0cf
feat: 기존 flask 웹서버 fastapi 로 수정
kevin0409 Apr 2, 2024
4472f03
feat: 연결확인, 위치 정보 수신 라우트 추가
kevin0409 Apr 2, 2024
70d1783
feat: 이동상태 분류 알고리즘 추가
kevin0409 Apr 2, 2024
b536f31
feat: 이동상태 분류 전처리 과정 추가
kevin0409 Apr 2, 2024
87c769d
feat: 위치 정보 전달, 유저 정보 수정 라우트 추가
kevin0409 Apr 2, 2024
d025535
feat: 업데이트 주기변경, 평균속도 반환, 유저 정보 반환 라우트 추가
kevin0409 Apr 2, 2024
81c3f94
fix: 요구 라이브러리 추가
kevin0409 Apr 2, 2024
6b7283f
feat: 의미장소 전달, 위치 history 전달 라우트 추가
kevin0409 Apr 2, 2024
4e4c559
feat: 의미장소 추출 알고리즘 추가
kevin0409 Apr 2, 2024
c6508bb
feat: 의미 장소 추출 백그라운드 스케줄러 추가
kevin0409 Apr 2, 2024
0d4497d
fix: 요구 라이브러리 추가
kevin0409 Apr 2, 2024
240a31b
fix: 시간대 형식 fXXtXX -> XXXX로 변경
kevin0409 Apr 4, 2024
4efe1df
fix: location_info sensor 자료형 float로 수정
kevin0409 Apr 4, 2024
d9a0d3e
fix: response 구조 수정
kevin0409 Apr 4, 2024
970f813
fix: mangum 추가
kevin0409 Apr 8, 2024
8f0512c
fix: 요구 라이브러리 추가
kevin0409 Apr 8, 2024
bfdc79b
fix: 위치 history 응답 메시지 구조 수정
kevin0409 Apr 9, 2024
a17175f
feat: 리버스 프록시 적용 및 설명
kevin0409 Apr 9, 2024
d69e2c5
fix: Nginx.md -> README.md 로 이름 변경
kevin0409 Apr 9, 2024
1c1b12b
fix: 사용자 연결 확인 라우트 오류 수정 및 라우팅 경로 변경
kevin0409 Apr 10, 2024
31fc7c8
feat: 위치예측 데이터 전처리
epe12345 Apr 10, 2024
4c24594
feat: 예측 모델 학습
epe12345 Apr 10, 2024
f433c80
fix: api 라우트 경로 path variable로 변경
kevin0409 Apr 11, 2024
b758026
fix: 라우트 경로 path variable 롤백
kevin0409 Apr 11, 2024
69b9439
feat: API Request 정의
kevin0409 Apr 11, 2024
a6aa3b5
fix: 전처리 구조 변경
kevin0409 Apr 11, 2024
3154caa
feat: Request body 예시 추가, Error Response 형식 추가
kevin0409 Apr 12, 2024
6902cf6
feat: HTTP Exeption Handler 추가
kevin0409 Apr 12, 2024
7d0ebca
feat : 요청 밑 응답 스키마 예시 추가
kevin0409 Apr 12, 2024
4c7ff7e
feat: 응답 코드 추가 및 api 설명 추가
kevin0409 Apr 12, 2024
a693c65
fix: path variable에 대한 설명 추가
kevin0409 Apr 14, 2024
3b29129
fix: GET method path variable -> query string
kevin0409 Apr 15, 2024
b92f1ba
feat: 위치 예측 모델 변경
epe12345 Apr 17, 2024
636475c
feat: 데이터 전처리
epe12345 Apr 17, 2024
220dde3
feat: 모델 학습
epe12345 Apr 17, 2024
766c4c3
fix: 보호대상자 정보 전달 response로 이동상태 전달(임시)
kevin0409 Apr 19, 2024
76a2db1
feat: 임시로 사용할 보호대상자 위치 전달 response model 생성
kevin0409 Apr 19, 2024
00ae46f
fix: 요구 라이브러리 추가
kevin0409 Apr 29, 2024
6cf6d4c
feat: 의미 장소 테이블에 address 항목 추가
kevin0409 Apr 29, 2024
8ee9442
fix: 평균이동속도 반환 response에 주소 추가
kevin0409 Apr 29, 2024
c30aabd
feat: 의미장소 위경도를 주소로 변환하는 스케줄러 추가
kevin0409 Apr 29, 2024
53e815c
fix: 의미 장소 전달 바디 모델 수정
kevin0409 Apr 29, 2024
975fb88
fix: 의미 장소 전달 응답 형식 수정
kevin0409 Apr 29, 2024
f4ad098
fix: 의미장소 응답 바디모델 수정
kevin0409 Apr 29, 2024
f8486d0
feat: police_info 테이블 추가
kevin0409 Apr 29, 2024
e6d5d31
fix: 스케줄러 실행시 경찰서 정보까지 같이 얻어오도록 수정
kevin0409 Apr 29, 2024
15fbd64
fix: 로그인 응답 바디 모델 수정
kevin0409 Apr 30, 2024
706b6af
fix: 자동 로그인 jwt 발행 방식으로 변경
kevin0409 Apr 30, 2024
b37ae5c
fix: 요구 라이브러리 추가
kevin0409 Apr 30, 2024
a739786
test: jwt 테스트용 라우트 추가
kevin0409 Apr 30, 2024
f1d34b6
fix: 요구 라이브러리 추가
kevin0409 Apr 30, 2024
3928d25
fix: 보호대상자 위치 전달 요청 바디모델 수정
kevin0409 May 1, 2024
242dd87
fix: 보호 대상자 위치 정보 전달 토큰 방식으로 수정
kevin0409 May 1, 2024
1149a69
fix: api request bodymodel 수정
kevin0409 May 2, 2024
1572674
fix: police_info 테이블 Column 수정
kevin0409 May 2, 2024
a8b84af
fix: 모든 api 경로 토큰 방식으로 변경
kevin0409 May 2, 2024
5f3d561
fix: 토큰 관련 함수 모듈화
kevin0409 May 2, 2024
45df30b
test: refresh token 발행시 international error 500이 클라이언트로 전송
kevin0409 May 2, 2024
b5fa859
fix: token response 수정
kevin0409 May 3, 2024
2455ce1
feat: refresh_token_info 테이블 생성
kevin0409 May 3, 2024
58474f5
fix: 토큰 테스트 로직 수정
kevin0409 May 3, 2024
5bf8d3e
fix: 토큰 유효 기간 예외 처리 및 함수 클래스화
kevin0409 May 3, 2024
2ccd679
Merge branch '36-fix-token-expire-error' into develop_back
kevin0409 May 3, 2024
e135018
fix: 보호자 정보 전달) refresh token 추가
kevin0409 May 5, 2024
be56de3
fix: 연결확인) refresh token 추가
kevin0409 May 5, 2024
9f70585
fix: 보호 대상자 위치 정보 전달) 토큰 로직 수정
kevin0409 May 5, 2024
920a604
fix: 모든 라우트 경로 토큰 로직 수정
kevin0409 May 5, 2024
34e0235
fix: 바디모델에 token 추가
kevin0409 May 6, 2024
38a3dc1
fix) 사용자 정보 수정) 정보 수정 시 토큰 재발행 로직 추가
kevin0409 May 6, 2024
8600e3e
fix: 스케줄러 리팩토링 및 비동기처리
kevin0409 May 7, 2024
f8ced92
fix: 스케줄러 관련 함수 클래스화 및 비동기 처리
kevin0409 May 7, 2024
4196ee4
fix: 위치 history 응답 모델 수정
kevin0409 May 8, 2024
6ed615d
feat: 위치 history userStatus가 1이 반복될 때 위경도 값을 하나만 보냄(시간은 처음과 끝)
kevin0409 May 8, 2024
da746cd
fix: 요구 라이브러리 추가
kevin0409 May 9, 2024
92a3596
fix: user_status int -> String
kevin0409 May 9, 2024
ddd35b2
fix: 위치 history) 다음값과의 거리를 추가
kevin0409 May 9, 2024
cea19e2
fix: 위치 history) 응답 모델 distance 추가
kevin0409 May 9, 2024
8fadfe6
fix: 로그인) 로직 수정 및 예외처리
kevin0409 May 12, 2024
ebce864
fix: 인증번호 생성 default 값 추가
kevin0409 May 12, 2024
ef71d8c
fix: 보호자 정보 전달) refresh token 저장 로직 수정, 업데이트 주기 default 1분
kevin0409 May 12, 2024
8c8b6e7
fix: 보호 대상자 정보 전달) refresh token 저장 로직 수정
kevin0409 May 12, 2024
6ef4623
Merge branch 'develop_back' into develop
kevin0409 May 12, 2024
46ca9e4
fix: 요구 라이브러리 추가
kevin0409 May 13, 2024
c27e5d9
test: 구글 소셜 로그인 test code 추가
kevin0409 May 13, 2024
ece79ac
feat: 정지, 걷기 상태 분류 모델 추가
epe12345 May 13, 2024
658a2ff
feat: FCM 알림 전송 함수 추가
kevin0409 May 13, 2024
0c01de4
test: FCM test 라우트 코드 추가
kevin0409 May 13, 2024
1491cec
feat: 위치 예측 기능 구현
epe12345 May 14, 2024
aeee6cb
fix: 요구 라이브러리 추가 및 의존성 문제 해결
kevin0409 May 15, 2024
f403d8d
feat: 위치 예측 응답 모델 추가
kevin0409 May 15, 2024
375d705
feat: 위치 예측 알고리즘 추가
kevin0409 May 15, 2024
79893b7
fix: 의미 장소 테이블 date 항목 추가
kevin0409 May 15, 2024
b18d3b1
feat: 위치 예측 라우트 경로 추가
kevin0409 May 15, 2024
731080f
Merge branch 'develop_back' into develop
kevin0409 May 16, 2024
0b2145d
Merge branch 'develop_front' into develop
kyujin0911 May 16, 2024
97f03e3
Merge branch 'develop_ai' into develop
kyujin0911 May 16, 2024
71cf0c6
chore: 병합 후 누락 파일 추가
kyujin0911 May 16, 2024
789f070
chore: 병합 후 누락 파일 추가
kyujin0911 May 16, 2024
672c3d8
chore: 병합 후 누락 파일 추가
kyujin0911 May 16, 2024
8b06732
Merge branch 'develop'
kyujin0911 May 16, 2024
21960cb
Merge branch 'main' into 35-feat-위치-기록-기능-구현
kyujin0911 May 16, 2024
f757871
design: 위치 기록 비교 시 seekbar 색상 변경
kyujin0911 May 16, 2024
318867e
fix: 예측 중단 후 예측 반경이 보이지 않는 오류 해결
kyujin0911 May 16, 2024
8b5e9d4
fix: 예측 기능 실행 시 의미장소 주소가 짤리는 현상 수정
kyujin0911 May 16, 2024
123ee12
fix: 홈화면 바텀 시트로 인한 높이 조절 오류 수정
kyujin0911 May 16, 2024
02c699e
fix: 위치 예측, 긴급 도움 버튼 visibility 제어 로직 수정
kyujin0911 May 16, 2024
c8ea49c
feat: 네이버 로고 바텀 시트 상단에 고정
kyujin0911 May 16, 2024
6f25f1d
feat: 네이버 로고 바텀 시트에 가려지지 않도록 제어
kyujin0911 May 16, 2024
e79b476
fix: 날짜 복수 선택 시 하나의 날짜만 위치 기록 없을 때 예외처리 구현
kyujin0911 May 16, 2024
6a7ea44
fix: 위치 기록 시 비교선이 올라오는 오류 수정
kyujin0911 May 16, 2024
d44a331
fix: 위치 기록 비교 후 타화면 이동 후 재진입 시 seekbar 2개 보이는 오류 해결
kyujin0911 May 16, 2024
8cf3aef
feat: PredictDone event로 예측 기능 종료 알림
kyujin0911 May 16, 2024
6632992
refactor: 화면별 이동 시 컴포넌트 제어 리팩토링
kyujin0911 May 16, 2024
71e42d2
refactor: predict event, navigate event 로직 수정
kyujin0911 May 16, 2024
4469939
feat: RVA 클릭 리스너 meaningfulPlaceDetailFragment로 이동
kyujin0911 May 17, 2024
9199c56
refactor: 화면별 이동 시 컴포넌트 제어 리팩토링
kyujin0911 May 17, 2024
053b22b
design: 예측 화면 예측 장소 상단 고정 적용
kyujin0911 May 17, 2024
7c27380
feat: 예측 위치 버튼 기능 구현
kyujin0911 May 18, 2024
84154a5
feat: radio button 커스텀
kyujin0911 May 18, 2024
59d7060
feat: 방문 기록 조회 기능 구현
kyujin0911 May 18, 2024
bd9bded
feat: 의미 장소 detail 화면 주소, 뒤로가기 버튼 상단 고정
kyujin0911 May 18, 2024
7a9c422
feat: 예측 장소 UI 홀더 적용
kyujin0911 May 20, 2024
a12eea2
feat: 마커간 겹침 우선순위 부여
kyujin0911 May 20, 2024
c68409a
fix: 예측 중단 시 예측 장소 마커가 남아있는 오류 해결
kyujin0911 May 20, 2024
46b3eba
fix: 예측 기능 중단 후 보호대상자 위치 업데이트 실행되도록 수정
kyujin0911 May 20, 2024
0d03ae3
design: 인근 경찰서 item 마진 값 변경
kyujin0911 May 20, 2024
56e3998
design: 의미장소 정보 화면 주소 밑 여백 추가
kyujin0911 May 20, 2024
c2109fc
chore: 안심구역 패키지 구조화
kyujin0911 May 21, 2024
0783148
test: 안심구역 등록 api test
kyujin0911 May 21, 2024
62f84ae
test: 안심구역 불러오기 api test
kyujin0911 May 21, 2024
286cc06
feat: 안심구역 상세 정보 화면으로 이동 구현
kyujin0911 May 22, 2024
a58eaaa
feat: 안심구역 불러오기 api와 리사이클러뷰 연동
kyujin0911 May 22, 2024
6cd0226
feat: 안심구역 정렬 우선순위 부여
kyujin0911 May 22, 2024
e4f9cdd
feat: 안심구역 지도로 보기 기능 구현
kyujin0911 May 22, 2024
bbc9241
feat: 안심구역 마커 추가
kyujin0911 May 22, 2024
5130acd
feat: 안심구역 반경 지도에 추가
kyujin0911 May 22, 2024
b0b4340
test: 안심 구역 그룹 조회 기능 test
kyujin0911 May 23, 2024
98e539f
fix: 앱 백그라운드 상태 시 위치기록 api 재호출 하지 않도록 수정
kyujin0911 May 23, 2024
a4caeb9
fix: 바텀 시트 상태 화면 이동 후에도 유지하도록 수정
kyujin0911 May 23, 2024
dc45638
refactor: Meta data를 활용한 전역변수 간소화
kyujin0911 May 23, 2024
0d849e4
feat: 안심구역 설정 버튼 visibility 제어
kyujin0911 May 23, 2024
66b6974
feat: 안심구역 설정 화면 구성
kyujin0911 May 23, 2024
a73e6cb
feat: 안심구역 반경 설정 기능 구현
kyujin0911 May 25, 2024
fc976e4
feat: 안심구역 반경에 따른 카메라 줌 변경
kyujin0911 May 25, 2024
2c693ea
design: 안심 구역 설정화면 디자인 변경
kyujin0911 May 29, 2024
1330d3e
feat: 안심구역 디테일 리사이클러뷰 구현
kyujin0911 May 30, 2024
3475f4a
design: 새 그룹 만들기 dialog 디자인
kyujin0911 Jun 3, 2024
effdf26
feat: 안심구역 새 그룹 만들기 기능 구현
kyujin0911 Jun 4, 2024
d96d643
test: 안심구역 등록 api test
kyujin0911 Jun 5, 2024
40e5594
feat: 안심구역 그룹 리스트가 변경됐을 때만 api 호출하도록 구현
kyujin0911 Jun 5, 2024
ea83647
feat: 안심구역 메뉴 화면별 바텀 시트 행동 제어
kyujin0911 Jun 5, 2024
96937c9
design: 안심구역 생성화면 design
kyujin0911 Jun 5, 2024
20df1be
feat: 안심구역 detail 화면에서 안심구역 생성 기능 연동
kyujin0911 Jun 5, 2024
dcd83fe
feat: 안심구역 detail 화면 리사이클러뷰 연동
kyujin0911 Jun 5, 2024
9e1e864
feat: 안심구역 그룹 변경 다이얼로그 구현
kyujin0911 Jun 7, 2024
9e92591
feat: 안심구역 그룹 변경 기능 구현
kyujin0911 Jun 7, 2024
87df6ac
fix: 안심구역 설정 시 마커와 반경이 보이지 않는 오류 수정
kyujin0911 Jun 9, 2024
0671c77
fix: 그룹 변경하기에 초기 화면에서 Radio Button 선택되지 않도록 수정
kyujin0911 Jun 10, 2024
2a0f5c1
feat: 안심구역 등록 기능 구현
kyujin0911 Jun 10, 2024
3f0ef9d
feat: 안심 구역 설정 중 주소 검색 기능 구현
kyujin0911 Jun 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44,678 changes: 44,678 additions & 0 deletions ai/LocationAnalyzer.ipynb

Large diffs are not rendered by default.

127 changes: 127 additions & 0 deletions ai/LocationAnalyzer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
from pyclustering.cluster.gmeans import gmeans
from collections import Counter
import numpy as np
import pandas as pd
import warnings

warnings.simplefilter(action='ignore', category=FutureWarning) # FutureWarning 제거
pd.set_option('mode.chained_assignment', None)

class LocationAnalyzer:
def __init__(self, filename):
self.df = self.fileReader(filename)

# 파일 읽기
# 데이터 예시 (39.984702,116.318417,0,492,39744.1201851852,2008-10-23,02:53:04)
# (위도, 경도, 0, 고도, 1899년 이후 경과한 시간, 날짜, 시간)
def fileReader(self, filename):

latitude = [] # 위도
longitude = [] # 경도
date = [] # 날짜
time = [] # 시간

with open(filename, 'r') as file:
data = file.read()

# 데이터에 불필요한 부분 제거
# 추후 데이터 형식에 따라 수정 필요 *
# data = data.split('\n')[:-1]
data = data.split('\n')[6:-1]
for i in range(len(data)):
line = data[i].split(',')
latitude.append(line[0]) # 위도
longitude.append(line[1]) # 경도
#date.append(line[2]) # 날짜
#time.append(line[3]) # 시간
date.append(line[5])
time.append(line[6])
df = pd.DataFrame({"latitude":latitude, "longitude":longitude, "date":date, "time":time})


df['latitude'] = df['latitude'].astype(float)
df['longitude'] = df['longitude'].astype(float)
df['datetime'] = pd.to_datetime(df['date'] + ' ' + df['time'], format='%Y-%m-%d %H:%M:%S')
df['datetime'] = df['datetime'].dt.floor('T')
# 시간대와 요일 추가
# 시간대 형식 : f00t04 f20t24
# 4시간 단위로 분리
df['hour_block'] = 'f' + ((df['datetime'].dt.hour) // 4 * 4).astype(str).str.zfill(2) + 't' + ((df['datetime'].dt.hour + 4) // 4 * 4).astype(str).str.zfill(2)
df['day_of_week'] = df['datetime'].dt.day_name()
df = df.drop(['date', 'time'], axis=1)
df = df.drop_duplicates(['datetime'], ignore_index=True)

return df

# 의미장소 추출
def gmeansFit(self, df):
# 두 열을 선택하고 넘파이 배열로 변환
selectedColumns = ['latitude', 'longitude']
resultList = df[selectedColumns].values.tolist() # 리스트로 변환

gmeansInstance = gmeans(resultList).process() # 클러스터링

centers = gmeansInstance.get_centers() # 클러스터의 중심 (의미장소)
clusters = gmeansInstance.get_clusters() # 분류된 클러스터


return clusters, centers

# 호출 함수
def gmeansFunc(self):


clusters, centers = self.gmeansFit(self.df)

data_df = pd.DataFrame({"clusters":clusters, "centers":centers})

for k in range(len(data_df.clusters)):
if (len(data_df.clusters[k]) < 10):
data_df.drop(index=k, inplace=True)
data_df = data_df.sort_index(axis=1)
data_df = data_df.reset_index(drop=True)

self.df['clusterNo'] = -1
for i in range(len(data_df)):
for j in range(len(data_df['clusters'].iloc[i])):
k = data_df['clusters'].iloc[i][j]
self.df['clusterNo'].iloc[k] = i

self.df = self.df[self.df['clusterNo'] != -1]


data_df['hour_block'] = 0
data_df['day_of_week'] = 0
for i in range(max(self.df['clusterNo'])+1):

counter = Counter(self.df[self.df['clusterNo'] == i]['hour_block'])
most_hour_value = counter.most_common(1)[0][0]

counter = Counter(self.df[self.df['clusterNo'] == i]['day_of_week'])
most_day_value = counter.most_common(1)[0][0]

data_df['hour_block'].iloc[i] = most_hour_value
data_df['day_of_week'].iloc[i] = most_day_value

data_list = data_df.values.tolist()
return data_list



if __name__ == '__main__':
# 파일 경로 가져오기
filePath = r"C:\Users\sk002\OneDrive\바탕 화면\학교\Yoodori\Geolife Trajectories 1.3\Data\003\Trajectory\20081202160051.txt"
la = LocationAnalyzer(filePath)

data = la.gmeansFunc()


print(data[1])
print(data[1][0])
print(data[1][0][0]) # latitude
print(data[1][0][1]) # longitude
print(data[1][2]) # time
print(data[1][3]) # w

print(type(data[1][2]))
print(type(data[1][3]))
Loading