Bài toán tạo vùng đệm

Một phần của tài liệu Phát triển các mô hình và thuật toán biểu diễn, xử lý, khai thác dữ liệu không gian và ứng dụng giải một số bài toán GIS (Trang 112 - 116)

4.2.2.1. Gii thiu

Bài toán xây dựng vùng đệm đòi hỏi xác định vị trí không gian các điểm trên mặt phẳng cách tập đối tượng không gian không vượt quá khoảng cách .

Hình 4.2. Mô phỏng vùng đệmcủađiểm,đường và vùng

hay các cung. Để biểu diễn và xử lý thao tác trên các cung khá bất tiện nên người ta thường xấp xỉ chúng như các đoạn gấp khúc với một sai số xác định trước.

Hình 4.3. Mô phỏngxấpxỉ các cung tròn bởiđa giác đều

Trong đại đa số các thuật toán xây dựng vùng đệm đầu tiên thực hiện tạo vùng đệm cho từng đối tượng không gian riêng biệt, sau đó sử dụng thuật toán lần lượt hội các vùng riêng biệt để tạo thành kết quả cuối cùng. Do độ phức tạp của thao tác hội hai vùng có đỉnh trong trường hợp xấu nhất là , nên độ phức tạp xây dựng vùng đệm có đoạn, mỗi đoạn có đỉnh trong trường hợp xấu nhất sẽ là và thực tế các chức năng này thực thi rất chậm. Ta có thể áp dụng thuật toán xây dựng lưới tam giác Delaunay ràng buộc để tối ưu quá tŕnh tạo vùng đệm lên rất nhiều.

d

Hình 4.4. Quá trình lấy vùng đệmcủađốitượng polyline với khoảng cách d

4.2.2.2. Thut toán xây dựng vùng đệmdựa trên lưới tam giác

Bài toán tạo vùng đệm. Cho trước tập hợp các đối tượng không gian cơ bản theo chuẩn OpenGIS (Point, Polyline, Polygon, Multi-Point, Multi-Polyline, Multi- Polygon, Geometry Collection). Cho trước bán kính .

Bước1: Phân rã các đối tượng Multi-Point, Multi-Polyline, Multi-Polygon, Geometry Collection thành tập các đối tượng đơn giản hơn Point, Polyline, Polygon.

Bước 2: Đối với tất cả các đỉnh đầu vào của các đối tượng Point, Polyline và Polygon ta xấp xỉ bằng các đa giác đều quanh nó với bán kính .

Bước 3: Đối với các đoạn thẳng của đối tượng Polyline và ranh giới của Polygon ta xây dựng các khung chữ nhật mà cùng kết hợp với các đa giác đều tạo ra ở bước trước sẽ tạo ra các vùng đệm cho mỗi đoạn thẳng của Polyline và Polygon.

Bước 4: Tất cả các đa giác đều, các khung chữ nhật và các Polygon ban đầu sẽ trở thành dữ liệu vào cho thuật toán xây dựng lưới tam giác Delaunay ràng buộc.

Bước 5: Tất cả các tam giác dù chỉ tham gia vào bất kỳ Polygon nào sẽ được đánh dấu tham gia vùng đệm kết quả. Kết thúc thuật toán.

4.2.2.3. Đ phc tp thut toán

Bước phức tạp nhất trong thuật toán tạo vùng đệm là bước xây dựng lưới tam giác Delaunay ràng buộc. Nếu chúng ta xấp xỉ vùng đệm tròn là đa giác đều gồm đoạn thẳng, thì số lượng đỉnh tham gia vào lưới tam giác sẽ là , ở đây – số lượng đỉnh của tập đối tượng không gian. Bởi vậy, độ phức tạp trong trường hợp xấu nhất là , còn độ phức tạp trung bình là .

(a) (b)

Minh họa lấy vùng đệm của nước Anh tạo từ hai đối tượng Polyline gồm 702 điểm và 1155 điểm. Vùng đệm của điểm lần lượt được xấp xỉ đa bằng giác đều với 32 điểm, 64 điểm và 128 điểm. Bán kính vùng đệm r lần lượt là 100, 200 và 500. Thời gian thực thi tính theo đơn vị ms. Thuật toán lấy vùng đệm GEOS lấy từ [80] . Qua bảng so sánh, nhận thấy rằng thuật toán lấy vùng đệm dựa trên lưới TIN có tốc độ vượt trội.

Số lượng điểm trên đường tròn

32 64 128

Các phương pháp lấy vùng đệm Bán kính

vùng đệm r

GEOS TIN GEOS TIN GEOS TIN

100 3042 453 3697 734 5241 1328

200 9001 781 10732 1062 14288 1765

500 14352 2375 15615 3000 18408 4500

Bảng 4.1.Thời gian thực thi thuật toán lấy vùng đệmcủadữ liệunước Anh

Hình 4.7. Lấy vùng đệmcủa đường Hình 4.8. Lấy vùng đệmcủa vùng

Một phần của tài liệu Phát triển các mô hình và thuật toán biểu diễn, xử lý, khai thác dữ liệu không gian và ứng dụng giải một số bài toán GIS (Trang 112 - 116)

Tải bản đầy đủ (PDF)

(175 trang)