¿Cuáles son las reglas que sigue la función rasterizar Gdal para asignar un valor a una celda?

8

¿Cómo decide la herramienta rasterizar qué valor representar cuando una celda cubre un área que incluye valores diferentes? Lo necesito en este caso para polígonos, pero me gustaría saber también para líneas y puntos. ¿Cuáles son las reglas que sigue?

Andre Wise
fuente

Respuestas:

7

Mirando la fuente aquí y aquí , parece que GDAL solo comienza desde la parte superior de la lista y avanza hacia abajo, por lo que estará en el orden en que se almacenan las formas, sobrescribiendo cualquier dato almacenado en un píxel determinado. Ni siquiera estoy seguro de que haga algo con los índices de atributos.

Apéndice

El rasterizador por defecto solo usa el centro del píxel para los polígonos, o el algoritmo de Bresenham para las líneas (presumiblemente los puntos son los vecinos más cercanos). Parece que hay una opción para llenar cualquier píxel tocado que, creo, se puede suministrar en la línea de comando. Hay un comentario al respecto en el código :

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>

Por lo tanto, no hay mezcla en absoluto, y no intenta hacer nada inteligente.

MerseyViking
fuente
Gracias por la respuesta. Debería resultar útil más adelante. Lo que me gustaría saber es cómo la función rasterizar selecciona el valor representativo de la forma. ¿Utiliza el valor del punto central o el porcentaje de cobertura más alto y cómo maneja una situación de 50/50, etc.? La fuente sigue siendo un poco difícil de entender para mí, lo siento.
Andre Wise