Đo khoảng cách giữa các điểm đồng thời


9

Tôi đang làm việc với dữ liệu GPS và vì vậy tôi có UTM với thông tin DATE / Time. Tôi có 2 nhóm loài (nai và sói). Tôi muốn tham gia thông tin từ nai sừng đến sói phù hợp với thời gian. Vì vậy, vị trí 1 từ moose 1 là tại 2007/03/26 14:33:49 cho tất cả những con sói đã được ghi nhận ở khoảng thời gian tương tự. Khoảng là chìa khóa - điều đó có nghĩa là tôi sẽ phải có cửa sổ thời gian hoặc bộ đệm để tìm kiếm tất cả các vị trí sói trong vòng 30 phút trong khoảng thời gian đó.

Tôi đang tìm kiếm một tập lệnh hoặc công cụ sẽ thiết lập bộ đệm cửa sổ +/- X min và sẽ có thể "xử lý" lô. Ive ít nhất 30 con nai và 30 con sói - vì vậy thực hiện ghép một cặp cùng một lúc là không hữu ích. Khi Ive đã khớp ngày / giờ, tôi muốn tính khoảng cách giữa các vị trí XY của nai và sói và sự khác biệt về thời gian. Tôi muốn một đầu ra như:

individualmooseID | mooseDate | mooseX | mooseY | individualwolfID | wolfDate | wolfX | wolfY | Distance(m) | TimeDiff (min)

MooseID có thể khớp với một số sói khác nhau trong cùng khoảng thời gian. Mọi lơi đê nghị đêu nên được đanh gia cao. Tôi đã viết mã cho R nhưng nó không hoạt động, hãy xem câu hỏi của tôi: https://stackoverflow.com/q/15646365/675742 và tôi sẽ phải đưa dữ liệu vào ArcGIS vào một lúc nào đó để tôi có thể bỏ qua R và làm tất cả trong ArcGIS rồi TUYỆT VỜI!


4
Tôi đã thực hiện thành công điều này từ lâu bằng cách tạo hai lớp có tọa độ là thời gian cộng với giá trị nhân tạo y , với y = 0 cho một tập dữ liệu và y = một số hằng cho tập dữ liệu khác. Tại thời điểm này, bạn có thể sử dụng các phép nối không gian, bộ đệm và các hình thức phân tích không gian khác để trả lời câu hỏi của bạn, bởi vì sự gần gũi trong các tọa độ nhân tạo này giống như sự gần gũi về thời gian.
whuber

Câu trả lời:


4

Các bộ dữ liệu như thế này có thể cung cấp rất nhiều thông tin tất nhiên.

Tôi sẽ làm điều này trong một môi trường cơ sở dữ liệu không gian, tốt nhất là PostgreSQL / PostGIS.

Những gì bạn muốn làm có vẻ như là một sự kết hợp đơn giản trên cả dữ liệu không gian và thời gian.

Sau đó, bạn làm mọi thứ trong một truy vấn. Phần khó khăn có thể là tối ưu hóa các chỉ mục cho thời gian tham gia. Tôi đoán các bộ dữ liệu là khá lớn.

Truy vấn có thể trông giống như thế này (đọc nó dưới dạng mã giả, đặc biệt là phần thời gian))

SELECT DISTINCT ON (moose_id, wolf_id, moose_time) 
moose_id, moose_geom, moose_time, wolf_id, wolf_geom, wolf_time,
ST_Distance(moose_geom, wolf_geom) as dist, moose_time-wolf_time as time_diff
FROM
moose_table as mt inner join wolf_table as wt 
on 
ST_DWithin(moose_geom, wolf_geom,10000) 
AND moose_time > ( wolf_time-30) 
AND moose_time < (wolf_time + 30) 
ORDER BY abs(time_diff), moose_id, wolf_id, moose_time;

hai lưu ý:
1) Tôi đã sử dụng ST_DWithin để hạn chế ghép cặp sói-sói gần hơn 10000 mét. Đó là một cách để giảm tính toán và không tính toán mọi sự kết hợp có thể.
2) Tôi đã sử dụng DISTINCT ON. Đối với mỗi tổ hợp nai-sói trên mỗi lần đăng ký thời gian của nai, bạn chỉ nên có khoảng cách khi chúng ở gần nhất.

Nhưng tôi thấy một số truy vấn thú vị khác để kiểm tra trên tập dữ liệu của bạn sẽ cung cấp thông tin thú vị về cách sói săn mồi.

Chẳng hạn, bạn có thể, thay vì tìm khoảng cách giữa sói và nai khi chúng ở gần nhau nhất có thể, hãy tìm ra khi chúng càng gần nhau càng tốt về mặt không gian. Đó chỉ là sắp xếp lại thứ tự. Sau đó, trong các trường hợp khi con sói đi theo con nai, bạn sẽ thấy con sói ở đằng sau thời gian bao xa. Tất nhiên đó sẽ là những giá trị khó khăn vì tôi đoán rằng sói không chỉ theo dõi mà còn đi theo mùi gió trôi dạt mà trong một số trường hợp bạn sẽ thấy phía sau con sói cách xa bao nhiêu và điều đó đang thay đổi. Cùng với tốc độ của sói và nai, điều đó có thể đưa ra một mô hình tốt về những gì đang diễn ra.

Tốc độ bạn tất nhiên nhận được từ một truy vấn đơn giản khác :-)

Vì vậy, đặt các bảng của bạn trong một cơ sở dữ liệu postgis và thực hiện công việc ở đó.

Nếu bạn đang sử dụng ArcGIS 10 hoặc 10.1, bạn có thể xem dữ liệu trực tiếp từ cơ sở dữ liệu. Hoặc từ QGIS. Đó là sự kết hợp trưởng thành hơn PostGIS-QGIS.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.