[목표]
- 내비게이션의 기본 기능 탑재 (경로 탐색, 장소 검색)
- 사용자의 말을 인식하고 답변을 마커(위)와 리스트(아래)로 표시하기
- 사용자의 개인 차량 동작 로그 표시하기
- 교통정보를 경로 위 또는 지도 위에 마커로 표시하기(사고, 정체, 흐림)
[시나리오]
사용자가 내비게이션을 이용하기 위해 지도를 켠다 | 사용자이름, 이메일, 비밀번호 |
검색창에서 검색을한다 | 출발위치, 도착위치 |
목적지를 말한다 | |
목적지가 앱에 저장된다 | 검색기록 |
현재위치에서 목적지를 설정해서 보여준다 | |
자동차/도보/자전거를 고른다 | |
어떤 경로(고속도로)로 갈지 고른다 | |
경로별로 소요시간을 보여준다 | |
경로별 교통상태를 보여준다 | |
가는길에 사고, 공사중 등(알림)이 있는지 보여준다 | |
경로를 고른다 | |
현재위치를 보여준다 | |
현재위치에서 어떻게 이동하는지 보여준다(노드) | 종류신경쓸것(비보호, 등) |
노드별 사이에 교통량이 어떤지 보여준다(색깔 인덱스) | |
현재 위치를 기억해서 이동한다 | |
지난 이동 거리의 알림은 지운다 | |
현재 이동해야될 우회전/좌회전/유턴/직진 등을 보여준다 | 길안내 |
다음에 이동해야할 교통을 보여준다 | 길안내 |
GPS가 바르게 연결되었는지 | 따로 확인 |
주차장 : 주차장명, 출발지에서 거리, 도착지에서 거리, 카테고리, 시간별가격, 진입지점여러개 |
|
주유소 : 주유소명, 방향, 출발지에서 거리, 현재위치에서 거리, 도착지에서 거리, 카테고리, 주유종류, 가격 |
|
가는길에 방지턱이 있다면 방지턱이 있다고 말해준다 | |
목적지에 다와간다면 다와간다고 말해준다 | |
목적지에 도착하면 안내를 종료한다 |
[특이 사항]
- 임시 50명의 사용자로 가정하여 제작
- 사용자 음성에 대한 응답은 타 업체에서 제공
- 차량 정보에 대한 데이터는 타 업체에서 제공
- 지역 정보(행사)에 대한 데이터는 타 업체에서 제공
[중요 사항]
- 주행중 마커(지도 표시)에 집중할 것
- 출발, 도착지 결정 시 경로 줄 것
- 출발, 도착지, 현위치를 watch 하고 있을 것
-현위치 기준으로 마커를 뿌릴 것
- 도착시 경로정보 삭제
[데이터베이스]
- mariaDB 사용
user (유저 정보) UP 50개 고정 |
id | 고유 사용자 ID |
name | 사용자 이름 | |
password | 비밀번호 | |
이메일 주소 | ||
create | 계정 생성 날짜 시간 | |
update | 정보 수정 날짜 시간 | |
operation (차량 동작) 로그 |
id | 블랙박스 로그 ID |
user | 사용자 ID | |
date | 날짜 | |
time | 시간 | |
contents | 내용 | |
location | 발생 위치 | |
voice (LLM) UP 50개 고정 |
id | ID |
user | 사용자 ID | |
text | 텍스트 -> 음성 | |
voice | 음성 -> 텍스트 | |
read | 읽음 상태 | |
Route (경로) UP 50개 고정 |
id | 고유 경로 ID |
user | 사용자 ID | |
current_point | 현위치 | |
start_point | 출발 위치 위경도 | |
end_point | 도착 위치 위경도 | |
locations | 위경도 목록 (길안내 노드만) | |
distance | 거리 (Km 단위) | |
route_time | 예상 소요 시간 (분 단위) | |
all | 모든 노드 (240913 임시 추가) | |
traffic (전체 교통정보) IN DE 고정 아님 |
id | 고유 교통 정보 ID |
date | 발생 날짜 | |
time | 발생 시간 | |
start_point | 시작 위치 | |
end_point | 종료 위치 | |
content | 내용(흐림, 정체, 사고) | |
rank | 중요도 | |
Set (사용자 설정) UP 50개 고정 |
id | 고유 설정 ID |
user | 사용자 ID | |
transport | 교통 수단 설정 (1: 자동차 2: 자전거 3: 도보 등) | |
toll | 통행료 회피 여부 (1: 회피안함 회피: 2) | |
highway | 고속도로 회피 여부 (1: 회피안함 회피: 2) | |
POI (주유소,,) IN DE 고정 아님 |
id | 지점 ID |
location | 지점 위경도 | |
name | 이름 | |
content | 설명 | |
category | 카테고리 | |
hour | 운영 시간 | |
type | 1 : 고정(가게) 2 : 단발성(행사) | |
Alert (단발성 알림) IN DE 고정 아님 |
id | 고유 알림 ID |
user | 사용자 ID | |
date | 알림 생성 날짜 | |
time | 알림 생성 시간 | |
content | 알림 메시지 (예: "사고로 인해 경로 변경") | |
read | 읽음 여부 | |
location | 관련된 항목의 위,경도 (예: 이벤트 ID, 장소 ID 등) | |
rank | 중요도 | |
list (뿌려줄 목록) UP 50개 고정 |
id | 리스트ID |
user | 사용자ID | |
question | 질문(텍스트) | |
result | 결과 | |
Mark (뿌려줄 마커) IN DE 고정 아님 |
id | 고유 교통 정보 ID |
start_point | 시작 위치 | |
end_point | 종료 위치 | |
content | 내용(흐림, 정체, 사고) |
'Project > 내비게이션' 카테고리의 다른 글
[OSM] 내비게이션 어플리케이션 개발 (1) (1) | 2024.09.23 |
---|---|
[OSM]OpenStreetMap을 이용한 내비게이션 만들기 - 4 (1) | 2024.09.20 |
[OSM]OpenStreetMap을 이용한 내비게이션 만들기 - 3 (16) | 2024.09.19 |
[OSM]OpenStreetMap을 이용한 내비게이션 만들기 - 2 (2) | 2024.09.13 |