Est-il possible d'utiliser des symboles au lieu de couleurs pour visualiser les valeurs des cellules raster?

14

J'ai une image raster (GeoTIFF) avec des valeurs entières . Je sais comment visualiser les valeurs raster dans QGIS à l'aide de cartes de couleurs ou similaires, mais je voudrais plutôt affecter des symboles à chaque valeur de couleur - tout comme une carte de couleurs, mais avec des symboles.

Exemple: entrez la description de l'image ici

Question:
Est-ce possible et dans ce cas comment?

Chau
la source
Eh bien, vous pouvez utiliser des symboles SVG dans les cartes de couleurs, ce qui donnera de belles cartes
Curlew
Pouvez-vous me donner un indice où je peux en savoir plus?
Chau
En utilisant la réponse du couvre-feu, je pense que je travaillerais à convertir chaque cellule en un point (un peu comme la grille asc) pour contrôler le symbole 1 par valeur. Mais je ne vois pas comment vous pouvez contourner la conversion en vecteur.
Brad Nesom
C'est peut-être possible, mais je pense que nous devons en savoir plus sur votre raster. Est-ce vraiment une image , combien de bandes a-t-elle et combien de "couleurs" a-t-elle? N.
nhopton
Dans ce cas, mon raster est une image à une bande avec 10 valeurs entières différentes - un cas simple. Mais il pourrait être intéressant de pouvoir créer des images tramées à la volée en général.
Chau

Réponses:

10
  1. Polygonisez votre forme raster via l'outil Raster-to-polygon dans le menu raster. Utilisez la valeur de votre champ comme catégorie
  2. Cliquez sur le style catégorisé, classifiez et double-cliquez sur le symbole. Sélectionnez ensuite "SVG-FILL" et la boîte de dialogue suivante devrait apparaître avec quelques icônes SVG de base fournies avec QGIS. entrez la description de l'image ici

  3. Choisissez une icône et n'oubliez pas de définir la ligne de bordure ("ligne simple") sur sans stylo. Sinon, les champs seront bordés d'une petite ligne. Votre question affiche une telle frontière, alors peut-être voulez-vous les conserver.

  4. Appliquez et contemplez votre nouveau style. Vous pouvez grandement simplifier le style si vous utilisez des règles et des catégories. Voici un exemple rapide d'une forêt avec des plaines environnantes. Le polygone a été généré à partir d'une couche raster de couverture forestière.entrez la description de l'image ici

Cela a été fait en utilisant la version de développement de QGIS 1.9, mais nous supposons que cela devrait également être possible en 1.8. Vous pouvez créer vos propres symboles SVG en utilisant, par exemple, l'excellente suite Inkscape

Courlis
la source
1
J'ai une bonne solution. Mais je préfère vraiment celui où je n'ai pas à modifier mon raster, dans votre exemple, pour le polygoniser.
Chau
cela pourrait être très difficile à réaliser, car pour autant que je sache, les cellules raster ne peuvent être affichées qu'avec des couleurs RVB. Quelque chose d'aussi complexe que les symboles appartient clairement au monde des couches vectorielles
Courlis
1
Un raster n'est qu'une grille, donc la convertir en points plutôt que la polygoniser pourrait être plus proche des exigences de Chau. Ensuite, symbolisez simplement les points en conséquence et, si nécessaire, posez une simple grille sur le dessus à la même résolution que le raster pour le faire ressembler exactement à l'exemple de l'image de Chau.
MappaGnosis
4

Le fait de suggérer que votre raster est d'une assez grande échelle (utilisation du sol, météo, ...), pourquoi ne pas simplement le convertir au format vectoriel?

Chris Pallasch
la source
Parce que c'est une visualisation tout comme les cartes de couleurs.
Chau
3
Eh bien, vous pouvez utiliser des symboles SVG dans les cartes de couleurs, ce qui donnera de belles cartes
Curlew
Pouvez-vous me donner un indice où je peux en savoir plus?
Chau
4

Je crois que QGIS est toujours livré avec gdal2xyz.py et en l'utilisant, vous pouvez convertir votre raster en fichier texte.

Ouvrez un terminal dans le répertoire contenant le raster et exécutez:

gdal2xyz.py filename.tif filename.txt

Le fichier texte contiendra des triplets xyz délimités par des espaces comprenant une ordonnée x , une ordonnée y et un z valeur (du raster).

Vous devrez ajouter une nouvelle première ligne au fichier, quelque chose comme "xy z" (sans les guillemets). Cela fait, vous pourrez charger le fichier dans QGIS en utilisant l'outil "ajouter du texte délimité", en sélectionnant "espace" comme délimiteur.

Dans QGIS, vous pouvez ensuite styliser les points: Propriétés -> onglet Style -> Catégorisé, puis utiliser des symboles de police pour styliser les points.

entrez la description de l'image ici

nhopton
la source
exemple intéressant (+1). Une couche XYZ est-elle une couche vectorielle et en quoi est-ce différent de la polygonisation du raster?
Courlis
1
Eh bien, si vous polygonisez un raster, vous créez des polygones qui contiennent des groupes de pixels ayant la même valeur. Mais dans ce cas, il fallait faire exploser le raster en points vectoriels, chaque point ayant une valeur d'attribut tirée du raster.
nhopton