Tôi mới bắt đầu làm việc với các cơ sở dữ liệu không gian và tôi muốn viết một truy vấn SQL (PostGIS) để tự động khái quát hóa các rãnh GPS thô (với tần suất theo dõi cố định). Điều đầu tiên tôi quan tâm là một truy vấn xác định các điểm dừng ở dạng truy vấn như "x điểm trong khoảng cách y mét" để thay thế các đám mây điểm lớn bằng các điểm đại diện. Tôi đã nhận ra để chụp các điểm trong một khoảng cách nhất định và đếm những người bị gãy. Trong hình bên dưới, người ta có thể thấy một bản nhạc ví dụ thô (các điểm đen nhỏ) và tâm của các điểm được chụp dưới dạng các vòng tròn màu (kích thước = số điểm được chụp).
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;
Tôi sẽ khá hài lòng với giải pháp này, nhưng có một vấn đề về thời gian: Hình ảnh theo dõi như một bản nhạc cả ngày trong một thành phố mà người đó có thể quay lại những nơi đã đến trước đó. Trong ví dụ của tôi, vòng tròn màu xanh đậm đại diện cho nhà của người mà anh ta đã truy cập hai lần nhưng tất nhiên truy vấn của tôi bỏ qua điều đó.
Trong trường hợp này, truy vấn tinh vi chỉ nên thu thập các điểm có dấu thời gian liền kề (hoặc id), để nó tạo ra hai điểm đại diện ở đây. Ý tưởng đầu tiên của tôi là sửa đổi truy vấn của tôi thành phiên bản 3d (thời gian là chiều thứ ba), nhưng dường như nó không hoạt động.
Có ai có lời khuyên nào cho tôi không? Tôi hy vọng rằng câu hỏi của tôi là rõ ràng.
Cảm ơn bạn cho ý tưởng dòng. Tôi nhận ra để thực hiện và đơn giản hóa một linestring như bạn có thể thấy trong ảnh chụp màn hình bên dưới (dấu chấm là điểm gốc). Điều tôi vẫn cần là xác định nơi nghỉ ngơi (> x điểm trong bán kính <x mét), lý tưởng là một điểm với thời gian đến và thời gian rời đi ... còn ý tưởng nào khác không?