Qgis: Analyse par maille 1 : Créer un maille carrée avec l’outil Grille vecteur

L’analyse par maille ou tesselation est un bon moyen de représenter des données discrètes.

L’exemple le plus évident est celui de la représentation de la densité d’objets sur une carte à petite échelle.

Un des gros avantages de l’analyse par maille est de pouvoir s’affranchir des limites (administratives par exemple) qui ont servies à la collecte des données.

Objectif: Représenter la répartition des Faits archéologiques mis au jour lors d’un diagnostic sur une grande surface, tout en s’affranchissant de la grille de lecture créée par les tranchées.

 Carte comparative de représentations de Faits archéologiques: par points et grâce à un maillage

Note : les données sont volontairement imaginaires, les points qui représentent les Faits archéologiques ont été créé aléatoirement à l’intérieur des tranchées grâce à l’outil fTools integré à Qgis (Vecteur > Outils de Recherche > Points aléatoires).

La première étape d’une analyse par maille est le choix de la maille qui correspond en quelque sorte à choisir la résolution à laquelle

nous voulons étudier notre phénomène. A vous de la définir selon l’échelle de votre zone d’étude et des objets que vous voulez étudier.

Il faut alors choisir la forme de la maille et sa taille. Sous Qgis il existe plusieurs solutions pour créer une maille, je vous présente ici la plus simple en utilisant l’outil fTools intégré à Qgis (Vecteur > Outils de Recherche > Grille Vecteur)

I) Créer une grille (un maillage, un carroyage)

Après avoir importé mon fichier de forme qui représente l’emprise de ma zone d’étude (polygone) et celui de mes Faits archéologiques (ici des points) j’exécute l’outil Grille vecteur:

 Menu_Outil_Vecteur

Une boite de dialogue s’ouvre alors, dans laquelle il faut indiquer :

Boîte de dialogue de l'Outil Vecteur

1) L’étendue de la grille, deux choix sont possibles :

a) Si l’on veut représenter la répartitions des Faits à l’échelle de toute la zone d’étude :

– on indique dans le menu déroulant la couche de référence (j’ai choisi dans l’exemple l’emprise)

– on clique sur le bouton [Mise à jour l’étendue depuis la couche]

→ les coordonnées de notre maillage vont être calculées automatiquement)

b) Si l’on veut représenter seulement une partie de notre échantillon :

– on fait un zoom de façon à ce que seul l’échantillon qui nous

intéresse apparaisse dans la fenêtre de Qgis.

– on clique sur le bouton [Mis à jour l’étendue depuis l’emprise courante de la carte]

2) La taille de la maille en unité de la carte (ici avec un SCR en LambertII, l’unité est le mètre), nous avons choisi une maille carrée de 50 m de côté.

3) Nous avons laissé coché l’option « Exporter la grille sous forme de polygone « .

4) Enfin, il faut indiquer le nom du fichier de forme (shapefile) qui va être créé.

5) [OK] => Le logiciel vous propose d’ajouter la couche à votre projet : [OK]

Et voilà ! Une bien belle grille toute colorée, il faut maintenant…

II) éliminer les mailles qui ne sont pas dans l’emprise grâce à l’outil fTools integré à Qgis (Vecteur > Outils de Recherche > Sélection par localisation) :

Note : cette étape n’est pas indispensable…sauf si vous voulez représenter aussi les mailles vides à l’intérieur de l »emprise…

 Menu_Outil_Selection_par_localisation

Selection_par_localisation

1) Dans la boîte de dialogue de l’outil Sélection par localisation, je cherche à sélectionner les mailles (shapefile  » Tuto_Grille_50_couche « ) qui sont contenues dans (qui intersectent) l’emprise (shapefile  » ET_Emprise « )

Resultat_selection_par_localisation

Supprimer_selection_table-_attributaire

2) Pour supprimer les mailles à l’extérieur de l’emprise, il suffit :

a) d’ouvrir la table attributaire : clic droit sur le shapefile  » Tuto_Grille_50_couche  » > Ouvrir la Table d’attributs

b) de rentrer en mode édition (bouton ou Ctrl+E)

c) d’inverser la sélection (bouton ou Ctrl+S)

d) de supprimer les entités sélectionnées (bouton ou Ctrl+D)

 Mailles_Intersectees

Enfin, il ne nous reste plus qu’à…

III) Calculer le nombre de Faits archéologiques par maille, grâce à l’outil fTools intégré à Qgis (Vecteur > Outils de gestion de données > Joindre les attributs par localisation) :

 Menu_Outil_Joindre_par_Localisation1) Vérifiez que toutes les couches et le projet sont dans le même système de coordonnées de référence : clic droit > définir le SCR

 Boîte de dialogue : Outil_Joindre_par_localisation

