arah utama dalam peta data 2D

8

Ini mungkin pertanyaan yang sangat sederhana. Kami sangat menghargai komentar, panduan, atau solusi lengkap. Kami lebih suka solusi yang tidak lengkap namun ide-ide praktis baru.
- Bagaimana menemukan arah utama variasi yaitu, diagonal utama pada gambar contoh berikut (timur laut, barat daya)?
Algoritma dan ide apa pun untuk pengkodean atau cuplikan disambut.

masukkan deskripsi gambar di sini

Pembaruan:
Kami menemukan bahwa prosedur yang disebutkan dalam jawaban yang diterima hampir PCA (Principal Component Analysis) dalam penerapannya yang paling sederhana. PCA bekerja dengan sangat baik. Arah yang dihasilkan sangat cocok dengan apa yang dapat kita harapkan, secara visual.

Pengembang
sumber
3
Apakah Anda hanya memiliki gambar raster peta kontur yang tersedia, atau apakah Anda memiliki data ketinggian mentah tempat kontur dihasilkan?
Jason R
1
Kedua jenis data tersedia. Data asli adalah sebuah matriks. Kontur dihasilkan kemudian berdasarkan matriks. Itu adalah jumlah level dalam contouring yang felxible.
Pengembang

Jawaban:

4

Berikut ini beberapa ide:

  1. Jika kontur belum berada dalam struktur data yang terpisah, gunakan algoritma edge-following (alias "contour tracing") untuk mengikuti masing-masing. Setelah Anda memiliki kontur, cari dua titik yang paling jauh. Setelah Anda memiliki dua titik yang terpisah paling jauh (diameter Feret), ambil titik tengah dari titik-titik itu, proyeksikan garis tegak lurus, dan periksa apa yang Anda kira seperti sumbu kecil berbentuk elips kasar. Periksa sepasang titik terjauh ke-2 dan "sumbu minor", titik terjauh ke-3, dll.
  2. Dari pusat massa kontur terdalam, pindai keluar ke arah radial. Melacak titik persimpangan di setiap kontur. Arah radial (atau kelompok arah radial) dengan jarak kontur-ke-kontur rata-rata terbesar akan memiliki kemiringan terlemah dan jarak terpanjang.
  3. Lakukan tes "setetes air". Ini membutuhkan sedikit fisika. Bayangkan Anda memiliki setetes air atau bola di puncaknya (di suatu tempat di dalam kontur terdalam). Dorong ke arah radial theta. Dengan gravitasi dan permukaan tanpa gesekan nominal, hitung kecepatan jatuhan / bola Anda saat mencapai bidang horizontal bawah.

Untuk salah satu dari teknik di atas, pertimbangkan sudut dari 0 hingga 179 meskipun Anda dapat menggunakan teknik radial (0 hingga 359 derajat). Jika ada lebih dari satu respons puncak, temukan radius terpanjang (atau apa pun) yang memiliki lebih banyak tetangga dengan respons besar.

Rethunk
sumber