방금 공간 데이터베이스 작업을 시작했으며 원시 GPS 트랙의 자동 일반화 (고정 추적 빈도)를위한 SQL (PostGIS) 쿼리를 작성하려고합니다. 내가 먼저 고민하고있는 것은 "y 미터 거리 내의 x 포인트"와 같은 쿼리 형태로 정지 포인트를 식별하여 대규모 포인트 클라우드를 대표 포인트로 대체하는 쿼리입니다. 나는 이미 특정 거리 내에서 점을 찍고 스냅 된 것을 세는 것을 깨달았습니다. 아래 그림에서 원시 예제 트랙 (작은 검은 점)과 스냅 된 점의 중심을 컬러 원 (크기 = 스냅 된 점 수)으로 볼 수 있습니다.
CREATE table simplified AS
SELECT count(raw.geom)::integer AS count, st_centroid(st_collect(raw.geom)) AS center
FROM raw
GROUP BY st_snaptogrid(raw.geom, 500, 0.5)
ORDER BY count(raw.geom) DESC;
이 솔루션에 대해 만족할 것 같지만 시간 문제가 있습니다. 도시에서 하루 종일 트랙으로 트랙을 이미징하면 이미 방문한 장소로 돌아갈 수 있습니다. 내 예에서 진한 파란색 원은 두 번 방문한 사람의 집을 나타내지 만 물론 내 쿼리는이를 무시합니다.
이 경우 정교한 쿼리는 연속 타임 스탬프 (또는 id)가있는 포인트 만 수집하므로 여기에 두 개의 대표적인 포인트가 생성됩니다. 내 첫 번째 아이디어는 내 쿼리를 3 차원 버전 (3 차원 시간)으로 수정하는 것이었지만 작동하지 않는 것 같습니다.
아무도 나에게 조언이 있습니까? 내 질문이 명확하기를 바랍니다.
라인 아이디어에 감사드립니다. 아래 스크린 샷에서 볼 수 있듯이 선 스트링을 만들고 단순화하는 것을 깨달았습니다 (점은 원래 점입니다). 여전히 필요한 것은 휴식 시간 (<x 미터 반경의 x 지점)을 도착 시간과 휴가 시간이있는 한 지점으로 결정하는 것입니다. 다른 아이디어는 무엇입니까?