사용자 도구

사이트 도구


hyu-jaunt-system

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

hyu-jaunt-system [2020/04/14 08:25]
hyu-jaunt-system [2021/04/13 06:54] (현재)
줄 1: 줄 1:
 +<title>HYU Jaunt System 연구노트</title>
 +위치 수집 연구의 기반이 되는 풀스택 어플리케이션
  
 +DB
 +  * Traccar(Postgresql): 위치 정보
 +  * GeoData(Postgresql?): 확장된 위치 정보 (StayPoint 등), 이상현상 기록
 +  * Report(MongoDB): 피실험자 개인정보, 위치 관련 설문조사
 +
 +
 +서버사이드 롤
 +  * Traccar: 위치 수집
 +  * Report(Flask): 설문조사 API
 +    * 실험자
 +      * 피실험자 등록, 관리
 +      * 설문지 생성, 관리
 +      * 수집된 위치 분석
 +    * 피실험자
 +      * 설문조사 입출력 API
 +      * 자신 위치 정보 현황 보고
 +    * 서비스
 +      * 확장된 위치 정보 갱신
 +      * 이상현상 모니터링
 +클라이언트
 +  * Traccar: 위치 수집
 +    * Report(React): 삽입된 WebView를 통해 설문조사 송신과 자신 현황 파악
 +
 +===== Jaunt GIS =====
 +서버+클라이언트: [[https://github.com/dreamwayjgs/jauntGIS|Github]]\\
 +분석 노트: [[https://github.com/jaehyukcha/jaunt|Github]]
 +
 +개발목적
 +  * 유저별 StayPoint, Flow 등 지리적 정보 처리와 검출, 시각화
 +  * CSV, SQL (Traccar 기준), 우리 서버와 연동되어 리포트를 비교
 +    * 우리 서버 = Traccar + 피실험자 정보 + 설문조사 시스템
 +
 +세부 개발 브랜치
 +  * Redux 적용
 +  * Traccar 서버 직접 연동
 +  * 우리 서버와 직접 연동, 스키마 작성
 +    * 위치 정보는 Postgresql, 피실험자, 설문조사 정보는 MongoDB
 +    * 설문조사가 확장 가능하게
 +    * 실험자(연구원)은 로그인하는 방향으로 가야 하나?
 +  * 분석 노트 데몬화
 +    * Traccar 이상현상 모니터링
 +    * 부가적인 지리 정보 추가
 +
 +===== Traccar + Report WebApp =====
 +Traccar Android: [[https://github.com/dreamwayjgs/traccar-client-android|Github]]\\
 +WebApp: [[https://github.com/dreamwayjgs/hyujaunt_report|Github]]
 +
 +개발목적
 +  * Traccar 클라이언트에 피실험자가 실험을 보고하고 자신의 실험 현황을 파악할 수 있는 앱 삽입
 +    * 실험자는 피실험자에게 알림, 질문을 보낼 수 있다.
 +    * 피실험자는 자신의 실험 현황을 파악?하고 적절한 부가 데이터를 송신할 수 있어야 함.
 +
 +세부 개발 브랜치
 +  * MapView
 +    * 지도 기능 향상
 +
 +==== 6월 2주차 ====
 +장고 세팅 삽질[[https://www.nginx.com/blog/using-nginx-plus-with-selinux/]]
 +<del>그래도 CORS 는 여전히 해결 못함</del>
 +해결됨. 지금 버전 가보면 됨. axios 에 별다른 옵션 안 넣는 게 중요한듯?
 +
 +=== scikit-mobility + Centos설치하기 ===
 +[[https://cloud.docker.com/repository/docker/dreamwayjgs/centos-skmob/general|도커 이미지]]
 +CentOS를 minimal 로 깔거나 docker로 깔면 진짜 암것도 없다 ㅠ 하나하나 깔아보자
 +
 +우선 python3이 안 깔려 있기 때문에 까는 방법은 여러가지로 나뉜다.
 +
 +* anaconda
 +* conda(miniconda)
 +* <del>python3 (직접 빌드하기)</del>
 +
 +그냥 python3+pipenv 로하면 너무 답이 없다 ... 그냥 miniconda를 깔자. anaconda는 상관없지만 용량이 꽤 크다. 아나콘다만 깔아도 도커이미지가 4기가가 넘게된다.
 +
 +일단 뭘 해도 wget이 없다. curl로 해도 되지만 그냥 다운받을 땐 얘가 더 편함.
 +<code>
 +yum install -y wget
 +</code>
 +
 +==anaconda==
 +아나콘다 사이트에서 리눅스 .sh 파일을 받아서 퍼미션 바꾸고 설치
 +
 +<code>
 +yum install -y bzip
 +</code>
 +==Python3==
 +3.7로 빌드한다. 전체적으로는 [[https://tecadmin.net/install-python-3-7-on-centos/|이곳]]을 참조
 +
 +==scikit-mobililty==
 +[[https://github.com/scikit-mobility/scikit-mobility|공식 사이트]] 안내대로 깐다.
 +
 +python만 깔았다면 conda 대신 pipenv를 사용하자
 +
 +중간중간 설치가 실패할 수 있다. 설치 실패한 패키지를 직접 conda install 또는 pip install 로 설치하자
 +
 +마지막으로 테스트
 +<code>
 +# python
 +>> import skmob
 +</code>
 +
 +이상 없으면 에러가 없이 다음 라인으로 가지만 높은 확률로 다음 에러가 뜰 것이다.
 +
 +<code>
 +OSError: Could not find libspatialindex_c library file
 +</code>
 +
 +spatialindex 가 없어서 그렇다. mac이면 brew로 설치할 수 있다고 한다. (brew install spatialindex)
 +
 +centos 는 EPEL 저장소에있따.
 +
 +<code>
 +yum install -y epel-release
 +yum install -y spatialindex
 +</code>