Ví dụ thực tế của Biến đổi affine?


9

Từ bài viết Wikipedia :

Trong hình học, một phép biến đổi affine hoặc bản đồ affine hoặc một ái lực (từ tiếng Latinh, affinis, "kết nối với") giữa hai không gian vectơ (nói đúng, hai không gian affine) bao gồm một phép biến đổi tuyến tính theo sau là một bản dịch.

Bất cứ ai cũng có thể đưa ra một ví dụ trong thế giới thực về thời điểm và cách thức sử dụng nó trong GIS?

Câu trả lời:


9

Việc sử dụng thường xuyên các phép biến đổi affine 2D và 3D trong GIS bao gồm

  • Các phép biến đổi từ bản đồ đến màn hình

  • Đăng ký hình ảnh và raster

  • Thay đổi quan điểm 3D

  • Sửa đổi các tính năng bằng cách thay đổi kích thước, dịch chuyển và xoay

  • Thay đổi dữ liệu (công thức 3 điểm và 7 điểm).

Chúng được mô tả chi tiết hơn và được minh họa cho trường hợp 2D trên trang Web này , được tìm thấy khi bạn tìm kiếm "GIS biến đổi affine". Các hit khác cung cấp nhiều ví dụ hơn.

Các phép biến đổi affine cũng cung cấp một số đơn giản hóa khái niệm . Ví dụ: mọi lưới vị trí thông thường đều tương đương với lưới các điểm có tọa độ tích phân và tất cả các mô hình elip của trái đất đều tương đương với hình cầu đơn vị tập trung tại điểm gốc.

Cuối cùng, lưu ý rằng ( ít nhất là từ cuối những năm 1800 ) hình học Euclide là nghiên cứu về nhóm các phép biến đổi affine bảo toàn khoảng cách. Bởi vì hầu hết tất cả các xử lý GIS - chỉ mục không gian, quan hệ không gian, truy vấn không gian, "xử lý địa lý", v.v. - sử dụng các thuật toán dựa trên hình học Euclide của bản đồ, các phép biến đổi affine là nền tảng cho GIS.


5

Trưng bày

Tất cả người xem sử dụng biến đổi affine để chuyển đổi tọa độ địa lý thành tọa độ màn hình.

Sự khái quát

Nhiều hoạt động chuyển đổi được sử dụng trong khái quát hóa là biến đổi affine: quy mô, kéo dài, dịch, xoay, v.v.


4

http://ian01.geog.psu.edu/geoserver/www/cartogram/discContous.html cho thấy một bản đồ không liên tục tôi xây dựng bằng cách sử dụng một phép biến đổi affine đơn giản.


1
+1 Lưu ý rằng đây là tập hợp các phép biến đổi affine, mỗi trạng thái, không chỉ là một phép biến đổi đơn lẻ. Người ta có thể hình dung tất cả các bản đồ là tạo ra một phép biến đổi cho mỗi tính năng, nhưng trong hầu hết các trường hợp, các phép biến đổi đó phức tạp hơn so với phép biến đổi (và thường không khác biệt hoặc thậm chí liên tục).
whuber

3

Từ tài liệu PostGIS :
"ST_Affine - Áp dụng chuyển đổi affine 3d vào hình học để thực hiện những việc như dịch, xoay, chia tỷ lệ trong một bước."

Đây là một ví dụ khá bẩn.

Hai năm trước tôi đã sử dụng nó để xây dựng bản đồ hình ảnh html có thể nhấp trên hình ảnh gif được phân phối từ máy chủ maps. Truy vấn được gửi tới PostGIS, tạo một bộ đệm đơn giản xung quanh hình học theo pixel pixel bên phải và tính toán lại vì bản đồ hình ảnh có nguồn gốc ở góc trên bên trái và hình chiếu của bản đồ có nguồn gốc dĩ nhiên ở góc dưới bên trái. Sau đó, tôi chỉ tạo bản đồ hình ảnh bằng cách viết chuỗi trả về bằng asp hoặc nếu đó là php.

Tôi đào trong bụi bẩn và tìm thấy thứ này:

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

Không đẹp, nhưng nó thực sự hoạt động rất tốt và phục vụ trong một thời gian.

/ Nicklas


2

Nó chỉ là một phép biến đổi tuyến tính của một hình ảnh hoặc tập dữ liệu - điều này có nghĩa là tất cả các tọa độ trong tập dữ liệu đều được xử lý như nhau. Vd ... Không có sự phụ thuộc vào vị trí trong tập dữ liệu hoặc hình ảnh mà các pixel nằm trong đó.


Biến đổi affine là khái quát của biến đổi tuyến tính. Không giống như một phép biến đổi tuyến tính, một phép biến đổi affine cũng có thể dịch các điểm (shift).
whuber

1

Khi tôi nhận được một bản đồ là hình ảnh giấy hoặc kỹ thuật số không có quyền truy cập vào dữ liệu vectơ và tôi cần thông tin từ bản đồ để phủ lên dữ liệu khác. Nếu bản đồ không được in hoặc xuất trong cùng một hệ tọa độ tương tự như dữ liệu của tôi thì tôi không chỉ cần đăng ký (địa điểm, xoay, tỷ lệ). Nhưng để biến đổi nó.

Hai cách này có thể được thực hiện.
1. số hóa trong hệ thống hình ảnh được in và sau đó gán hệ tọa độ thích hợp và sau đó chiếu lại dữ liệu. Hoặc ...
2. đặt, xoay và chia tỷ lệ đến một vị trí gần với điểm cuối cùng và thực hiện chuyển đổi.

Khi chọn loại chuyển đổi, bạn bị hạn chế bởi số lượng điểm tham chiếu có thể nhận dạng trong cả hai tập dữ liệu.

Tôi thông thường (phụ thuộc vào rất nhiều yếu tố) chọn định vị hình ảnh gần với nơi an nghỉ cuối cùng và sau đó thực hiện chuyển đổi rubbersheet.

Affine là một trong những lựa chọn tôi có khi tôi sử dụng số lượng điểm tham chiếu lớn hơ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.