위치 구역 출입 이벤트 실험실
위치 샘플 사이에 구역 경계를 통과했는지 검사하고 선형 보간으로 출입 시각을 추정합니다. 외곽과 내부 홀의 교차를 모두 확인하므로 두 샘플이 모두 구역 밖이어도 중간의 진입·이탈을 찾을 수 있습니다. 지도는 외부 타일이 없는 브라우저 내 평면 미리보기입니다.
주요 기능
- RFC 7946 GeoJSON Polygon·MultiPolygon의 외곽과 홀을 구역으로 사용
- 시간이 엄격히 증가하는 위치 샘플 사이의 모든 선분·경계 교차 탐색
- 경계 위를 내부 또는 외부로 볼지 선택하고 샘플 근접 허용 오차를 미터로 설정
- 접선과 중복 교차를 합쳐 허위 출입 이벤트를 억제
- 경로 재생, 각 구역의 현재 상태, 출입 시각·좌표·구간 비율 로그
- 브라우저 로컬 JSON·CSV·SVG 저장 및 제한된 입력 크기 검증
사용 방법
- GeoJSON 구역과 [{time,lon,lat},…] 경로를 붙여넣거나 로컬 JSON 파일을 선택합니다. 예제는 홀을 지나갑니다.
- 경계 점을 내부/외부 중 어느 쪽으로 볼지 선택하고 샘플 경계 허용 오차를 0~100m로 정합니다.
- 시뮬레이션을 실행해 각 샘플 사이의 경계 교차와 보간된 UTC 시각을 확인합니다.
- 재생 버튼이나 시간 슬라이더로 현재 위치를 이동하고, 로그 항목을 눌러 해당 출입 위치로 이동합니다.
- 이벤트 JSON·CSV 또는 현재 지도의 SVG 파일을 로컬에 저장합니다.
활용 예시
- 위치 기반 알림의 구역 출입 규칙을 배포 전에 시험
- 샘플 간격이 긴 GPS 경로에서 놓친 두 번의 경계 통과 확인
- 내부 홀을 통과하는 경로의 exit/enter 로그 검증
- 경계점·접선·중복 시각 입력에 대한 이벤트 정책 비교
자주 묻는 질문
두 GPS 샘플 사이의 통과 시각은 어떻게 정하나요?
경도·위도 평면에서 두 샘플을 직선으로 잇고 구역 링과 만나는 선분 비율을 찾습니다. 이 비율로 두 UTC 시각을 선형 보간합니다. 실제 이동 경로·속도 변화·측지선을 복원하는 값은 아닙니다.
경계 정책과 허용 오차는 어떤 차이가 있나요?
경계 정책은 정확히 경계 위인 구간/점이 내부인지 외부인지 정합니다. 0~100m 허용 오차는 샘플이 경계에 가까운지를 분류하는 데 쓰며, 보간된 교차 좌표나 경계 자체를 이동하지 않습니다.
구역이 비어 있거나 경로 시간이 뒤섞이면 어떻게 되나요?
빈 FeatureCollection은 구역 0개, 이벤트 0개로 표시합니다. 시각은 엄격히 증가해야 하며 역순·동일 시각·형식 오류는 수정할 수 있도록 오류로 알립니다.
접선이나 경계 꼭짓점을 스치면 enter/exit인가요?
교차점 앞뒤의 내부 상태가 같다면 출입을 기록하지 않습니다. 같은 꼭짓점에서 나온 중복 교차를 합치며 경계 위를 따라 이동할 때는 선택한 경계 정책을 적용합니다.
대륙 규모 경로나 날짜변경선을 처리하나요?
아닙니다. 입력 전체의 경도·위도 범위를 각 3도 이내, 위도를 ±85도 이내로 제한하고 날짜변경선 교차 구역은 거부합니다. 경도·위도 직선 모델이므로 측량·항법 판정에는 적합하지 않습니다.
위치 데이터가 업로드되나요?
아닙니다. JSON 파일·좌표와 모든 계산은 현재 브라우저 탭에서 처리하며 외부 지도 타일도 사용하지 않습니다. 저장 버튼을 누를 때만 브라우저에서 파일을 만듭니다.
개인정보 안내
구역·이동 경로는 브라우저 탭에서만 처리합니다. 서버 업로드나 외부 지도 요청은 없습니다.
댓글과 질문