Quiero crear un mapa de bits (como un array numpy 2D) para una imagen de satélite dada en formato GeoTIFF. El mapa de bits debe tener las mismas dimensiones que el GeoTIFF y debe obtener el valor 1 en cada píxel donde el GeoTIFF tenga agua.
Mi enfoque actual sería:
- Obtener los límites de GeoTIFF.
- Consulta la API de paso superior para todas las características con "natural=agua".
- Inicializa un array numpy con las mismas dimensiones que GeoTIFF.
- Traducir Lat/Lon de características OSM a índices en array numpy.
- Usa los índices del paso 4 para poner las entradas del array numpy a 1.
Mi problema está en el paso 5. Las zonas acuáticas suelen ser vías cerradas, que no son más que una lista de nodos. Esto significa que en mi matriz numpy tendría que identificar todos los índices que se encuentran en el polígono definido por los nodos dados. Esto suena como un problema adecuado para Shapely pero he mirado en la documentación de Polygons y no he encontrado nada.
Podría hacer un bucle a través de cada índice posible en mi matriz numpy y comprobar si ese punto se encuentra en mi polígono, pero eso parece ser un poco engorroso para mí.
Así que mi pregunta es: ¿Existe una solución fácil para el problema del paso 5?
¿Todo este proceso parece razonable o hay una forma más directa de crear un mapa de bits para la aparición de agua en un GeoTIFF?