수많은 차량의 위치 데이터가있는 PostGIS 테이블이 있으며이 지점에서 선을 만들고 싶습니다.
차량 ID별로 데이터를 선택하고 타임 스탬프별로 정렬 할 수 있지만 결과에서 라인을 만드는 방법은 무엇입니까?
기본적으로 필요한 것은 포인트 1에서 포인트 2까지의 한 선 세그먼트입니다. 라인을 마무리 한 다음 다시 포인트 2에서 포인트 3까지입니다. 물론 차량 ID를 고려하는 모든 것.
후자는 차량의 크루즈 방향과 속도를 한 지점에서 다음 지점으로 계산하기 때문에 필요합니다.
1
ST_MakeLine () 함수는 일단 GROUP BY vehicle_id 및 ORDER BY 타임 스탬프가 해결되면이 작업을 수행합니다. 참조 : postgis.refractions.net/docs/ST_MakeLine.html
—
Micha
좋아, 나는 단순히 그것을 시도하고 다음 진술을 발표했다 :
—
Thomas Becker
SELECT ais_data.mmsi, ST_MakeLine(ais_data.geom) AS newgeom INTO ais_lines FROM (SELECT * FROM ais_data ORDER BY ais_data.mmsi, ais_data.bs_ts ASC) AS ais_data GROUP BY ais_data.mmsi;
그것은 나에게 모든 차량의 트랙을 줄 것이고, 내가 필요한 것이 아니다. ST_MakeLine ()에게 포인트 1에서 포인트 2까지 라인을 생성하도록 지시하는 방법, 라인을 마무리하고 포인트 2에서 포인트 3까지 새로운 라인을 시작하는 방법은 무엇입니까?
"포인트 1", "포인트 2", "포인트 3"은 무엇입니까? 그것들을 어떻게 인식합니까?
—
Micha
타임 스탬프 순서를 통해 인식 할 수 있다고 생각했습니다
—
Thomas Becker
ORDER BY ais_data.bs_ts
.-가능합니까? 따라서 포인트 1, 포인트 2 등은 기본적으로 Select 문의 결과로 각 줄에 지정된 포인트 정보입니다.
메일 링리스트 postgis postgis.17.x6.nabble.com/…의
—
ThomasG77