2) Dans la boîte de dialogue de l’outil Joindre les attributs par localisation, je cherche à joindre pour chaque maille (indiquez la couche vecteur= Tuto_Grille_50_couche) les attributs des points (Joindre la couche vecteur = Points_Aleatoires_TR), en l’occurrence la somme du nombre de Faits archéologiques :

3) Dans la partie Résumé de l’attribut, je coche donc Prendre un résumé des entités intersectées et je coche uniquement la case Somme.

4) J’indique le nom du shapefile qui va être créé.

5) Je choisi de ne garder que les mailles qui auront  » récupéré  » des valeurs en cochant Ne conserver que les enregistrements correspondants

6) [OK]

7) Parfois une fenêtre d’avertissement vous alerte sur la différence de SCR > [OK]

Dernière étape :

IV) Faire une classification des valeurs de maille :

1) Clic droit sur la couche nouvellement créée > Propriétés > Onglet Style

 Classification

2) Choisir une classification Graduée

3) sur la colonne COUNT

4) Avec une jolie palette de couleur (ici YlOrRd)

5) Ainsi que le nombre de classes (ici 3) et le type de classification (ici, ruptures naturelles (Jenks))

6) Bouton [Classer]

7) Par pur souci d’esthétique esthétisante nous avons choisi une contour blanc de 0,16 pour chaque classe : double clic sur chaque carreau de couleur > [Modification] > Couleur de bordure = blanc, Largeur de bordure = 0,16 > [OK]

8) [OK]

Voilà nous venons de réaliser une Analyse par maille, c’est quand même plus parlant qu’un semis de point, non ?

Bon d’accord le fait de partir d’un semis de points aléatoire ne donne pas les résultats les plus probants, mais je suis sûr que vous allez faire de jolies cartes… vous !

Publicités
Tagué , , , , ,

