Các phƣơng pháp mô tả ở trên là các thuật toán xử lý từng đoạn một. Trong phần này sẽ trình bày một cách tiếp cận khác toàn diện hơn để đơn giản hóa.
Phƣơng pháp toàn cầu khác các phƣơng pháp xử lý vùng bằng cách xem xét toàn bộ dòng trong quá trình xử lý. Hiện nay phƣơng pháp thƣờng đƣợc sử dụng trong hai lĩnh vực bản đồ và đồ họa máy tính là thuật toán đơn giản hóa Douglas Peucker. Thuật toán này không những chính xác mà còn mang lại cảm giác hình ảnh tốt hơn, vì nó tạo ra những kết quả tốt nhất trong cả hai điều kiện dịch chuyển vector và khu vực.
Thuật toán Douglas Peucker.
Thuật toán Douglas Peucker là một kĩ thuật luôn cố gắng để bảo toàn các đặc điểm của một đƣờng cong bằng cách sử dụng một giá trị ngƣỡng. Thuật toán này còn đƣợc gọi là thuật toán lặp t điểm cuối hay thuật toán tách và nhập. Trong bài báo gốc của Douglas và Peucker năm 1973, các tác giả mô tả hai phƣơng pháp cho việc giảm số lƣợng điểm cần thiết để đại diện cho một đa giác. Điểm đầu tiên trên đƣờng cong đƣợc xác định là „anchor‟ và điểm cuối cùng đƣợc gọi là „oater‟. Đây là hai điểm đƣợc kết nối bởi một đoạn thẳng và khoảng cách vuông góc từ các điểm đến phân khúc này đƣợc tính toán. Trong trƣờng hợp không có khoảng cách vuông góc nào lớn hơn giá trị ngƣỡng quy định (là một giá trị khoảng cách) khi đó phân đoạn đƣờng thẳng
đó đƣợc coi là hình thức đơn giản phù hợp để đại diện cho toàn bộ đƣờng cong.
Nếu điều kiện trên không đƣợc đáp ứng, một điểm cụ thể có khoảng cách vuông góc lớn nhất từ các phân đoạn đƣờng thẳng đƣợc chọn nhƣ là một
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
33
điểm động mới. Quá trình này đƣợc lặp đi lặp lại và một đoạn đƣờng thẳng đƣợc xác định bởi điểm chốt và điểm động mới.
Các điểm trong phân khúc mới này đƣợc tính toán lại khoảng cách vuông góc. Quá trình này đƣợc tiếp tục, các dòng đƣợc lặp đi lặp lại chia nhỏ thành các phần đa giác phụ nhỏ hơn, điểm nổi bật sẽ đƣợc lựa chọn và lƣu trữ trong một ngăn xếp cho đến khi các tiêu chí đƣợc đáp ứng. Các độ lệch cho điểm xen giữa khi ấy đƣợc tính toán lại khoảng cách vuông góc với phân khúc mới này. Quá trình này tiếp tục, đƣờng cong đƣợc chia nhỏ thành các hình nhiều nét với điểm động đƣợc lƣu trữ trong một ngăn xếp cho đến khi đáp ứng các tiêu chuẩn ngƣỡng. Đến khi các tiêu chí ngƣỡng đƣợc đáp ứng, điểm đầu sẽ đƣợc di chuyển đến điểm động gần nhất đƣợc chọn, điểm động mới sẽ đƣợc lấy từ phía trên cùng của ngăn xếp mà chứa các điểm động đã đƣợc xếp vào trƣớc đó. Quá trình này đƣợc lặp đi lặp lại liên tiếp và cuối cùng điểm đầu sẽ là điểm cuối cùng của đƣờng cong, quá trình đơn giản hóa đƣợc hoàn thành. Đến cuối của quá trình xử lý, các điểm đƣợc gán giá trị đầu đƣợc nối với nhau bằng một đƣờng thẳng để tạo thành một dòng đơn giản hóa. Điều quan trọng ở đây là việc xác định một kết quả ngƣỡng giá trị thấp trong dòng ít chi tiết đƣợc cắt bỏ trong khi chỉ định một kết quả ngƣỡng giá trị cao trong tất cả các đặc điểm chung nhất của dòng cũng đƣợc gỡ bỏ. Phƣơng pháp Douglas Peucker đƣợc minh họa chi tiết. (Hình 2.9).
Hình 2.9a: Xử lý khu vực bên trái trước (d1, d2 nhỏ hơn giá trị ngưỡng nên 2 đỉnh này được lạo bỏ).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
34
Hình 2.9b: Xử lý phần bên phải. (dmax lớn hơn giá trị ngưỡng). Chia tiếp thành 2 phần và đặt V5 làm chỉ số khóa.
Hình 2.9c:Tìm khoảng cách vuông góc (dmax lớn hơn giá trị ngưỡng). Chia tiếp làm 2 phần và đặt v8 làm chỉ số khóa.
Hình 2.9d: Xử lý cả 2 phần còn lại. (d1, d2 nhỏ hơn giá trị ngưỡng nên 2 đỉnh v6 và v7 được loại bỏ, d3 lớn hơn giá trị ngưỡng nên đỉnh này được giữ lại)
Hình 2.9e: Đường cong sau đơn giản hóa.
Hình 2.9: Thuật toán Douglas – Peucker cho đường cong gồm 10 điểm.
Tóm lại, phƣơng pháp Douglas – Peucker có thể đƣợc hiểu nhƣ một thuật toán chia để trị, các hình nhiều nét đƣợc chia thành các phần nhỏ hơn để xử lý. Các thuật toán nhƣ vậy đƣợc gọi là thuật toán đệ quy, đƣợc thực hiện
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
35
cho các phần nhỏ hơn của các tập dữ liệu ban đầu. nhƣng chúng ta cũng cần chú ý rằng, các thuật toán đệ quy có thể gây ra vấn đề tràn ngăn xếp với các bộ dữ liệu lớn. Do đó, một vài sửa đổi đƣợc thực hiện trên các thuật toán bản gốc để chuyển đổi nó thành lặp lại. Thuật toán không đệ quy để có một phƣơng pháp mạnh mẽ và ổn định hơn.
Phƣơng pháp đơn giản hóa đa giác.
Tổng quát hóa là một thủ tục đƣợc sử dụng rộng rãi trong GIS để làm giảm dữ liệu, trong đó việc tổng quát hóa hình dạng của đa giác đƣợc coi là phức tạp nhất. Vì hầu hết các phƣơng pháp đơn giản hóa đa giác cần phải chuyển đổi đa giác thành hình có nhiều nét hay các đƣờng cong. Kết quả của việc đơn giản hóa sẽ bị ảnh hƣởng rất nhiều bởi sự lựa chọn điểm bắt đầu. Đa giác có thể đƣợc chia thành một số đƣờng cong bởi các tính năng điểm, nhƣ chọn hai điểm xa nhất để chia đa giác thành hai đƣờng cong. Sau đó, mỗi đƣờng cong sẽ đƣợc đơn giản hóa, chỉ số biến dạng hình dạng đƣợc sử dụng nhƣ một tiêu chuẩn để quyết định các điểm cần đƣợc bảo tồn. Hay nói cách khác, một hình nhiều nét có thể là một chuỗi các đa giác hay các đƣờng
cong… Bao gồm các đỉnh đƣợc sử dụng để một chuỗi liên tục các đoạn thẳng, nếu chúng mô tả một hình khép kín hay đa giác.