Apa aturan yang mengikuti fungsi rasterize Gdal untuk mengalokasikan nilai ke sel?

8

Bagaimana alat rasterize memutuskan nilai mana yang akan diwakili ketika sel menutupi area yang menyertakan nilai yang berbeda? Saya membutuhkannya dalam hal ini untuk poligon tetapi ingin tahu untuk garis dan poin juga. Apa aturan yang diikuti.

Andre Wise
sumber

Jawaban:

7

Melihat sumbernya di sini dan di sini , tampaknya GDAL baru saja dimulai dari bagian atas daftar dan berjalan turun, sehingga akan berada dalam urutan apa pun bentuk disimpan, menimpa data apa pun yang disimpan dalam piksel yang diberikan. Saya bahkan tidak yakin itu melakukan apa pun dengan indeks atribut.

Tambahan

Rasterizer secara default hanya menggunakan pusat pixel untuk poligon, atau algoritma Bresenham untuk garis (mungkin titik hanya tetangga terdekat). Tampaknya ada opsi untuk mengisi piksel yang disentuh yang dapat, menurut saya, disediakan pada baris perintah. Ada komentar untuk efek ini dalam kode :

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>

Jadi tidak ada campuran sama sekali, dan tidak mencoba melakukan sesuatu yang pintar.

MerseyViking
sumber
Terima kasih balasannya. Harus terbukti bermanfaat nantinya. Yang ingin saya ketahui adalah bagaimana fungsi rasterize memilih nilai representatif dari bentuk. Apakah ia menggunakan nilai centrepoint atau cakupan persentase tertinggi dan bagaimana cara menangani situasi 50/50 dll? Sumbernya masih agak sulit bagi saya untuk mengerti maaf.
Andre Wise