31 réflexions sur “Qgis: Analyse par maille 1 : Créer un maille carrée avec l’outil Grille vecteur

  1. TUFFERY dit :

    Bonjour Sylvain,
    Bravo pour ce mini-tutoriel pour QGis et ce exemple pertinent et pédagogique de l’intérêt d’une analyse des densités d’objets par mailles… sur un site archéologique qui s’y prête et avec une densité qui soit représentative de la réalité d’une occupation. Le risque est toujours grand que la densité restitue une densité de découvertes et non pas d’une densité d’occupation passée effective. Question sempiternelle en archéologie…
    Petite remarque au passage : au début de l’article je pense la notion d’échelle nécessite quelques explications. L’exemple illustré correspondrait plutôt à une « grande » échelle et non pas à une « petite » échelle. L’échelle est un rapport (une fraction) entre une distance graphique et une distance correspondante sur le terrain, le 1/25 000 étant habituellement considéré comme une grande échelle par rapport au 1/250 000 par exemple. Mais cela peut devenir aussi une petite échelle si l’échelle de travail habituelle est le 1/500. Cela mériterait peut-être d’être précisé, puisque l’archéologie et l’utilisation de l’analyse de densités par mailles peu s’appliquer à de petites surfaces sur une opération comme à de grandes surfaces à l’échelle régionale.
    Deux suggestions au passage : il serait intéressant de montrer l’influence de la taille de la maille sur la variabilité des densités calculées ainsi que de montrer les emboîtements possibles de cartes de densité par mailles à différentes échelles géographiques sur un même site.
    En espérant avoir été clair.
    Bonne continuation.

    • archeomatic dit :

      Bonjour Christophe et merci pour ton commentaire bien matinal…
      – Effectivement l’archéologue est toujours confronté au problème des vides archéologiques… c’est même tout l’enjeu du diagnostic archéologique: caractériser des occupations alors que l’on ne teste que 10% du terrain et c’est justement pour ça qu’il faut bien tenter, au travers de la représentation des vestiges mis au jour, de percevoir ceux qui ne l’ont pas été.
      – Même si je me trompe encore (je dois toujours connecter 2-3 neurones pour cela) sur la grandeur d’échelle, je parlais bien de l’intérêt de l’analyse par maille pour les petites échelles (Pour l’archéologue la grande échelle graphique c’est le 1/20e et l’étude régionale représente la petite échelle au 1/25000e et plus)… Je situe celle de mon exemple quasi-imaginaire, un diagnostic sur une « grande surface » + de 200ha, entre les 2. Je reprendrais cela dans l’article.
      – Enfin, comme tu as vu cet article s’appelle « Analyse par maille 1 », j’espère donc pouvoir trouver le temps de le compléter, j’ai quelques idées mais je retiens tes propositions qui sont pertinentes..
      Merci encore pour ta lecture détaillée de ce blog.
      Sylvain

  2. Yoann dit :

    Bonjour,

    Tout d’abord, merci pour votre article très bien expliqué et illustré, parfait pour un débutant comme moi dans QGIS.

    Malgré cela, j’ai un problème, peut être auriez vous une solution ?
    J’ai créé des maille comme indiqué dans votre tutoriel mais celle ci sont très serrées (2m) sur une étendue d’environ 1km². Elles quadrillent un site contenant plusieurs zones humides dispersées. Je souhaite éliminer les mailles qui ne sont pas dans ces zones. Mais au moment de l’étape d’inversion de la sélection, le logiciel ne répond plus, et je ne peux plus rien faire. Je suppose que le maillage est trop petit et donc trop lourd. En effet, il m’indique qu’il y a 213000 entités sélectionnées mais je ne peux les supprimer le logiciel ne répondant plus.

    Pouvez vous m’aider ? Existe-t-il une solution (à part augmenter la maille) ?

    En vous remerciant,

    Yoann

    • archeomatic dit :

      Salut Yoann,

      Si je comprends bien tu crées ta maille (ton carroyage) sur l’ensemble de la zone qui contient plusieurs polygones qui correspondent aux zones humides..?
      Don celle-ci est créée sans problème, puis la sélection par localisation fonctionne elle-aussi ?
      Enfin c’est quand tu tentes d’inverser la sélection que cela plante…

      => 213000 entités c’est beaucoup mais ce n’est pas une raison!!
      Essayes peut-être en créant un maillage par zone humide que tu regrouperas dans un seul shapefile après (il faut savoir que l’outil crée une maille en partant tu coin supérieur en haut à gauche)…. cela aura donc pour conséquence que les mailles ne seront peut être pas alignées mais ce n’est pas forcement un problème..

      => Ensuite tu devance un peu la suite de ce tuto… tu peux essayer avec l’extension QMarxan (via l’installateur d’extension et actuellement en version 0.92) celle-ci permet de faire un carroyage a partir de l’affichage de la carte ou de l’emprise d’un shape.. mais aussi de faire les calculs simples (comptage par ex) à l’intérieur de la maille avec une case a cocher pour ne travailler que sur les mailles sélectionnées…
      Tu verras c’est assez simple à comprendre…

      J’ai un tuto en cours sur QMarxan…

      Tiens moi au courant!

      • Yoann dit :

        Tu as bien compris.
        Le carroyage se crée tout de même très lentement (environ 2min d’attente) tout comme la localisation.

        J’essaye en ce moment de faire plusieurs carroyages par groupes de zones mais le temps d’attente est encore très long ou alors le logiciel ne répond plus (à l’étape d’inversion ou à celle de suppression).

        Par contre pour les regrouper, j’avais déjà essayé avec d’autres shapefiles mais je n’y arrivais pas. Tu n’aurais pas un tutoriel sur ça par hasard aussi ? (je suis vraiment mauvais on dirait…) ^^

        J’ai essayé avec Qmarxan et j’ai le même problème, il est très très long à charger.

        Peut être cela vient-il de mon système d’exploitation (vista) ? ou de la version de QGIS (1.7.4) ?

      • archeomatic dit :

        Effectivement j’ai essayé avec un carroyage de 258000 mailles et l’outil grille vecteur plante… alors que Qmarxan y arrive mais doucement….
        Par contre impossible pour moi de faire la sélection par localisation ??!!

        => La limitation logicielle ne devrait pas nous imposer notre échelle d’analyse mais on en arrive souvent là !…
        Dans mon essai avec 258000 carreaux, même si j’arrivais à ventiler mes données dans ceux-ci le résultat serait illisible… alors on revoit notre échelle d’analyse ?

        – Pour ce qui est de la version, je suis passé tout récemment en 1.8 et je ne pense pas que cela change grand chose

        – Pour la fusion de shapefiles cela se passe aussi dans le menu « Vecteur » > Outils de gestion de données > Fusionner des shapefiles en un seul
        – Clic sur la case à cocher « selectionner par couches dans le répertoire
        – Dans fichiers sources > Bouton « Parcourir » > Selectionner d’un coup tous les shapes à fusionner
        – Choisir un nom et un emplacement pour le fichier a créer
        – Clic sur la case à cocher « Ajouter le résultat… »
        ET voili voila!

        Note: J’ai essayé en creant une maille sur un polygone puis en supprimant les carreaux non-intersectés
        Puis même chose sur un autre polygone
        Et enfin fusion des shapefiles et cela fonctionne….

        Pa smieux pour le moment… désolé
        Courage

  3. Yoann dit :

    OK merci j’ai réussi à fusionner les shapefiles.
    Je vais procéder comme ça du coup. Ca prendra plus de temps que prévu mais au moins ça marche.

    Merci beaucoup pour l’aide et le tuto en tout cas !

    • archeomatic dit :

      De rien,
      je veux bien, dans la mesure du possible que tu me montres le résultat final…
      A+
      PS: la maille hexagonale que permet de créer l’extension QMarxan peut être une alternative intéressante au carroyage… Tuto à venir!

      • Yoann dit :

        Je peux te l’envoyer par mail si tu veux. A moins qu’il y ait moyen d’insérer une image ou un fichier ici ?

        Enfin là pour l’instant ya que les zones et le carroyage, je cherche un moyen de rentrer des pourcentages de végétation (du genre 20% de molinie, 10% de jonc…) dans chaque maille en les représentant par plusieurs couleurs. Le mieux serait de mettre une sorte de diagramme camembert dans chaque maille.

      • archeomatic dit :

        Des calendos sur chaque maille de 2m de côté cela risque d’être difficilement lisible!…
        Peut être qu’une carte par type de végétation avec dégradé de couleur selon le % serait plus lisible.
        Faudrait farfouiller dans les manuels de sémiologie graphique ou chercher des exemples comparables.
        Tu m’enverras un lien ou par mail ton résultat final.
        bon courage

  4. Bertrand Moulin dit :

    Bonjour Sylvain
    J’apprécie beaucoup ces tutos même si il faut sans cesse s’interroger sur l’origine de la donnée 😉 et sa diffusion. Une réflexion que j’ai aussi réalisé à la lecture de ton mémoire, avant la création d’une maille, il faudrait développé la réflexion sur la détermination de la taille de ta maille notamment à travers l’analyse des inter distances entre tes points… j’avoue que là, je reste un peu sur ma faim… j’aurai aussi plaisir à dialoguer autour du test R et du K de Ripley (il faut lire l’article à paraître de l’étudiante de Laure Saligny sur la robustesse et les hypothèses de ce test qui ne sont pas adaptées vraiment à notre situation…)… je pense que l’on aura l’occasion de se croiser…

    • archeomatic dit :

      merci bertrand,
      on aura j’espère le temps d’en reparler dans le détail..
      Comme d’hab je suis déjà critique sur le boulot à peine achevé… les critiques seront bienvenues pour une éventuelle future publication..
      a+

  5. Cyrille dit :

    Bonjour,
    J’ai utilisé une autre méthode pour compter les points.
    Je créé la grille.
    J’utilise ensuite Vecteurs | Outils d’analyse | Points dans un polygone.
    Cela crée une couche vecteur identique à la grille mais ayant dans les données attributaires un champ supplémentaire, par défaut nommé PNTCNT qui récapitule le nombre de ponctuels dans la grille mailles par mailles.

    • archeomatic dit :

      Super Cyrille,
      Merci pour le partage…
      Sinon, si je me rappelle bien, l’extension Qmarxan permet à la fois de faire le carroyage et les comptages!
      J’avais entamé un tuto qui est encore sur ma To Do List… promis, un jour viendra !

  6. Valentin G dit :

    Bonjour et merci pour ce tutoriel !

    • archeomatic dit :

      De rien ! les retours font toujours plaisir !
      n’hésitez pas a me montrer les résultats que vous avez obtenus grâce à ces méthodes… je suis preneur..
      bonne continuation.

  7. alainterieur dit :

    Bonjour,
    @Tuffery : en géographie et donc en géomatique, la notion d’échelle est inverse à celle que vous décrivez : une petite échelle représente un grand territoire (1/100 000° par exemple) et une grande échelle, un petit territoire (plan de masse au 1/500°).

  8. Romain dit :

    Bonjour,
    Merci pour ce bon tuto.
    J’ai une petite question subsidiaire : comment faire pour représenter en densité des résultats de comptages? Je m’explique : lors d’un comptage, j’associe à un point un nombre d’individus. Il faudrait donc que pour chaque point je ne compte plus 1 mais le nombre d’individus observé, variable d’un point à l’autre.
    Merci à+

    • archeomatic dit :

      Salut Romain,
      excuse moi je ne suis pas sur de comprendre: la table attributaire de tes points contient un champ avec le nombre d’individu, non (imaginons qu’il s’appelle INDIV)?
      Donc quand tu fais la jointure par localisation (joindre les attributs par localisation , paragraphe III), tu coches « prendre un résumé des entités intersectées » et tu coches « Somme »,…
      Ensuite tu fais ta classification sur le champ créé avec un nom de type SUMINDIV et non pas sur COUNT comme sur mon exemple…
      Je suis sur la bonne voie ?

  9. niva moohono dit :

    iaorana archéomatic

    super, je viens de faire un inventaire sur l’atoll de Taiaro, pour le Mab « man and bioshpere » (archipel des tuamotu) votre tutoriel m’a bien été utile

    maururu

    te na mai te aroha

    • archeomatic dit :

      bonjour collègue de la polynésie !!
      merci de ce retour encourageant et n’hésites pas a m’envoyer le résultat de ton travail que je regarderais avec grand plaisir..
      attention tout de même a ne pas faire la même erreur que moi dans le tutoriel: Il faut éviter, selon les règles de la sémiologie graphique, de représenter des quantités absolues par un dégradé de couleurs, et préférer des valeurs relatives (densité ou proportion par ex)..
      au plaisir d’avoir de tes nouvelles… j’attends l’invitation pour tuamotu 😉
      Sylvain

  10. GlaDal dit :

    Bonjour à tous !
    Pour faire suite à un commentaire de Bertrand M., j’aurais souhaité savoir comment faire  » l’analyse des inter distances entre des points » sous Qgis ?

    • archeomatic dit :

      Tout à fait cher « j’ai la dalle » 😉
      Et ne pas hésiter non plus à lire le guide du CERTU en lien sur la page et notamment la biblio (si mes souvenirs d’étudiant sont bons !)
      À +

  11. Julie dit :

    Bonjour,

    Merci pour ce tutoriel qui est présenté de manière très claire et détaillée, ce qui est parfait pour une débutante comme moi!
    J’ai créer la grille sans soucis mais lorsque je veux joindre les attributs par localisation (chapitre III), je rencontre un problème que je n’arrive pas à résoudre. En effet, lorsque je valide il m’indique que certains noms de champs de ma couche vecteur (extrait de la carte archéologique) font plus de 10 caractères de longueur. Or, j’ai vérifié et ce n’est pas le cas…

    Peut-être pourriez vous m’aider?
    Julie

  12. rozenn dit :

    Bon ben on attend toujours maille 2 le retour?!?
    Tu nous dis que l’analyse se fait suivant des octogones (si on coche bien la case!), seulement Qgis représente des carrés! Se serait possible qu’il nous dessine de beaux octogones!?
    A+

  13. xénia dit :

    Ia orana, merci pour le tuto !
    Je travaille sur le suivi d’un couvert végétal à Moorea. J’ai donc des zones denses et peu denses.
    – J’ai réussi à créer le maillage (pour caractériser en fonction des densités), mais dans la fenêtre « Grille vecteur » je ne parviens pas à avoir une longueur de carré inférieure à 10 m… Peut être cela provient de paramètres plus généraux ?
    – D’autre part lorsque je veux joindre les attributs par localisation j’ai également un message d’erreur quand je mets « somme », j’ai testé avec « moyenne » et ça a fonctionné mais ce n’est pas ce que je veux…

    Maururu

    • archeomatic dit :

      Salut Xénia,
      dur de te répondre comme ça, sans les données:

      1-pour la grille vecteur je n’ai jamais rencontré ce problème de carré inférieur à 10 m … dans quel système de projection travailles-tu ? est il bien en mètres (en métropole on travaille n lambert93 EPSG2154 donc l’unité est le mètre, est-ce que c’est ton cas?)

      2-Dans la jointure par localisation, c’est très bizarre ce qui t’arrive : pouvoir faire une moyenne mais pas une somme… quel est le type de ton champ (propriétés de la couche> onglet champ) ?
      Mais bon je viens de relire le tuto et il y a une manière beaucoup plus simple de faire la partie III avec dans le menu vecteur > Outil d’analyse > points dans polygone qui permet de compter directement le nombre de points dans chacun de tes carré… c’est beaucoup plus imple….

      Un jour je prendrais le temps de changer le tuto..

      dis-m’en plus !
      au plaisir de te lire

      Sylvain

  14. cyrille dit :

    Bonjour,
    2 pour le jointure, travaillez vous avec 2 shapes ayant la même projection ?
    Souvent sous Qgis, on active la projection à la volée.
    Je vous suggère de reprendre le projet et de travailler avec 2 shapes ayant une projection identique. (projection carto pas du WGS google par ex)

  15. C dit :

    Merci beaucoup

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :