hướng chính trong bản đồ dữ liệu 2D


8

Nó có thể là một câu hỏi rất đơn giản. Chúng tôi sẽ đánh giá cao bất kỳ ý kiến, hướng dẫn hoặc giải pháp hoàn chỉnh. Tuy nhiên, chúng tôi thích các giải pháp không đầy đủ nhưng ý tưởng thực tế mới lạ.
- Làm thế nào để tìm hướng chính của biến thể, nghĩa là đường chéo chính trong hình ví dụ sau (đông bắc, tây nam)?
Bất kỳ thuật toán và ý tưởng cho mã hóa hoặc đoạn trích đều được chào đón.

nhập mô tả hình ảnh ở đây

Cập nhật:
Chúng tôi thấy rằng quy trình được đề cập trong câu trả lời được chấp nhận gần như là PCA (Phân tích thành phần chính) trong việc thực hiện đơn giản nhất. PCA đã làm việc rất tốt. Hướng kết quả hoàn toàn phù hợp với những gì chúng ta có thể mong đợi, trực quan.


3
Bạn chỉ có sẵn hình ảnh raster map contour, hay bạn có dữ liệu độ cao thô mà các đường viền được tạo từ?
Jason R

1
Cả hai loại dữ liệu đều có sẵn. Dữ liệu gốc là một ma trận. Đường viền được tạo ra sau đó dựa trên ma trận. Đó là số lượng các mức trong đường viền là felxible.
Nhà phát triển

Câu trả lời:


7

Bạn có thể tính toán ma trận hiệp phương sai từ dữ liệu độ cao của bạn. Trình xác định thuộc về giá trị riêng lớn hơn sẽ cung cấp cho bạn hướng biến thể chính:

http://en.wikipedia.org/wiki/Covariance_matrix


2
+1 Ý tưởng mà bạn đề cập gần như là PCA (phân tích thành phần chính) trong trường hợp đơn giản nhất. Chúng tôi có thể thực hiện nó như vậy và kết quả là hoàn toàn thỏa đáng.
Nhà phát triển

4

Dưới đây là một vài ý tưởng:

  1. Nếu các đường viền chưa có trong các cấu trúc dữ liệu riêng biệt, hãy sử dụng thuật toán theo dõi cạnh (còn gọi là "theo dõi đường viền") để theo từng đường viền. Một khi bạn có đường viền, tìm hai điểm cách xa nhau nhất. Khi bạn có hai điểm cách xa nhau nhất (đường kính của Feret), lấy điểm giữa của các điểm đó, chiếu ra một đường vuông góc và kiểm tra xem bạn có thể là một trục nhỏ có hình elip thô. Kiểm tra cặp điểm xa thứ 2 và "trục nhỏ" của chúng, điểm xa thứ 3, v.v.
  2. Từ trung tâm khối lượng của đường viền trong cùng, quét ra ngoài theo hướng xuyên tâm. Theo dõi các điểm giao nhau tại mỗi đường viền. Hướng xuyên tâm (hoặc nhóm các hướng xuyên tâm) với khoảng cách đường viền trung bình lớn nhất sẽ có độ dốc nhẹ nhất và khoảng cách dài nhất.
  3. Thực hiện kiểm tra "giọt nước". Điều này đòi hỏi một chút vật lý. Hãy tưởng tượng bạn có một giọt nước hoặc quả bóng ở đỉnh của bạn (một nơi nào đó bên trong đường viền trong cùng). Đẩy nó theo một số hướng xuyên tâm theta. Cho trọng lực và bề mặt không ma sát danh nghĩa, tính tốc độ thả / bóng của bạn khi nó chạm tới mặt phẳng ngang dưới cùng.

Đối với bất kỳ kỹ thuật nào ở trên, hãy xem xét các góc từ 0 đến 179 mặc dù bạn có thể sử dụng kỹ thuật xuyên tâm (0 đến 359 độ). Nếu có nhiều hơn một phản hồi cực đại, hãy tìm bán kính dài nhất (hoặc bất cứ thứ gì) có nhiều hàng xóm hơn với các phản hồi lớn.

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.