direzione principale nella mappa 2D dei dati


8

Potrebbe essere una domanda molto semplice. Gradiremmo qualsiasi commento, guida o soluzione completa. Preferiamo tuttavia soluzioni incomplete ma nuove idee pratiche.
- Come trovare la direzione principale della variazione, ovvero la diagonale principale nella seguente figura di esempio (nord-est, sud-ovest)?
Qualsiasi algoritmo e idea per la codifica o lo snippet sono i benvenuti.

inserisci qui la descrizione dell'immagine

Aggiornamenti:
abbiamo scoperto che la procedura menzionata nella risposta accettata è quasi PCA (Principal Component Analysis) nella sua implementazione più semplice. PCA ha funzionato molto bene. La direzione risultante è perfettamente abbinata a ciò che potremmo aspettarci, visivamente.


3
Hai solo l'immagine raster della mappa di contorno disponibile o hai i dati di elevazione grezzi da cui sono generati i contorni?
Jason R,

1
Sono disponibili entrambi i tipi di dati. I dati originali sono una matrice. I contorni vengono generati successivamente in base alla matrice. Questo è il numero di livelli in contouring è felxible.
Sviluppatore

Risposte:



4

Ecco alcune idee:

  1. Se i contorni non si trovano già in strutture dati separate, utilizzare un algoritmo che segue i bordi (detto anche "tracciamento dei contorni") per seguirli. Una volta che hai il contorno, trova i due punti più distanti. Una volta che hai i due punti più distanti (il diametro di Feret), prendi il punto medio di quei punti, proietta una linea perpendicolare e controlla quello che potresti essere qualcosa come un asse minore di una forma ellittica approssimativa. Controllare la coppia di 2 punti più lontani e il loro "asse minore", il 3 ° più lontano, ecc.
  2. Dal centro di massa del contorno più interno, scansionare verso l'esterno in direzioni radiali. Tieni traccia dei punti di attraversamento su ciascun contorno. La direzione radiale (o gruppo di direzioni radiali) con la massima distanza media da contorno a contorno avrà la pendenza più delicata e la distanza più lunga.
  3. Eseguire un test "goccia d'acqua". Ciò richiede un po 'di fisica. Immagina di avere una goccia d'acqua o una palla al culmine (da qualche parte all'interno del contorno più interno). Spingerlo in una direzione radiale theta. Data la gravità e una superficie nominalmente priva di attrito, calcola la velocità della tua goccia / palla quando raggiunge il piano orizzontale inferiore.

Per una qualsiasi delle tecniche di cui sopra, considera gli angoli da 0 a 179 anche se puoi usare una tecnica radiale (da 0 a 359 gradi). Se esiste più di una risposta di picco, trova il raggio più lungo (o qualsiasi altra cosa) che ha più vicini con risposte di grandi dimensioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.