본문 바로가기

GPS20

c# 자전거 라이딩 거리 계산 관련 Utils 1. 거리 계산 (GPS 좌표 변환 공식 / 지구의 곡률 적용) /// /// 거리 계산 /// /// /// /// /// /// public double Distance(double lat1, double lng1, double lat2, double lng2) { double theta = 0.0d; double dist = 0.0d; theta = lng1 - lng2; dist = Math.Sin(deg2rad(lat1)) * Math.Sin(deg2rad(lat2)) + Math.Cos(deg2rad(lat1)) * Math.Cos(deg2rad(lat2)) * Math.Cos(deg2rad(theta)); dist = Math.Acos(dist); dist = rad2deg(dist); di.. 2023. 1. 13.
C# GPX(GPS Exchange Format) Paser https://www.strava.com/ Strava | 달리기, 사이클링, 하이킹 앱 - 트레이닝, 추적, 공유 www.strava.com gpx 파일을 다운로드 받을 수 있다. 2013-07-19T11:55:35Z 오전 라이딩 1 182.2 2013-07-19T11:55:35Z 183.2 2013-07-19T14:42:01Z 183.2 2013-07-19T14:42:19Z 183.2 2013-07-19T14:42:45Z 183.2 2013-07-19T14:43:08Z 181.9 2013-07-19T14:43:30Z 182.3 2013-07-19T14:44:22Z .... *.gpx 파일을 열어보면 xml 스키 안에 특정 시간 간격으로 (예:1초) 기본적으로 기록되는 시각, 경도와 위도 그리고 주변기.. 2023. 1. 13.
코드 블럭 테스트 (c# DB Helper) 쿼리에 들어가는 파라미터 변수와 값을 매핑하는 메소드 DAC에서 DB Helper쪽으로 Insert Qeury를 자동 생성 하는 메소드 호출 7년 전 자전거 GPS Logger Viewer 만들면서 짰던 DB Helper 코드 다양한 관계형(RDMS)에 DB에 대응할 수 있으며 개인 용도로 사용했던 db는 Sqlite다. 포터블 DB이며 가볍고 장점이 많다. 모델 속성(Field)을 테이블 컬럼명과 동일하게 만들면 자동으로 Insert 쿼리를 생성 해준다. 객체의 속을 들여다 볼 수 있는 Refelection을 사용하여 속도가 느린 단점이 있어 대용량 데이터를 처리하기에는 성능이 저하될 수 있다. (트랜잭션 코드 추가) using System; using System.Data; using System.C.. 2023. 1. 12.
GpsLog Manager - 지도에 루트 출력 속도 개선 테스트 표본은 2013년 미국 자전거 여행 7월 GPX 데이터 한달치 기준 개선 전 : 약 34~5초 https://www.youtube.com/watch?v=pdsoDFJFMNs&feature=youtu.be 개선 후 : 약 5~7초 https://www.youtube.com/watch?v=PHcatfuiqFM&feature=youtu.be ※ 검색 속도는 선택한 라이딩 정보 건수에 따라 다를 수 있고 1건 같은 경우는 이전보다 약간 빠르거나 같을 수 있다. GPX파일을 파싱후 화면에 출력할 때는 속도가 빠르지만 DB에 등록후 불러올 경우에는 내부적으로 1~2단계의 프로세스를 더 거쳐야 했기 때문에 느려질 수 밖에 없었다. 이유는 조회하고 그 결과안에서 위경도 정보만 다시 뽑아내야 하는 파싱 작업 때문.. 2016. 5. 26.