Esempio reale di trasformazione affine?


9

Dalla voce di Wikipedia :

In geometria, una trasformazione affine o una mappa affine o un'affinità (dal latino, affinis, "connesso con") tra due spazi vettoriali (in senso stretto, due spazi affini) consiste in una trasformazione lineare seguita da una traduzione.

Qualcuno può dare un esempio nel mondo reale di quando e come viene utilizzato in GIS?

Risposte:


9

Includono gli usi di routine delle trasformazioni affine 2D e 3D in GIS

  • Trasformazioni da mappa a visualizzazione

  • Registrazione di immagini e raster

  • Modifica dei punti di vista 3D

  • Modifica delle funzionalità tramite ridimensionamento, spostamento e rotazione

  • Modifiche del riferimento (formule a 3 e 7 punti).

Questi sono descritti in maggior dettaglio e illustrati per il caso 2D in questa pagina Web , che si trova quando si cerca "GIS di trasformazione affine". Altri successi forniscono molti altri esempi.

Le trasformazioni affine forniscono anche alcune semplificazioni concettuali . Ad esempio, ogni griglia regolare di posizioni è strettamente equivalente alla griglia di punti con coordinate integrali e tutti i modelli ellissoidali della terra sono affinamente equivalenti alla sfera unitaria centrata sull'origine.

Infine, si noti che ( almeno dalla fine del 1800 ) la geometria euclidea è lo studio del gruppo di trasformazioni affine che preservano la distanza. Poiché quasi tutta l'elaborazione GIS - indici spaziali, relazioni spaziali, query spaziali, "geoprocessing", ecc. - utilizza algoritmi basati sulla geometria euclidea della mappa, le trasformazioni affine sono fondamentali per GIS.


5

Schermo

Tutti gli spettatori utilizzano trasformazioni affini per convertire le coordinate geografiche in coordinate dello schermo.

Generalizzazione

Molte operazioni di trasformazione utilizzate nella generalizzazione sono trasformazioni affine: scala, stiramento, traduzione, rotazione, ecc.


4

http://ian01.geog.psu.edu/geoserver/www/cartogram/discontinous.html mostra un cartogramma discontinuo che costruisco usando una semplice trasformazione affine.


1
+1 Nota che questa è una raccolta di trasformazioni affine, una per stato, non solo una singola trasformazione. Si può concepire tutti i cartogrammi come creando una trasformazione per ogni caratteristica, ma nella maggior parte dei casi quelle trasformazioni sono più complicate di quelle affini (e spesso non sono differenziabili o addirittura continue).
whuber

3

Dal documento PostGIS :
"ST_Affine - Applica una trasformazione affine 3d alla geometria per fare cose come tradurre, ruotare, ridimensionare in un solo passaggio."

Ecco un esempio abbastanza sporco.

Due anni fa l'ho usato per creare una mappa immagine html cliccabile su un'immagine gif fornita da mapserver. La query inviata a PostGIS, crea un buffer semplificato attorno alla geometria nella scala pixel destra e ricalcola poiché la mappa immagine ha origine nell'angolo in alto a sinistra e la proiezione della mappa ha origine ovviamente nell'angolo in basso a sinistra. Quindi ho appena creato la mappa immagine scrivendo la stringa restituita con asp, o se era php.

Ho scavato nella polvere sporca e ho trovato questo:

SELECT gid, 
    replace(
        astext(
            st_affine(
                ST_SnapToGrid(
                    st_buffer(
                        st_transscale(
                            st_simplify(
                                (st_dump(the_geom)).geom
                            , (st_length(the_geom)/50)::integer)
                        ,(-" & minx & "),(-" & miny & "),(500::double precision/" & deltax & "),(500::double precision/" & deltax & "))
                    ,5)
                ,1,1)
            ,1,0,0,-1,0,300)
        )
    ,' ',',')   
as thetext 
from
 mytable where gid in (" & theList & ") order by st_length(the_geom);

Non è bello, ma in realtà ha funzionato molto bene e è servito per un po 'di tempo.

/ Nicklas


2

È solo una trasformazione lineare di un'immagine o di un set di dati: ciò significa che tutte le coordinate nel set di dati vengono trattate allo stesso modo. Ad esempio, se il punto in (x1, y1) viene ridimensionato di a e spostato di b, tutti gli altri punti (x2, y2), (x3, y3), (xn, yn) verranno anch'essi ridimensionati di a e spostati di b ecc. ... Non vi è alcuna dipendenza da dove risiedono nel set di dati o nell'immagine i pixel.


Le trasformazioni affine sono generalizzazioni di trasformazioni lineari. A differenza di una trasformazione lineare, una trasformazione affine può anche tradurre (spostare) punti.
whuber

1

Quando ricevo una mappa che è un'immagine cartacea o digitale senza accesso ai dati vettoriali e ho bisogno di informazioni dalla mappa per sovrapporla ad altri dati. Se la mappa non viene stampata o esportata nello stesso o analogo sistema di coordinate dei miei dati, non devo solo registrarmi (posizionare, ruotare, ridimensionare). Ma per trasformarlo.

I due modi in cui ciò può essere fatto.
1. digitalizzare nel sistema in cui è stata stampata l'immagine, quindi assegnare il sistema di coordinate appropriato e quindi riproiettare i dati. Oppure ...
2. posizionare, ruotare e ridimensionare in una posizione vicina alla finale ed eseguire la trasformazione.

Quando si sceglie il tipo di trasformazione, si è limitati dal numero di punti di riferimento identificabili in entrambi i set di dati.

Di solito (dipende da molti fattori) scelgo di posizionare l'immagine vicino alla sua posizione di riposo finale e quindi eseguire una trasformazione del foglio di gomma.

Affine è una delle scelte che ho quando utilizzo un numero maggiore di punti di riferimento.

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.