#1 Thu 07 November 2013 13:47
- simbol
- Juste Inscrit !
- Date d'inscription: 28 Oct 2013
- Messages: 4
QGIS 1.8 : solution pour polygoniser
Bonjour,
J'ai un image .tiff qui est une carte representant les batiments de ma ville, colorés selon epoque de construction (j'ai joint une image pour que ce soit plus clair). Je veux opérer une polygonisation sur ce raster pour obtenir un fichier .shp me donnant des polygones correspondants aux aires de meme couleur de mon image raster. Le but est ensuite de pouvoir effectuer des requetes par attributs avec ma couche vectorielle batiments (en bleu sur mon image).
J'ai donc essayer l'outil gdal polygoniser mais le resultat est decevant : une multitude d'entités sont vectorisées, cela ne correspond pas à mes aires de couleur.
Quant à la solution de dessiner moi-même ces polygones sur une nouvelle couche vectorielle : trop fastidieux pour toute la ville que je dois traiter.
Des idées ? Merci d'avance pour vos conseils
Hors ligne
#2 Tue 12 November 2013 15:32
- Titius
- Participant actif
- Date d'inscription: 27 Aug 2013
- Messages: 69
Re: QGIS 1.8 : solution pour polygoniser
Bonjour,
Vous pourriez tenter de procéder ainsi :
Avec la calculatrice raster, sélectionner une couleur : vous aurez trois probablement trois bandes qui seront équivalentes à rouge vert bleu.
Par exemple, si vous voulez sélectionner tous les pixels couleurs rouge coquelicot de code RVB 198 8 0 vous devrez taper l'expression :
"mon.tiff@1" = 198 AND "mon.tiff@2" = 8 AND "mon.tiff@3" = 0
Le chiffre après le @ correspond au numéro de la bande (1 pour rouge, 2 pour verte, 3 pour bleue)
Pour connaître les valeurs RVB que vous recherchez, vous pouvez utiliser l'outil "Identifier les entités" et cliquer sur la zone que vous souhaitez.
Si les teintes ne sont pas strictement uniformes à l'intérieur de vos polygones, vous ne pourrez pas mettre une valeur fixe pour chaque bandes, vous devrez décider d'un seuil et donc mettre "mon.tiff@1" >= 195 AND "mon.tiff@1" <= 201 AND "mon.tiff@2" >= 5 AND etc.
Vous obtiendrez ainsi un raster binaire valant 1 si la condition précédente était remplie et 0 sinon.
Vous pouvez alors tenter d'appliquer Raster>Conversion>Poligoniser, même si je ne sais pas si cela fonctionne ne m'en étant jamais servi.
Si cela ne fonctionne pas, il existe dans grass (utilisable sous qgis) la fonction r.to.vect.area qui fera ça très bien.
Hors ligne
#3 Wed 13 November 2013 15:56
- simbol
- Juste Inscrit !
- Date d'inscription: 28 Oct 2013
- Messages: 4
Re: QGIS 1.8 : solution pour polygoniser
Bonjour,
Un grand merci ! La méthode avec calculatrice raster me parait être intéressante, je ne peux pas tester pour l'instant car je dois avancer dans le projet mais je m'y met dès que j'ai du temps.
Quant à la polygonisation sous grass, je réessayerai, j'avais tenté sans succès.
Hors ligne
#4 Wed 13 November 2013 18:29
Re: QGIS 1.8 : solution pour polygoniser
Bonjour,
je pense qu'il faut d'abord retravailler puis classer votre image source. Le passage en vecteur viendra après
Avec quelques filtres au prélable pour virer le noir pour ne garder que la couleur, une classif d'image pour avoir les classes de couleur plus simple et enfin une requête spatiale pour affecter la valeur dominante d'une zone aux bati vecteur existants... ca pourrait marcher, mais ce n'est pas direct.
Des pistes pour la classification une fois l'image retravaillée : http://www.portailsig.org/content/class … sous-grass
Hors ligne