Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
siglibres [2013/09/24 16:09]
glaroc [Exercice 2 - Tampons et analyses simples]
siglibres [2014/01/27 17:06]
glaroc [Introduction aux systèmes d'information géographique libres : QGIS and GRASS]
Line 1: Line 1:
 ====== Introduction aux systèmes d'​information géographique libres : QGIS and GRASS ====== ====== Introduction aux systèmes d'​information géographique libres : QGIS and GRASS ======
 +
 +**CETTE PAGE EST POUR UN ATELIER QUI N'EST PLUS OFFERT. [[introsig|ACCÉDEZ À LA VERSION COURANTE DE L'​ATELIER ICI]].**
  
  
Line 9: Line 11:
 ===== Présentation ===== ===== Présentation =====
  
-[[http://​prezi.com/​u9j9jyhcnkre/​introduction-aux-systemes-dinformation-geographique-libres-avec-qgis-et-grass/?kw=view-u9j9jyhcnkre&rc=ref-19631691|Lien vers la présentation Prezi]] +[[http://​prezi.com/​u9j9jyhcnkre/?​utm_campaign=share&utm_medium=copy|Lien vers la présentation Prezi]]
- +
-[[http://​prezi.com/​u9j9jyhcnkre/​present/?​auth_key=tay6ch1&​follow=ktr6emnemif_&​kw=present-u9j9jyhcnkre&​rc=ref-19631691|Lien vers la présentation Prezi simultanée]]+
  
 +[[http://​prezi.com/​u9j9jyhcnkre/​present/?​auth_key=41v2yjc&​follow=GuillaumeLarocque&​kw=present-u9j9jyhcnkre&​rc=ref-19631691|Lien vers la présentation Prezi simultanée]]
 ===== 1 - Installation de QGIS et GRASS ===== ===== 1 - Installation de QGIS et GRASS =====
  
-Quantum GIS 1.8.0 et GRASS 6.4.3 (ou 6.4.2) seront utilisés pour cet atelier. Veuillez vous assurer d'​avoir les logiciels proprement installés sur votre ordinateur avant l'​atelier. ​+Quantum GIS 2.0.1 et GRASS 6.4.3 (ou 6.4.2) seront utilisés pour cet atelier. Veuillez vous assurer d'​avoir les logiciels proprement installés sur votre ordinateur avant l'​atelier. ​
  
-Pour les utilisateurs de **Windows**. Installez simplement QGIS et GRASS avec le programme d'​installation OSGeo4W disponible ici:​[[http://​hub.qgis.org/projects/quantum-gis/wiki/Download#​OSGeo4W-Installer|OSGeo4W]]. ​+Pour les utilisateurs de **Windows**. Installez simplement QGIS et GRASS avec le programme d'​installation OSGeo4W disponible ici:​[[http://​qgis.org/​en/site/forusers/download.html|OSGeo4W]]. ​
  
-Pour les utilisateurs **Mac**: Les instructions pour installer QGIS et GRASS sur Max OS X sont disponibles ​ici: [[http://​www.kyngchaos.com/​software/​qgis|here]]. Vous devez installer GDAL et GRASS avant d'​installer QGIS. +Pour les utilisateurs **Mac**: Les instructions pour installer QGIS et GRASS sur Max OS X sont disponibles [[http://​www.kyngchaos.com/​software/​qgis|ici]]. Vous devez installer GDAL et GRASS avant d'​installer QGIS. 
  
 ++++ Instructions pour Mac OSX Leopard-->​ | ++++ Instructions pour Mac OSX Leopard-->​ |
Line 49: Line 50:
 ++++ ++++
  
-Pour les utlisateurs de **Linux**: Installez QGIS et GRASS selon [[http://www.qgis.org/wiki/Download#Linux|ces instructions.]] +Pour les utlisateurs de **Linux**: Installez QGIS et GRASS selon [[http://​qgis.org/​en/site/​forusers/​alldownloads.html#linux|ces instructions.]]
 ===== 2 - Ressources ===== ===== 2 - Ressources =====
  
Line 59: Line 59:
 ==== Quantum GIS ==== ==== Quantum GIS ====
  
-  * Le **guide d'​utilisation de QGIS 1.7** peut être téléchargé [[http://​download.osgeo.org/​qgis/​doc/​manual/​qgis-1.7.2_user_guide_fr.pdf|en français]]. Le guide en anglais est disponible en format [[http://docs.qgis.org/​pdf/​QGIS-1.8-UserGuide-en.pdf|PDF]] ou [[http://​docs.qgis.org/​html/​en/​docs/​user_manual/​index.html|HTML]] ​pour la version 1.8.+  * Le **guide d'​utilisation de QGIS 1.7** peut être téléchargé [[http://​download.osgeo.org/​qgis/​doc/​manual/​qgis-1.7.2_user_guide_fr.pdf|en français]]. Le guide en anglais est disponible en format [[http://​qgis.org/​en/​docs/​user_manual/​index.html|HTML]] ​2.0.
   * Accédez au [[http://​gis.stackexchange.com/​questions/​tagged/​qgis|GIS Stackexchange ]]   * Accédez au [[http://​gis.stackexchange.com/​questions/​tagged/​qgis|GIS Stackexchange ]]
   * Inscrivez-vous au **QGIS-User mailing list** [[http://​lists.osgeo.org/​mailman/​listinfo/​qgis-user|ici]]. ​   * Inscrivez-vous au **QGIS-User mailing list** [[http://​lists.osgeo.org/​mailman/​listinfo/​qgis-user|ici]]. ​
Line 66: Line 66:
   * [[http://​underdark.wordpress.com/​|Free and Open Source GIS Ramblings]]   * [[http://​underdark.wordpress.com/​|Free and Open Source GIS Ramblings]]
   * [[http://​quantumofgis.blogspot.co.at/​|A Quantum of GIS]]. A Summary of the QGIS developer mailing list and much more   * [[http://​quantumofgis.blogspot.co.at/​|A Quantum of GIS]]. A Summary of the QGIS developer mailing list and much more
- 
 ==== GRASS ===  ==== GRASS === 
  
Line 108: Line 107:
 **Objectif: Créez une carte sur laquelle on peut voir les deux forêts appartenant à l'​Université McGill dans l'​Ouest de l'île de Montréal: L'​Arboretum Morgan et la Réserve Molson. Faites une proposition d'​agrandissement de ces réserves et créez une carte sur laquelle apparaissent les réserves et les agrandissements.** ​ **Objectif: Créez une carte sur laquelle on peut voir les deux forêts appartenant à l'​Université McGill dans l'​Ouest de l'île de Montréal: L'​Arboretum Morgan et la Réserve Molson. Faites une proposition d'​agrandissement de ces réserves et créez une carte sur laquelle apparaissent les réserves et les agrandissements.** ​
  
-Étape 1: Activez le '​OpenLayers Plugin'​ dans les Extensions. Si ça ne fonctionne pas sur votre ordinateur, ajouter ce lien (nommez le OpenLayers) à la liste de dépots : http://​build.sourcepole.ch/​qgis/​plugins.xml , fermez les plugins Python et essayez '​activer à nouveau le plugin OpenLayers plugin 1.1.1+Étape 1: Activez le '​OpenLayers Plugin'​ dans les Extensions. ​
  
 Étape 2: Créez un fichier (avec Notepad sur Windows ou TextEdit sur Mac) dans un éditeur de texte (e.g. Notepad) et y copier le texte suivant: Étape 2: Créez un fichier (avec Notepad sur Windows ou TextEdit sur Mac) dans un éditeur de texte (e.g. Notepad) et y copier le texte suivant:
Line 120: Line 119:
 Étape 3: Ajoutez une couche '​Google Satellite'​ en utilisant l'​extension OpenLayers (>​Extensions>​OpenLayers). Notez que le SCR du canevas est maintenant '​Google Mercator'​ (WGS 84 / Pseudo mercator). Déplacez cette couche en dessous du canevas en cliquant-glissant le nom de la couche vers le bas dans la table des couches à gauche. ​ Étape 3: Ajoutez une couche '​Google Satellite'​ en utilisant l'​extension OpenLayers (>​Extensions>​OpenLayers). Notez que le SCR du canevas est maintenant '​Google Mercator'​ (WGS 84 / Pseudo mercator). Déplacez cette couche en dessous du canevas en cliquant-glissant le nom de la couche vers le bas dans la table des couches à gauche. ​
  
-Étape 4: Numérisez la Réserve Molson et l'​Arboretum Morgan. Vous devez d'​abord ajouter une nouvelle couche shapefile de type polygone (CRS NAD 83/UTM 18N) et ajouter une colonne pour le nom (Donnée Texte, largeur 80). Donnez à ce fichier shapefile un nom approprié (e.g. Reserves_McGill). Activer le mode édition (­>​Couche­­­­>​­Basculer en mode édition)­­­­­­­­­­ et numérisez les deux réserves en cliquant sur l'​icône {{:digitize.jpg|}}. Pour vous aider à numériser les deux réserves, utilisez les points que vous avez importés à partir du fichier CSV. Pour la réserve Molson, numérisez la forêt située entre le boulevard résidentiel (Boul Perrot) et l'​autoroute 20. Pour l'​Arboretum,​ numérisez la région boisée située autour du point central. L'​Arboretum fait approximativement 250 hectares. Ajoutez maintenant des polygones adjacents pour indiquer de quelle façon vous prévoyez étendre les réserves. Pour ce faire, il est important de sélectionner l'​option '​Éviter intersections'​ ('​Avoid int.) pour cette couche dans >​Préférences>​Options d'​accrochage.+Étape 4: Numérisez la Réserve Molson et l'​Arboretum Morgan. Vous devez d'​abord ajouter une nouvelle couche shapefile de type polygone (CRS NAD 83/UTM 18N) et ajouter une colonne pour le nom (Donnée Texte, largeur 80). Donnez à ce fichier shapefile un nom approprié (e.g. Reserves_McGill). Activer le mode édition (­>​Couche­­­­>​­Basculer en mode édition)­­­­­­­­­­ et numérisez les deux réserves en cliquant sur l'​icône {{::​capture_du_2013-09-25_10_58_40.png|}}. Pour vous aider à numériser les deux réserves, utilisez les points que vous avez importés à partir du fichier CSV. Pour la réserve Molson, numérisez la forêt située entre le boulevard résidentiel (Boul Perrot) et l'​autoroute 20. Pour l'​Arboretum,​ numérisez la région boisée située autour du point central. L'​Arboretum fait approximativement 250 hectares. Ajoutez maintenant des polygones adjacents pour indiquer de quelle façon vous prévoyez étendre les réserves. Pour ce faire, il est important de sélectionner l'​option '​Éviter intersections'​ ('​Avoid int.) pour cette couche dans >​Préférences>​Options d'​accrochage.
  
 Étape 5: Sortez du mode édition et sauvez cette couche. ​ Étape 5: Sortez du mode édition et sauvez cette couche. ​
Line 217: Line 216:
 Étape 6: Ajoutez la table '​BBS_Ovenbird_QC.csv'​ au canevas en utilisant '>​Couche>​Ajoutez une couche vecteur'​ et en listant tous les types de fichier (oui, cette étape est contre-intuitive!). ​ Étape 6: Ajoutez la table '​BBS_Ovenbird_QC.csv'​ au canevas en utilisant '>​Couche>​Ajoutez une couche vecteur'​ et en listant tous les types de fichier (oui, cette étape est contre-intuitive!). ​
  
-Étape 7: À partir du menu '​Propriétés de la couche'​ de la table du fichier '​BBS_Routes_QC.shp',​ trouvez l'​onglet Jointure et joignez la table BBS_Routes et BBS_Ovenbird_QC en utilisant la colonne partagée '​Route'​ (choisissez '​Route'​ pour les deux tables). Vous devriez maintenant voir le nombre d'​observation de parulines par année apparaître dans la table des attributs du fichier '​BBS_Routes_QC'​. ​+Étape 7: À partir du menu '​Propriétés de la couche'​ de la table du fichier '​BBS_Routes_QC.shp',​ trouvez l'​onglet Jointure et joignez la table BBS_Routes et BBS_Ovenbird_QC en utilisant la colonne partagée '​Route'​ (choisissez '​Route'​ pour les deux tables). Désélectionnez la case qui indique "​Mettre la couche en cache dans la mémoire virtuelle"​. Vous devriez maintenant voir le nombre d'​observation de parulines par année apparaître dans la table des attributs du fichier '​BBS_Routes_QC'​. ​
  
 Étape 8: Activez le mode édition et utilisez la '​Calculatrice de Champs'​ pour ajouter une nouvelle colonne (Nombre entier) à la table BBS_Routes qui contient la somme du nombre d'​oiseaux aperçus entre 1980-1994 et 1995-2010. Chaque champ doit être entré un à un (désolé!). Le type de colonne doit être '​Nombre entier'​ (longueur 10 ou plus). Les noms des colonnes doivent contenir moins de 10 caractères,​ doivent commencer par une lettre et ne doivent pas contenir d'​espaces ou de caractères spéciaux. ​ Étape 8: Activez le mode édition et utilisez la '​Calculatrice de Champs'​ pour ajouter une nouvelle colonne (Nombre entier) à la table BBS_Routes qui contient la somme du nombre d'​oiseaux aperçus entre 1980-1994 et 1995-2010. Chaque champ doit être entré un à un (désolé!). Le type de colonne doit être '​Nombre entier'​ (longueur 10 ou plus). Les noms des colonnes doivent contenir moins de 10 caractères,​ doivent commencer par une lettre et ne doivent pas contenir d'​espaces ou de caractères spéciaux. ​
Line 223: Line 222:
 Étape 9: Sauvez les changements et sortez du mode d'​édition. Notez que seul les nouveaux champs créés font vraiment partie du fichier BBS_Routes_QC. Les observations par année peuvent être enlevées en désactivant la jointure. ​ Étape 9: Sauvez les changements et sortez du mode d'​édition. Notez que seul les nouveaux champs créés font vraiment partie du fichier BBS_Routes_QC. Les observations par année peuvent être enlevées en désactivant la jointure. ​
  
-Étape 10: Assurez-vous que l'​extension GRASS est activée et que la barre d'​icônes GRASS est sélectionnée dans >​Vue>​Barre d'​outils. Cliquez sur l'​icône Nouveau jeu de données (New mapset) et définissez une nouvelle Géodatabase GRASS, un nouveau Secteur (donnez lui le nom Atelier2), choisissez le SCR Quebec Lambert (NAD83), spécifiez la région GRASS par défaut en fixant l'​emprise courante de QGIS et spécifiez un nom pour le Jeu de données (mapset). ​+Étape 10: Assurez-vous que l'​extension GRASS est activée et que la barre d'​icônes GRASS est sélectionnée dans >​Vue>​Barre d'​outils. Cliquez sur l'​icône Nouveau jeu de données (New mapset) et définissez une nouvelle Géodatabase GRASS, un nouveau Secteur (donnez lui le nom AtelierSIG), choisissez le SCR Quebec Lambert (NAD83), spécifiez la région GRASS par défaut en fixant l'​emprise courante de QGIS et spécifiez un nom pour le Jeu de données (mapset). ​
  
 Étape 11: Vous devez maintenant importer les fichiers dans GRASS. Cliquez sur '​Ouvrir les outils GRASS',​ cliquez sur '​Arborescence des modules'>'​Gestion des fichiers>​Importer dans GRASS>​Importer un vecteur dans GRASS'>​v.in.ogr.qgis. Sélectionnez le fichier BBS_Routes_QC.shp et spécifiez un nom pour le fichier de sortie. Ajouter le fichier GRASS nouvellement créé au canevas en cliquant sur l'​icône Ajouter une couche vectorielle GRASS. ​ Étape 11: Vous devez maintenant importer les fichiers dans GRASS. Cliquez sur '​Ouvrir les outils GRASS',​ cliquez sur '​Arborescence des modules'>'​Gestion des fichiers>​Importer dans GRASS>​Importer un vecteur dans GRASS'>​v.in.ogr.qgis. Sélectionnez le fichier BBS_Routes_QC.shp et spécifiez un nom pour le fichier de sortie. Ajouter le fichier GRASS nouvellement créé au canevas en cliquant sur l'​icône Ajouter une couche vectorielle GRASS. ​
Line 313: Line 312:
 </​file>​ </​file>​
  
 +Exemple de code dans R
 +
 +<​code>​
 +library(spgrass6)
 +library(rgdal)
 +initGRASS(gisBase='/​usr/​lib/​grass64',​gisDbase='/​home/​glaroc/​OSGIS/​Day 2/',​location='​31h05',​mapset='​landsat',​override=TRUE)
 +#Sous Windows, le chemin est du genre C:/GRASS/
 +
 +gmeta6()
 +elevp=readVECT6('​Elevation_points'​)
 +
 +RegHyd=readVECT6('​Region_hydrique'​)
 +#​Routes=readVECT6('​Routes'​)
 +execGRASS("​g.list",​type="​vect"​)
 +plot(RegHyd,​lwd=2,​col='​blue'​)
 +plot(elevp,​pch=19,​lwd=0.5,​col='​brown',​cex=0.5,​add=TRUE)
 +
 +</​code>​
 +
 +====== Utiliser PostGIS avec QGIS ======
 +
 +Téléchargez PostgreSQL [[http://​www.postgresql.org/​download/​|pour votre plate-forme]]. ​
 +
 +Suivez les instructions pour configurer Postgres sur votre ordinateur, incluant la création d'un utilisateur. Assurez-vous que l'​extension pour [[http://​postgis.net/​docs/​manual-2.1/​postgis_installation.html|PostGIS est installée]]. ​
 +
 +Créer une base de données qui peut accueillir des objets spatiaux. Remplacer my_spatial_db par le nom de la base de données désiré. Ce code doit être exécuté dans PostgreSQL. ​
 +<​file>​
 +CREATE DATABASE my_spatial_db TEMPLATE=template_postgis
 +</​file>​
 +
 +Pour importer des fichiers vectoriels dans la base de données, utilisez le plugin DBManager de QGIS.  Vous devez configurer une nouvelle connexion à une base de données en spécifiant les informations spécifiques à votre configuration de PostgreSQL.
 +
 +Type de requête possible: ​
 +<​file>​
 +SELECT avg(elevation) FROM elevation_points,​ section_vote_31h5_utm WHERE section_vote_31h5_utm.tri_cep= '​JACQUESCARTIER'​ AND ST_within(elevation_points.geom,​section_vote_31h5_utm.geom) ​
 +</​file>​
 +
 +Cette requête nous donnera l'​élévation moyenne pour tous les points d'​élévation situés dans le district Jacques-Cartier. ​
 +
 +Vous pouvez accéder à la [[http://​postgis.net/​docs/​manual-1.3/​ch06.html|liste des fonctions spécifiques à PostGIS ici.]]