Soy un principiante relativo al uso de SIG, y estoy ejecutando QGIS 2.0.1 en Linux. Tengo dos mapas históricos que quiero analizar, que muestran patrones de uso de la tierra en la misma área en dos momentos diferentes en el tiempo. Los tengo escaneados y geo-referenciados como capas en un archivo. De lado a lado, se ven así:
Lo principal que me interesa es comparar la extensión de las áreas verdes claras y oscuras entre los dos mapas. ¿Es esto posible y, de ser así, cuál es el enfoque más simple? ¿Hay alguna manera de hacer esto basado en el análisis de ráster? Y si tengo que hacer un shapefile, ¿cuál es la mejor manera de hacerlo?
Lo que ya he considerado:
Dibujar archivos de forma como polígonos a mano, como se describe en este tutorial . Eso sería MUY tedioso.
Crear imágenes ráster simplificadas y de alto contraste mediante la selección de colores, filtros, etc. por prueba y error en Gimp y convertirlo en un archivo de forma. Los resultados fueron muy descuidados.
Respuestas:
La posterización fue un gran comienzo: eliminó la mayoría de los artefactos de compresión y simplificó la cartografía lo suficiente como para permitir una limpieza adicional.
Gran parte de la limpieza de un ráster categórico implica las llamadas operaciones "morfológicas". Estos incluyen expandir una categoría a sus vecinos, reducirla nuevamente, y agrupar regiones celdas monocategoriales contiguas en sus propias categorías.
Por lo general, se necesita algo de experimentación, aunque solo sea porque los artefactos que se eliminarán (letras, líneas de sombreado, etc.) variarán en sus tamaños de píxel de un escaneo a otro. Para comenzar, ilustraré lo que estos procedimientos pueden lograr en el ejemplo.
El original, después de la posterización, se ve así. Es una cuadrícula con solo tres categorías que se muestran en tres colores. Nuestro objetivo es crear una cuadrícula en la que las áreas de color verde oscuro se conviertan en piezas contiguas, sin la superposición de letras o puntos o el trabajo de línea irrelevante, adecuado para el análisis posterior utilizando álgebra ráster.
Expandir las áreas verdes oscuras solo un píxel en todas las áreas circundantes da esta imagen:
(Para un control más preciso, puede limitar la expansión solo a las áreas negras si su SIG lo permite).
Para eliminar muchas de las líneas finas de artefactos verdes y pequeñas islas, reduzcamos el verde hacia adentro dos píxeles.
y luego, para equilibrar toda la expansión y la reducción (para reducir el sesgo), lo expandiremos un píxel más:
La agrupación de regiones identifica estos parches contiguos de verde:
Cada parche diferente se muestra en un color diferente.
Use una operación condicional o SetNull para eliminar los pequeños parches. Que pequeño Inspeccioné la tabla de atributos y descubrí que muchos parches ocupaban entre 6 y 47 celdas; después de eso hubo un salto a 422 celdas. Elegí un umbral dentro de ese salto (100) y borré todas las celdas con conteos (¡no valores!) Menores que ese umbral. Esto es lo que quedó, superpuesto en el original para comparar:
Hemos logrado una representación bastante fina de las áreas de interés, adecuada para detectar y cuantificar cambios relativos a imágenes procesadas de manera similar. Tomé algo de trabajo, pero es mucho menos trabajo que digitalizar manualmente el escaneo original y, siempre que los escaneos se realicen con resoluciones consistentes, puede ser semiautomatizado. (Debido a que los mapas originales usan colores diferentes, al principio tiene que ocurrir alguna intervención inteligente para seleccionar los colores apropiados para expandir y reducir). Cada uno de los pasos es un cálculo bastante rápido, por lo que probablemente pueda darse el lujo de escanear el original. mapas con resoluciones extremadamente altas para mayor precisión.
fuente
Obtener una capa ráster aproximada en Gimp y convertirla en vector en QGIS probablemente me ahorró algo de tiempo, pero parece que no hay forma de evitar horas de limpieza de los archivos de forma resultantes, vértice por vértice.
fuente
Ok, tal vez esto funcione, tal vez no. dependiendo de la calidad del escaneo. puede establecer la transparencia de un color en particular en un porcentaje o puede usar la herramienta de valor para aislar el color que desee.
No voy a tomar el crédito por esto, ya que hice una pregunta antes ... la mía en realidad quería seleccionar casas de mapeo abierto de street view. Avísame si te ayuda.
Identificar polígonos en la imagen de trama
Avíseme si ayuda ... puedo eliminar si está fuera del punto por completo.
fuente
En Gimp tienes algunas herramientas de selección que pueden facilitar tu trabajo.
Creo que con la herramienta de selección difusa (selección por área de color) que puede configurar para que sea más o menos sensible a la variación de color (Utilizando la primera imagen que cargó, obtuve buenos resultados con un valor umbral de 13,0). De esta manera obtengo un resultado bastante limpio sin muchos parásitos que luego se pueden eliminar fácil y rápidamente seleccionando una herramienta de frotamiento
Una vez seleccionado, puede volver a colorear estas áreas con colores de alto contraste, volver a importar en SIG y luego vectorizar.
Pero esto no resolverá el problema señalado por Whuber sobre el área de tierra sombreada, pero dado que no son muchos de ellos, ¿tal vez pueda vectorizarlos desde cero sin tener que pasar mucho tiempo para hacerlo?
fuente