Comparer des zones dans des cartes historiques d'utilisation des terres numérisées à l'aide de QGIS?

10

Je suis un débutant relatif à l'utilisation des SIG et j'exécute QGIS 2.0.1 sous Linux. J'ai deux cartes historiques que je veux analyser, qui montrent les modèles d'utilisation des terres dans la même zone à deux moments différents dans le temps. Je les ai numérisés et géoréférencés en tant que couches dans un seul fichier. Côte à côte, ils ressemblent à ceci:

1930 1950

La principale chose qui m'intéresse est de comparer l'étendue des zones vert clair et vert foncé entre les deux cartes. Est-ce possible, et si oui, quelle est l'approche la plus simple? Existe-t-il un moyen de le faire sur la base d'une analyse raster? Et si je dois créer un fichier de formes, quelle est la meilleure façon de le faire?

Ce que j'ai déjà considéré:

  • Dessin à la main de fichiers de formes sous forme de polygones, comme décrit dans ce didacticiel . Ce serait TRÈS fastidieux.

  • Créer des images raster simplifiées à contraste élevé en utilisant la sélection des couleurs, des filtres, etc. par essais et erreurs dans Gimp et en les convertissant en un fichier de formes. Les résultats ont été très bâclés.

Brian Z
la source
6
bienvenue dans le monde fastidieux et parfois très ennuyeux des SIG;) Si vous n'avez pas besoin de numériser chaque colis mais que vous pouvez agglomérer les mêmes pièces colorées, il ne s'agit que de quelques heures de souris méditatives. Toutes les autres expériences échoueront, je le crains! Si vous n'aviez que des motifs de couleurs propres dans votre numérisation, vous pouvez les convertir en niveaux de gris avec la calculatrice raster et les vectoriser, mais me débarrasser de toutes les lettres et des éléments inutiles ET remplir leur place avec les valeurs appropriées me semble impossible.
Bernd V.
Merci @BerndV. Mauvaise nouvelle, mais utile de savoir. Et en "poussant la souris", vous voulez dire dessiner chaque polygone, à partir de zéro, comme décrit dans le tutoriel auquel j'ai lié, et qu'essayer d'obtenir automatiquement une approximation qui nécessite des réparations importantes n'est probablement pas un raccourci viable?
Brian Z
3
Ces images sont difficiles à traiter. Si le lettrage était le seul problème, il serait facile à résoudre. Cependant, après un examen attentif (a) les originaux sont problématiques en raison des hachures pour distinguer les types de couverture terrestre et (b) de nombreux artefacts de compression numérique rendent les couleurs beaucoup moins uniformes qu'elles ne le paraissent. L'itinéraire de traitement raster serait plus facile avec une numérisation de meilleure qualité et une compression sans perte.
whuber
comme suggéré ci-dessus pour les rasters normaux, il est facile de sélectionner les zones d'une zone spécifique à l'aide de l'outil de valeur et de la calculatrice raster .... si vous utilisez l'outil de valeur, vous pouvez établir s'il existe une valeur spécifique pour les zones vertes, puis laissez Nous savons.
Ger
@ GeraldO'Reilly, si je postérise la deuxième image dans GIMP, le vert foncé devient vert pur (255,0,0) et le vert clair devient jaune pur (255,255,0). Cependant, il y a certainement des artefacts (par exemple, des pixels parasites de vert ou de jaune où je ne les veux pas). J'imagine qu'il existe un moyen d'utiliser la calculatrice raster et de définir une valeur de tolérance ou de lisser les pixels un peu?
Brian Z

Réponses:

9

La postérisation a été un excellent début: elle a éliminé la plupart des artefacts de compression et simplifié suffisamment la cartographie pour permettre un nettoyage supplémentaire.

Une grande partie du nettoyage d'un raster catégoriel implique des opérations dites "morphologiques". Il s'agit notamment d' étendre une catégorie à ses voisins, de la réduire à nouveau et de regrouper par région les cellules mono-catégorielles contiguës dans leurs propres catégories.

Habituellement, une certaine expérimentation est nécessaire, ne serait-ce que parce que les artefacts à supprimer - lettrage, hachures, etc. - varieront dans leurs tailles de pixels d'une numérisation à l'autre. Pour commencer, je vais illustrer ce que ces procédures peuvent accomplir sur l'exemple.

L'original, après postérisation, ressemble à ceci. C'est une grille avec seulement trois catégories affichées en trois couleurs. Nous visons à créer une grille dans laquelle les zones vert foncé sont transformées en pièces contiguës, sans sur-lettrage ou points ou travail de ligne non pertinent, adapté à une analyse ultérieure à l'aide de l'algèbre raster.

Figure 1

