Contoh nyata Affine Transform di dunia nyata?

9

Dari artikel Wikipedia :

Dalam geometri, transformasi afin atau peta afin atau afinitas (dari bahasa Latin, affinis, "terhubung dengan") antara dua ruang vektor (secara tegas, dua ruang affine) terdiri dari transformasi linear yang diikuti oleh terjemahan.

Adakah yang bisa memberikan contoh di dunia nyata tentang kapan dan bagaimana ini digunakan dalam GIS?

geografi
sumber

Jawaban:

9

Penggunaan rutin transformasi affine 2D dan 3D di GIS termasuk

  • Transformasi Map-to-display

  • Mendaftarkan gambar dan raster

  • Mengubah sudut pandang 3D

  • Memodifikasi fitur dengan mengubah ukuran, menggeser, dan memutar

  • Perubahan datum (rumus 3 poin dan 7 poin).

Ini dijelaskan secara lebih rinci dan diilustrasikan untuk kasus 2D pada halaman Web ini , yang ditemukan ketika Anda mencari "affine transformasi GIS". Hit lainnya memberikan lebih banyak contoh.

Transformasi affine juga memberikan beberapa penyederhanaan konseptual . Sebagai contoh, setiap kisi-kisi lokasi yang biasa sama dengan kisi-kisi titik dengan koordinat integral dan semua model ellipsoidal bumi sama dengan satuan bola yang berpusat pada titik asalnya.

Akhirnya, perhatikan bahwa ( setidaknya sejak akhir 1800-an ) geometri Euclidean adalah studi tentang kelompok transformasi affine yang mempertahankan jarak. Karena hampir semua pemrosesan GIS - indeks spasial, hubungan spasial, kueri spasial, "geoprocessing," dll - menggunakan algoritma berdasarkan geometri peta Euclidean, transformasi affine merupakan hal mendasar bagi GIS.

whuber
sumber
5

Tampilan

Semua pemirsa menggunakan transformasi affine untuk mengubah koordinat geografis menjadi koordinat layar.

Generalisasi

Banyak operasi transformasi yang digunakan dalam generalisasi adalah transformasi affine: skala, peregangan, terjemahan, rotasi, dll.

Julien
sumber
4

http://ian01.geog.psu.edu/geoserver/www/cartogram/discontinous.html menunjukkan kartogram terputus yang saya buat menggunakan transformasi affine sederhana.

Ian Turton
sumber
1
+1 Perhatikan bahwa ini adalah kumpulan transformasi affine, satu per negara, bukan hanya satu transformasi. Kita dapat membayangkan semua kartogram sebagai menciptakan satu transformasi untuk setiap fitur, tetapi dalam kebanyakan kasus transformasi itu lebih rumit daripada yang affine (dan seringkali tidak dapat dibedakan atau bahkan berkelanjutan).
Whuber
3

Dari dokumen PostGIS :
"ST_Affine - Menerapkan transformasi affine 3d ke geometri untuk melakukan hal-hal seperti menerjemahkan, memutar, skala dalam satu langkah."

Inilah contoh yang cukup kotor.

Dua tahun lalu saya menggunakannya untuk membangun peta gambar html yang dapat diklik pada gambar gif yang dikirim dari mapserver. Kueri yang dikirim ke PostGIS, membuat penyangga yang disederhanakan di sekitar geometri di skala piksel kanan dan menghitung ulang karena peta gambar berasal dari sudut kiri atas dan proyeksi peta memiliki asal-usulnya tentu saja di sudut kiri bawah. Lalu saya baru saja membuat gambar-peta dengan menulis string yang dikembalikan dengan asp, atau jika itu adalah php.

Saya menggali debu kotor dan menemukan ini:

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);

Tidak cantik, tetapi sebenarnya bekerja sangat baik dan berfungsi untuk beberapa waktu.

/ Nicklas

Nicklas Avén
sumber
2

Ini hanya transformasi linear dari gambar atau dataset - ini berarti semua koordinat dalam dataset diperlakukan sama. Misalkan jika titik pada (x1, y1) diskalakan oleh a dan digeser oleh b maka semua titik lainnya (x2, y2), (x3, y3), (xn, yn) juga akan diskalakan oleh a dan digeser oleh b dll ... Tidak ada ketergantungan di mana dalam dataset atau gambar piksel berada.

dmsnell
sumber
Transformasi affine adalah generalisasi dari transformasi linear. Tidak seperti transformasi linear, transformasi affine juga dapat menerjemahkan (menggeser) poin.
Whuber
1

Ketika saya menerima peta yang berupa kertas atau gambar digital tanpa akses ke data vektor, dan saya perlu informasi dari peta untuk dilapis dengan data lain. Jika peta tidak dicetak atau diekspor dalam sistem koordinat yang sama atau serupa dengan data saya, maka saya tidak hanya perlu mendaftar (tempat, putar, skala). Tetapi untuk mengubahnya.

Dua cara ini bisa dilakukan.
1. mendigitalkan dalam sistem gambar dicetak dan kemudian menetapkan sistem koordinat yang sesuai dan kemudian memproyeksikan kembali data. Atau ...
2. tempatkan, putar, dan skala ke posisi dekat dengan final dan lakukan transformasi.

Saat memilih jenis transformasi Anda dibatasi oleh jumlah titik referensi yang dapat diidentifikasi di kedua set data.

Saya biasanya (tergantung pada banyak faktor) memilih untuk mencari gambar yang dekat dengan tempat peristirahatan terakhir dan kemudian melakukan transformasi rubbersheet.

Affine adalah salah satu pilihan yang saya miliki ketika saya menggunakan sejumlah besar poin referensi.

Brad Nesom
sumber