Các quy tắc mà hàm rasterize của Btal tuân theo để phân bổ một giá trị cho một ô là gì?


8

Làm thế nào để công cụ rasterize quyết định giá trị nào đại diện khi một ô bao phủ một khu vực bao gồm các giá trị khác nhau? Tôi cần nó trong trường hợp này cho đa giác nhưng cũng muốn biết cho các dòng và điểm. Các quy tắc mà nó tuân theo là gì.

Câu trả lời:


7

Nhìn vào nguồn ở đâyở đây , có vẻ như GDAL chỉ bắt đầu từ đầu danh sách và đi xuống, vì vậy nó sẽ được sắp xếp theo thứ tự các hình dạng được lưu trữ, ghi đè lên bất kỳ dữ liệu nào được lưu trữ trong một pixel nhất định. Tôi thậm chí không chắc chắn nó làm bất cứ điều gì với các chỉ mục thuộc tính.

Phụ lục

Trình rasterizer theo mặc định chỉ sử dụng tâm pixel cho đa giác hoặc thuật toán của Bresenham cho các dòng (có lẽ các điểm chỉ là lân cận gần nhất). Dường như có một tùy chọn để điền vào bất kỳ pixel cảm ứng nào, theo tôi có thể được cung cấp trên dòng lệnh. Có một nhận xét về hiệu ứng này trong :

462  * <dt>"ALL_TOUCHED":</dt> <dd>May be set to TRUE to set all pixels touched
463  * by the line or polygons, not just those whose center is within the polygon
464  * or that are selected by brezenhams line algorithm.  Defaults to FALSE.</dd>

Vì vậy, không có sự pha trộn nào cả, và nó không cố gắng làm bất cứ điều gì thông minh.


Cảm ơn vi đa trả lơi. Nên chứng minh hữu ích sau này. Điều tôi muốn biết là làm thế nào hàm rasterize chọn giá trị đại diện từ hình dạng. Nó có sử dụng giá trị centrepoint hoặc tỷ lệ phần trăm cao nhất không và làm thế nào để nó xử lý tình huống 50/50, v.v.? Nguồn vẫn còn một chút khó khăn để tôi hiểu xin lỗi.
Andre Wise
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.