Agrandir les zones vert foncé d'un pixel dans toutes les zones environnantes donne cette image:

Figure 2

(Pour un contrôle plus précis, vous souhaiterez peut-être limiter l'expansion dans les zones noires uniquement si votre SIG le permet.)

Pour éliminer beaucoup de fines lignes d'artefacts verts et de petites îles, rétrécissons le vert vers l'intérieur de deux pixels

figure 3

puis, pour équilibrer tous les agrandissements et rétrécissements (pour réduire le biais), nous allons les étendre d'un pixel de plus:

Figure 4

Le regroupement des régions identifie ces taches contiguës de vert:

Figure 5

Chaque patch différent est affiché dans une couleur différente.

Utilisez une opération conditionnelle ou SetNull pour éliminer les minuscules correctifs. Comment minuscule? J'ai inspecté la table attributaire et constaté que de nombreux correctifs occupaient entre 6 et 47 cellules; après cela, il y a eu un saut à 422 cellules. J'ai choisi un seuil à l'intérieur de ce saut (100) et j'ai effacé toutes les cellules dont le nombre (pas les valeurs!) Était inférieur à ce seuil. Voici ce qui restait, superposé à l'original pour comparaison:

Figure 6

Nous avons obtenu une représentation assez fine des zones d'intérêt, appropriée pour détecter et quantifier les changements par rapport aux images traitées de manière similaire. J'ai pris un peu de travail, mais c'est beaucoup moins de travail que de numériser manuellement la numérisation d'origine et - à condition que les numérisations soient faites à des résolutions cohérentes - peut être semi-automatisé. (Étant donné que les cartes originales utilisent des couleurs différentes, une intervention intelligente doit être effectuée au départ pour sélectionner les couleurs appropriées pour l'expansion et la réduction.) Chacune des étapes est également un calcul assez rapide, vous pouvez donc probablement vous permettre de numériser l'original des cartes à des résolutions extrêmement élevées pour une plus grande précision.

whuber
la source
Ces résultats sont très bons, je vais voir si je peux les recréer. Merci @whuber!
Brian Z
2

Obtenir une couche raster approximative dans Gimp et la convertir en vecteur dans QGIS m'a probablement fait gagner du temps, mais il semble qu'il n'y ait aucun moyen d'éviter des heures de nettoyage des fichiers de formes résultants, sommet par sommet.

Brian Z
la source
1

Ok, peut-être que cela fonctionnera, peut-être pas. en fonction de la qualité de la numérisation. vous pouvez définir la transparence d'une couleur particulière sur un pourcentage ou vous pouvez utiliser l'outil de valeur pour isoler la couleur souhaitée.

Je ne vais pas m'en attribuer le mérite car j'ai posé une question auparavant ... la mienne voulait en fait sélectionner des maisons de cartographie ouverte sur la rue. Alors, faites-moi savoir si cela aide.

Identifier les polygones sur l'image raster

Faites-moi savoir si cela aide .... je peux supprimer si c'est complètement faux.

Ger
la source
J'avais vu cette réponse à un moment donné, mais je n'ai pas pu la trouver à nouveau, alors merci d'avoir posté! Je pense que la qualité de ces images signifie que cette approche ne suffira pas à elle seule, mais elle est utile comme indice sur le fonctionnement de l'expression eval.
Brian Z
0

Dans Gimp, vous disposez de quelques outils de sélection qui peuvent vous faciliter la tâche.

Je pense à l'outil de sélection floue (sélection par zone de couleur) que vous pouvez définir pour être plus ou moins sensible à la variation de couleur (En utilisant la première image que vous avez téléchargée, j'ai obtenu de bons résultats avec une valeur de seuil de 13,0). De cette façon, j'obtiens un résultat assez propre sans beaucoup de parasites qui peuvent ensuite être facilement et rapidement éliminés en sélectionnant un outil de frottement

Une fois sélectionné, vous pouvez recolorer ces zones avec des couleurs très contrastées, réimporter dans le SIG puis vectoriser?

Mais cela ne résoudra pas le problème signalé par whuber sur la superficie hachurée, mais comme ils ne sont pas nombreux, vous pouvez peut-être les vectoriser à partir de zéro sans avoir à consacrer beaucoup de temps à le faire?

flo64
la source
1
Malheureusement, les images ci-dessus ne sont que de minuscules échantillons dans une immense zone de carte. Mais je peux toujours utiliser une approche similaire avec l'outil Couleur, en le lissant avec les filtres Flou et Seuil. Les résultats sont assez corrects sur l'ancienne carte (celle du haut ci-dessus). Et heureusement, je ne me soucie pas autant des zones hachurées que des zones solides.
Brian Z