LAG 함수를 이용하여 구한 장비의 직전 위치값과 현재 위치값을 ST_DISTANCE 를 이용해서 거리 계산 성공. 문제는 https://www.geodatasource.com/distance-calculator 에서 계산한 결과와 일치하지 않는다는 점 ㅜㅠ ( mariadb 에서는 아직 ST_Distance_Sphere 지원되지 않는데 이 때문일까요? )참고로 엑셀에서는 이 식으로 계산 가능. ( 참고 : [MS Excel] 주소로 위도, 경도 찾고, 두 지점 간 직선 거리 계산하기 )
==ACOS(COS(RADIANS(90-지점1의위도))*COS(RADIANS(90-지점2의위도))+SIN(RADIANS(90-지점1의위도)) *SIN(RADIANS(90-지점2의위도))*COS(RADIANS(지점1의경도-지점2의경도)))*6371
SELECT mach_id, ST_X(mach_pt) AS lat, ST_Y(mach_pt) AS lng, ST_X(lag0) AS priv_lat, ST_Y(lag0) AS priv_lng, ST_DISTANCE(mach_pt, lag0) AS dist
FROM
(
SELECT mach_id, mach_pt, LAG(mach_pt,1) OVER(PARTITION BY mach_id ORDER BY event_dt) lag0
FROM mach_position
) AS mp;
'Slack 채널 정리' 카테고리의 다른 글
minio 설치 및 파이썬 업로드 스크립트 (0) | 2019.11.29 |
---|---|
[mariadb]st_distance_sphere 만들어 사용하기 (0) | 2019.11.29 |
[JPA]Point 타입 DB 저장 처리 (0) | 2019.11.29 |
go - db 데이터 json 형식으로 kafka publish (0) | 2019.11.29 |
실패한 브라우저 탭 갯수 제한 스크립트 (0) | 2019.11.28 |