Les exercices et les solutions



Documents pareils
PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

5 - SQL - Bases de données

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Débuter avec Quantum GIS 2.6

8 - Import-Export de données

LibreOffice Calc : introduction aux tableaux croisés dynamiques

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

SOMMAIRE. Travailler avec les requêtes... 3

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Dessiner dans Galaad FRANÇOIS PALLUT

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Prise en main du logiciel de SIG MapInfo

Un exemple avec WORKSPACE d'interwrite

Didacticiel du service cartographique en cache

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

BIRT (Business Intelligence and Reporting Tools)

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

Logiciel ArpentGIS-PC Guide de l utilisateur

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Au niveau central Manuel (01/10/2012) Projet de Renforcement du Programme de Prévention du VIH JICA Madagascar

Septembre 2011 Guillaume DOUCET Formateur en SIG depuis 5 générations

Parcours FOAD Formation EXCEL 2010

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Formation. Module WEB 4.1. Support de cours

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Guide d utilisation de fonctionnalités avancées de Beyond 20/20 (application à des données départementales issues de Sit@del2)

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

AMELIORATIONS DES FONCTIONNALITES DISPONIBLES

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

Manuel d utilisation de la base de données nationale sur la situation de l enfance en Tunisie CHILDINFO 6.0

Note de cours. Introduction à Excel 2007

Cours iguess. inotes v10.1

EXCEL TUTORIEL 2012/2013

AFTEC SIO 2. Christophe BOUTHIER Page 1

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Création d'un questionnaire (sondage)

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Formation Administrateur de Données Localisées (Prodige V3.2) Recherche et consultation des métadonnées

Créer une base de données

MANUEL TBI - STARBOARD

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

INFORM :: DEMARRAGE RAPIDE A service by KIS

MEDIAplus elearning. version 6.6

Si vous décidez d utiliser un autre chemin, c est ce nouveau chemin qu il faudra prendre en compte pour la sauvegarde. Cf. : Chapitre 9 Sauvegarde

Guide de démarrage rapide

Freeway 7. Nouvelles fonctionnalités

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Mémo d'utilisation de BD Dico1.6

ARCHIVES DEPARTEMENTALES DE L'EURE ALEXANDRIE

Excel 2007 Niveau 3 Page 1

CommandCenter Génération 4

Utilisation du visualiseur Avermedia

La Clé informatique. Formation Excel XP Aide-mémoire

Création de maquette web

Trier les ventes (sales order) avec Vtiger CRM

Formation > Développement > Internet > Réseaux > Matériel > Maintenance

Mise en scène d un modèle dans l espace 3D

Documentation Administrateur

Création de Sous-Formulaires

Aide mémoire SIG et Quantum GIS

Dans la série. présentés par le site FRAMASOFT

Didacticiel de mise à jour Web

Travaux pratiques avec RapidMiner

Fiches d aide à MapInfo

Administration du site (Back Office)

TABLEAU CROISE DYNAMIQUE

Réaliser un PUBLIPOSTAGE

Access 2007 FF Access FR FR Base

Réalisation de cartes vectorielles avec Word

MEMENTO D'UTILISATION Du T.N.I. SmartBoard (Version )

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Excel 2010 Intermediaire

Alfresco Guide Utilisateur

Utilisation du client de messagerie Thunderbird

MANUEL TBI - INTERWRITE

Cours Excel : les bases (bases, texte)

«Cimetières de France en ligne»

Introduction : Cadkey

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

Présentation du tableau blanc interactif Interwrite

Matérialiser les données d une BdD : créer une carte de densité de points par maillage

Guide d utilisation IPAB-ASSOCIATION v5.0 GUIDE D UTILISATION. à destination des associations et organismes sans but lucratif.

MODE OPÉRATOIRE : CIEL COMPTA

Comment bien démarrer avec. NetAirClub GUIDE ADMINISTRATEUR V1.5. Table des matières

Traitement des données avec Microsoft EXCEL 2010

Cours de D.A.O. Mécanique

Utilisation du logiciel Epson Easy Interactive Tools

Configuration et optimisation d'arcgis Server Gaëtan LAVENU ESRI France Sylvain BARD-MAÏER ESRI France

Guide pour la réalisation d'un document avec Open Office Writer 2.2

Module d échange de données INTERLIS v1.0 GeoConcept Manuel d'utilisation

De Mes à Télépac

Utilisation de l'outil «Open Office TEXTE»

Le générateur d'activités

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

CAP BOX Note utilisateurs

Université Ibn Zohr Excel Résume de cours

Utilisation du logiciel GALAAD

Transcription:

Les exercices et les solutions QGIS Perfectionnement version 2.1 6 février 2015

Table des matières I - Exercice : Exercice 1 : configuration 5 II - Exercice : Exercice 2 : Analyse thématique "symbole catégorisé" 7 III - Exercice : Exercice 3 : Analyse thématique "symbole gradué" 9 IV - Exercice : Exercice 4 : Analyse thématique "ensemble de règles" 11 V - Exercice : Exercice 5 : Extension ftools 13 VI - Exercice : Exercice 6 : sélections SQL avec DBManager 15 VII - Exercice : Exercice 7 : Requêtes et fonctions spatiales 19 VIII - Exercice : Exercice 8 : requêtes SQL avec QspatiaLite 21 IX - Exercice : Exercice 9 : PostGIS 25 X - Exercice : Exercice 11 : édition des données attributaires 27 XI - Exercice : Exercice 12 : Calculatrice de champ 29 XII - Exercice : exercice 13 - utiliser les actions dans QGIS 31 XIII - Exercice : Exercice 14 : étiquetage complexe 33 XIV - Exercice : Exercice 15 : numérisation 35 XV - Exercice : Exercice 16 : modeleur graphique 37 XVI - Exercice : Exercice 16bis plugin Group Stats 43 3

Exercice : Exercice 1 : configuration XVII - Exercice : Exercice 17 : analyse d'un MNT 47 XVIII - Exercice : Exercice 18 : Construire un VRT 49 XIX - Exercice : Exercice 19 : calcul de proximité Raster 51 XX - Exercice : Exercice 20 : GRASS 53 Ressources annexes 55 57 4 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

I Exercice : Exercice 1 : configuration I - Configuration de QGIS - paramétrages Objectif : Vérifier et modifier les paramètres des Préférences/options Question [Solution n 1 p 57] SCR Vérifier le SCR pour les nouveaux projets et pour les nouvelles couches Réseau Vérifier le Proxy Numérisation Modifier le contour d'édition à votre guise Modifier les marqueurs de sommet en «Cercle semi-transparent» avec une taille la plus petite possible et montrer les symboles uniquement pour les entités sélectionnées Charger une couche vectorielle de polygones, par exemple la couche ZONE_VEGETATION de la BD_TOPO Basculer la couche en mode édition, (menu Couches) Visualiser une zone sélectionnée (zoom important), puis une zone voisine. On peut ainsi constater l'ordre de stockage dans la table, les cercles des premiers enregistrements de la table deviennent des secteurs lorsque l'on sélectionne un polygone voisin stocké plus loin dans la table Image 1 Illustration du paramétrage des options numérisation 5

Exercice : Exercice 2 : Analyse thématique "symbole catégorisé" II - II Analyse thématique avec le rendu "symbole catégorisé" Objectif : Représenter les objets par catégorie et proportionnellement Question [Solution n 2 p 58] Représenter la couche ROUTE de la BD_TOPO (A_RESEAU ROUTIER), classée par nombre de voies et proportionnellement à la largeur. 7

Exercice : Exercice 2 : Analyse thématique "symbole catégorisé" Graphique 1 Exo2 - symbole catégorisé proportionnel à la largeur 8 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 3 : Analyse thématique "symbole gradué" III - III Analyse thématique avec le rendu "symbole gradué" Objectif : Représenter les objets par classe de valeurs et choisir le mode de discrétisation Question [Solution n 3 p 59] Représenter par classe de valeur (4 classes), la densité de la population par commune à l'aide de la couche COMMUNE_DENSITE sous le répertoire Divers et déterminer quel est le meilleur mode de discrétisation pour cette distribution (meilleure lecture de la carte). Justifier en quelques mots le choix du mode de discrétisation Indice : La densité est exprimée en nombre d'habitants par km², il s'agit d'une variable quantitative relative qu'il convient de discrétiser. Il faut donc observer la répartition des valeurs pour choisir la bonne méthode. Les valeurs s'étalent entre 10 et 207, on constate que les classes peuvent être significativement différentes et que les valeurs peuvent être relativement homogènes au sein d'une même classe. 9

Exercice : Exercice 4 : Analyse thématique "ensemble de règles" IV - IV Analyse thématique avec le Rendu "ensemble de règles" Objectif : Représenter les objets avec plusieurs modes de rendu Question [Solution n 4 p 60] A l'aide de la couche DIVCAD (dans le répertoire BD_PARCELLAIRE), représenter avec des styles différents 1. les sections du cadastre ancien ou rénové par voie de mise à jour, 2. les sections du cadastre rénové par voie de renouvellement ou par voie de réfection et classer ces sections par échelle de représentation. 3. les sections du cadastre rénové par voie de remembrement Sachant que : Pour le cadastre ancien, les sections sont toujours dénommées par une lettre simple A, B, C, D... Pour le cadastre rénové a. par voie de mise à jour une lettre simple A, B, C, D... b. par voie de renouvellement débute toujours par AB, AC, AD, AE...puis BC, BD, BE...etc. c. par voie de réfection débute toujours par AB, AC, AD, AE...puis BC, BD, BE...etc. d. par voie de remembrement ( à partir de 1942) : ZA, ZB, ZC... YA, YB, YC... XA..WA...VA...TA...etc. (le choix des lettres sur le plan est toujours faite à partir de ZA, puis en ordre alphabétique inverse) e. par voie de remaniement ( à partir de 1974) : AA, AB, AC...BA, BB, BC...CA, CB, CC... Spécification IGN : Lorsque le numéro de section ne comporte qu'un caractère (exemple : section «C» ou section «1»), la valeur sera préfixée d'un 0' (exemple : «0C» ou «01»). 11

Exercice : Exercice 4 : Analyse thématique "ensemble de règles" Image 2 Exo4 - ensemble de règles 12 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 5 : Extension ftools V - V Utilisation de 2 outils de l'extension ftools Objectif : mettre en oeuvre les outils Tampon et Ajout de colonnes de géométrie Question [Solution n 5 p 61] Créer une couche des parcelles dont tout ou partie de la surface est à moins de 100 m de la D323, en faisant apparaître dans la table d'attributs la surface totale de chaque parcelle. Utiliser les couches PARCELLE (BD PARCELLAIRE) et ROUTE (BD TOPO/A_RESEAU_ROUTIER). Indice : Pour réaliser ce traitement, les opérations suivantes sont à effectuer : Ouverture des couches ROUTE et PARCELLE Sélection attributaire des tronçons composant la D323 Création d'un tampon unique de 100m autour de l'axe de la D323 Sélection géographique des parcelles qui intersectent le tampon Ajout d'un champ SURFACE à la couche des parcelles sélectionnées (selon 2 méthodes) 13

Exercice : Exercice 6 : sélections SQL avec DBManager VI - VI Réaliser ses premières requêtes SQL avec DBManager sous QGIS en utilisant les tables de 'QGIS_perf_sandbox.sqlite' avec DBManager réaliser les requêtes suivantes : Question 1 [Solution n 6 p 74] Q1 : sélectionner tous les IRIS (table IRIS_extrait72) de la commune de LA FLECHE (colonne Nom_Com). nb : On fera attention à l'écriture FLECHE (LA) dans la table COMMUNE, avec deux espaces entre FLECHE et (LA). Indice : Utiliser la table iris_extrait72 et mettre une condition après la clause WHERE permettant d'indiquer qu'on se limite à la commune de la Flèche. Question 2 [Solution n 7 p 74] Q2 : sélectionner les communes du département de la Sarthe de plus de 1500 habitants en affichant un tableau avec les noms de communes et leur population. Indice : Utiliser la table commune, sélectionner les champs demandés (nom des communes et population) dans la clause SELECT. Mettre deux conditions 'département de la Sarthe' ET 'population de plus de 1500 habitants' dans la clause WHERE. Question 3 [Solution n 8 p 74] Q3 : sélectionner les communes de la table COMMUNE dont le statut n'est pas cheflieu de canton et afficher les colonnes NOM_COMM en lui donnant comme alias NOM et les colonnes, STATUT, POPULATION et SUPERFICIE Indice : On peut traduire le "n 'est pas" par l'utilisation de NOT 15

Exercice : Exercice 6 : sélections SQL avec DBManager Question 4 [Solution n 9 p 75] Q4 : sélectionner les différents noms des tronçons comportant le nom 'ruisseau' dans la colonne TOPONYME de la table TRONCON_HYDROGRAPHIQUE Indice : Utiliser la table troncon_hydrographique. On pourra utiliser LIKE pour indiquer que le nom de tronçon doit contenir la chaîne 'ruisseau'. Question 5 [Solution n 10 p 75] Q5 : à partir de la table COMMUNE, calculer pour chaque département ; la population totale, la densité moyenne de population des communes = moyenne(population commune /superficie commune) arrondie à deux décimales, la population de la commune la plus peuplée et celle de la moins peuplée, la superficie moyenne des communes. Indice : Le résultat doit être : exo6 - question 4 on cherche des sommes, moyennes,...par département il faut donc utiliser un GROUP BY (agrégation) avec comme critère le nom de département (NOM_DEPT). Qui dit agrégation implique automatiquement l'utilisation de fonctions d'agrégation...on utilisera les fonctions d'agrégation donnant la somme, la moyenne, le maximum et le minimum. Question 6 [Solution n 11 p 75] Q6 : quels sont les surfaces (en km2) et périmètres (en km), arrondis à deux chiffres après la virgule, des communes du département de la Sarthe? Indice : trouver la fonction géométrique qui renvoie une aire, et celle qui renvoie un périmètre. Ces fonctions ne prennent pas de paramètres d'unités, il faut donc faire la conversion soit même par une division. nb : pour spatialite on fera attention à ne pas utiliser length() qui renvoi la longueur d'une chaîne de caractères. Dans les dernières versions on utilisera la même fonction que sous PostGIS pour renvoyer le périmètre. Question 7 [Solution n 12 p 75] Q7 : sélectionner le nombre de tronçons de la 'rivière le loir', par classe de largeur (colonne LARGEUR) Indice : Il faut 'compter' le nombre de tronçons, donc utiliser une agrégation avec la fonction d'agrégation qui permet de compter. 16 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 6 : sélections SQL avec DBManager il y a 3 tronçons dans la classe 0 à 15 mètres et 29 dans la classe plus de 50 mètres. Question 8 [Solution n 13 p 76] Q8 : quelle est la longueur de la 'rivière le loir' par type de largeur sur ce jeu de données? Indice : Il faut partir de la requête précédente et ajouter une colonne qui va calculer la somme de la longueur des tronçons... on utilisera la fonction st_length qui donne la longueur d'un objet linéaire. 17

Exercice : Exercice 7 : Requêtes et fonctions spatiales VII - VII Réaliser des requêtes et fonctions spatiales Objectif : En utilisant les tables de 'QGIS_perf_sandbox.sqlite' réaliser les 4 requêtes suivantes Question 1 [Solution n 14 p 76] Q1 : quels sont les ponctuels hydrographiques de la commune de La Flèche? Indice : On utilisera les tables PONCTUEL_HYDROGRAPHIQUE et COMMUNE... trouver la relation géométrique entre PONCTUEL_HYDROGRAPHIQUE.Geometry et COMMUNE.Geometry. Question 2 [Solution n 15 p 76] Q2 : quelle est la longueur de la 'rivière le loir' dans chacune des communes intersectées par le cours d'eau? résultat à obtenir : résultat exo7 question 2 19

Exercice : Exercice 7 : Requêtes et fonctions spatiales Indice : Chaque commune peut contenir plusieurs tronçons, il faut donc calculer la somme des longueurs des tronçons pour chaque commune... donc utiliser un GROUP BY et une fonction sum(). On utilisera la fonction ST_Length() pour obtenir la longueur de chaque tronçon. Il faut également tenir compte que certains tronçons sont à cheval sur plusieurs communes, et donc ne prendre en compte que la longueur des tronçons qui sont à l'intérieur de chaque commune pour ce faire on utilisera st_intersection(a.geom, b.geom) qui permet de récupérer la géométrie de l'objet a qui intersecte celle de l'objet b. Question 3 [Solution n 16 p 77] Q3 : sélectionner les 'ponctuels hydrographiques' qui sont à moins de 5 km d'un établissement d'enseignement (couche ETABLISSEMENT) Indice : On pourra utiliser une fonction st_distance() ou une fonction st_buffer() associée à un opérateur de type st_contains() ou st_intersects(). Question 4 [Solution n 17 p 78] Q4 : Quel est l'établissement le plus proche du centroide de la commune de la Flèche? On utilisera les coordonnées X_COMMUNE et Y_COMMUNE et la fonction st_makepoint() ou Makepoint() sous spatialite ou encore st_point() qui est un alias de Makepoint(). Le SRID (Identifiant du Système de Référence Spatial) est 2154, mais on pourra le cas échéant généraliser la requête à tout SRID en utilisant la fonction srid() qui récupère le srid d'une géométrie. Indice : utiliser la fonction distance(), ORDER BY pour trier et LIMIT 1 pour prendre le 1er objet renvoyé. Une requête de type SELECT nom_comm, srid(geometry) AS SRID, MakePoint(X_COMMUNE, Y_COMMUNE, srid(geometry)) AS Geometry FROM commune WHERE commune.nom_comm = 'LA FLECHE' retourne des points au centroide calculé à partir des coordonnées X_COMMUNE, Y COMMUNE. 20 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 8 : requêtes SQL avec QspatiaLite VIII - VIII Réaliser des requêtes SQL avec QspatiaLite Objectif : créer une nouvelle base avec QspatiaLite et réaliser des requêtes SQL Question 1 [Solution n 18 p 78] Q1 : Charger les couches suivantes dans QGIS : BD_TOPO/I_ZONE_ACTIVITE/PAI_SANTE.SHP /BD_TOPO/H_ADMINISTRATIF/COMMUNE.SHP /BD_TOPO/E_BATI/BATI_INDUSTRIEL.SHP /BD_TOPO/F_VEGETATION/ZONE_VEGETATION.SHP avec QspatiaLite créer une nouvelle base de nom BDTOPO72 Importer toutes les couches chargées sous QGIS en EPSG 2154 (Lambert 93). Créer une nouvelle couche BATI_INDUSTRIEL10 et la charger dans QGIS en sélectionnant dans la table BATI_INDUSTRIEL les 'Bâtiment industriel' (attention à la majuscule!) dont la hauteur est d'au moins 10 m Indice : La table résultat doit contenir 8 enregistrements. Question 2 [Solution n 19 p 78] Q2 : Afficher dans la fenêtre 'Result' de QspatiaLite les 'Forêt fermée de conifères' de la commune de La Flèche. Ne pas oubliez de mettre une condition de jointure entre les deux couches... qui devra être ici spatiale. La table résultat doit contenir 55 enregistrements. Question 3 [Solution n 20 p 78] Q3 : Plus difficile... Calculer la somme des surfaces des 'Forêt fermée de feuillus' de la commune de la Flèche en ha (1ha = 10 000 m2), en faisant attention à ne prendre en compte que les parties de surfaces des polygones réellement situées à l'intérieur de la commune. 21

Exercice : Exercice 8 : requêtes SQL avec QspatiaLite attention aux limites des polygones Ainsi dans l'exemple ci-dessus il ne faut prendre en compte que la partie du polygone jaune qui est à l'intérieur de la commune de la Flèche... on pourra penser à la fonction st_intersection() qui retourne un objet géométrique intersection de deux objets...le résultat est 565 ha Question 4 [Solution n 21 p 79] Q4 : Construire une nouvelle couche dans QGIS (non graphique) de nom ETABLIS_PLUS_PROCHE qui pour chaque établissement hospitalier de la couche PAI_SANTE donne l'identifiant (ID) de l'établissement industriel de la couche BATI_INDUSTRIEL le plus proche, ainsi que la distance ATTENTION : Cet exercice fait appel pour sa solution à l'utilisation d'une sousrequête1, il peut être jugé complexe, dans ce cas essayez de comprendre la solution. Son objectif est de montrer la puissance du SQL pour la résolution de problèmes parfois complexes... Le résultat est : exo8 Q4 résultat 1 - http://sqlpro.developpez.com/cours/sqlaz/sousrequetes/ 22 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 8 : requêtes SQL avec QspatiaLite Indices : Il est conseillé de décomposer un problème complexe en problèmes plus simples pour arriver à la solution... On pourra dans un premier temps construire une table qui donne les distances de tous les établissements industriels de la couche BATI_INDUSTRIEL pour chaque établissement hospitalier. Il faut pour cela utiliser les deux tables PAI_SANTE et BATI_INDUSTRIEL. On notera qu'on ne peut donner une condition de jointure, ni attributaire (pas de champ commun), ni géographique (les objets ne se superposent pas). Dans ce cas on peut construire le produit des deux tables (produit cartésien) sans condition (ce que n'autorise pas MapInfo). SELECT * FROM "Pai_SANTE","BATI_INDUSTRIEL" Il reste à ajouter la colonne donnant les distances. ATTENTION : Faire un produit cartésien sur deux tables sans condition de jointure doit être réservé à des tables de petite dimension. nb : Pour éviter de faire le produit cartésien complet, on pourrait penser à utiliser sous PostGIS la fonction ST_DWithin() avec un rayon de recherche maximum, fonction qui est disponible que dans spatialite 4.0 sous le nom de PtDistWithin(). La table précédent peut nous donner accès pour chaque PAI_SANTE à la distance minimum de l'établissement le plus proche avec un GROUP BY SELECT PAI_SANTE.ID, min(st_distance(pai_sante.geometry, BATI_INDUSTRIEL.Geometry)) AS distance_min from PAI_SANTE,BATI_INDUSTRIEL GROUP BY PAI_SANTE.ID On pourrait penser à demander dans le tableau BATI_INDUSTRIEL.ID... mais le résultat serait faux, car il ne faut pas oublier lorsqu'on utilise un GROUP BY que chaque colonne en sortie (dans la clause SELECT) doit être, soit le critère de rupture (celui du GROUP BY), soit être le résultat d'une fonction d'agrégation... (sous PostGIS vous aurez d'ailleurs un message du type ERREUR : la colonne "bati_industriel.id" doit apparaître dans la clause GROUP BY ou être utilisée dans une fonction d'agrégation Spatialite est plus tolérant, mais il vaut mieux prendre les bonnes habitudes! Nous voila donc avec le tableau suivant : résultat sous-selection Il faut maintenant trouver les couples (PAI_SANTE.ID BATI_INDUSTRIEL.ID) pour lesquels la distance est l'une ou l'autre des distances de la table précédente... autrement dit exécuter une requête du type SELECT...st_distance(...) as distance FROM PAI_SANTE, BATI_INDUSTRIEL WHERE distance IN (... résultat de la requête donnant les deux distances minimum) 23

Exercice : Exercice 9 : PostGIS IX - IX Utilisation de PostGIS objectif :Importer des données dans PostGIS et visualiser une partie des données dans QGIS en réalisant une requête de filtrage. Question [Solution n 22 p 79] Importer le fichier shape ROUTE_XY (répertoire Divers) dans PostGIS en utilisant l'extension SPIT, puis, Dans la table ROUTE_XY, sélectionner les tronçons de route appartenant à la D323 en utilisant le constructeur de requête de QGIS pour n'ouvrir que cette route dans QGIS. nb : Choisir UTF-8 comme encodage des caractères. Importer le fichier shape COMMUNE_DENSITE dans PostGIS à partir d'un glissé-lâché depuis le navigateur de QGIS. 25

Exercice : Exercice 11 : édition des données attributaires X - X Mise en œuvre des outils d'édition des données attributaires Objectif : créer de nouveaux champs et mettre en œuvre les outils d'édition pour aider à la saisie. Question [Solution n 23 p 83] A partir de la couche BATI_REMARQUABLE de la BD_TOPO/E_BATI, créer une couche BATI_REMARQUABLE_72 que l'on sauvegardera dans son répertoire de travail. L'objectif est d'enrichir les attributs existants avec de nouvelles données, tout en empêchant la modification de l'identifiant existant (champ ID). Dans cette couche nouvellement créée, ajouter trois champs : NOM_USUEL : destiné à saisir le nom usuel du bâtiment (château de..., église Saint-..., Chapelle de..., stade municipale de..., etc.) ; PHOTOS : dans lequel on saisira le chemin et le nom du fichier JPEG de la photo du bâtiment (quelques photos sont disponibles dans le répertoire PHOTOS) et qui permettra d'afficher la photo dans le formulaire ; PROPRIETE dans lequel il est prévu de saisir soit "Public" soit "Privé". De plus, le champ existant NATURE sera modifié pour que l'outil d'édition soit du type "Classification" (ne pas oublier au préalable de styliser la couche sur ce champ NATURE en utilisant le style "Catégorisé"). Outre la création des nouveaux champs, il est demandé de proposer de modifier les outils d'édition des champs (nouveaux et existants) pour les rendre compatibles avec les objectifs de cette couche. 27

Exercice : Exercice 12 : Calculatrice de champ XI - XI Utiliser la calculatrice sur de nouveaux champs Objectif : rajouter deux champs à une couche vectorielle et calculer automatiquement leur valeur Question [Solution n 24 p 86] Dans la couche COMMUNES de la BD TOPO (répertoire H_ADMINISTRATIF), rajouter deux champs : un champ SURFACE qui donnera la superficie de la commune en hectares (sans décimale) à partir des fonctions géométriques ; un champ DENSITE qui permettra d'obtenir le nombre d'habitants au km² pour chaque commune (également sans décimale). 29

Exercice : exercice 13 - utiliser les actions dans QGIS XII - XII Découvrir et utiliser des actions courantes dans QGIS Objectif : mettre en œuvre quelques actions dans QGIS sur deux couches vectorielles Question [Solution n 25 p 90] Créer une nouvelle carte avec les couches COMMUNE et ROUTE de la BD TOPO. Les actions suivantes doivent être mises en oeuvre : sur les deux couches, ouvrir une application externe : PhotoFiltre (qui doit être disponible sur tous les postes de travail, sinon en trouver une autre...) ; sur la couche COMMUNES, ouvrir un document pré-existant dans une application externe : ces documents sont de type PDF, ils sont dénommés nom_de_la_commune.pdf et disponibles dans le répertoire COMMUNES_WIKI de votre répertoire de travail _COUCHES_FOAD : vérifier l'ouverture effective du fichier PDF concernant la commune en cliquant à l'intérieur de chacune d'entre elles ; sur la couche COMMUNES, ouvrir une page web à partir du nom de la commune et envoyant sur l'article de wikipedia (site http://fr.wikipedia.fr ) concernant cette commune (aller vérifier au préalable sur le site comment est composée l'url renvoyant vers l'article d'une commune). sur la couche ROUTE, afficher la valeur d'un champ d'une couche active pour le champ NATURE ; sur la couche ROUTE, afficher les coordonnées X et Y d'un point : afficher les coordonnées du point se trouvant à l'intersection de la route D323 et les limites des communes de La Flèche et de Clermont-Créans ( faire une copie d'écran de la fenêtre résultat) Indice : Pour rajouter une action : sélectionner la couche concernée dans le gestionnaire de couche ; ouvrir la fenêtre des propriétés de la couche et sélectionner l'onglet "Actions". Il est possible de : créer une action à partir de zéro dans la partie inférieure de la fenêtre ; ou de "Ajouter les actions par défaut" en cliquant sur le bouton siiué à droite sous la partie supérieure. Il est conseillé d'utiliser cette seconde solution qui permet de disposer ainsi de plusieurs modèles d'action. 31

Exercice : exercice 13 - utiliser les actions dans QGIS 32 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 14 : étiquetage complexe XIII - XIII Étiquettes multilignes et conditionnelles Objectif : créer des étiquettes respectant une mise en forme sur plusieurs lignes et des conditions d'affichage Question [Solution n 26 p 94] A partir de la couche ZONE_OCCUPATION_SOL de la BD CARTO/HABILLAGE, étiqueter : uniquement les polygones identifiés comme "forêt" ou "eau libre" et : dont la surface dépasse les 100 hectares pour les forêts ; dont la surface dépasse les 50 hectares pour les plans d'eau ; avec la mise en forme suivante (on donnera la surface sans décimale) : Forêt ou Plan d'eau Surf. = xx ha Indice : Créer une carte avec la couche des zones d'occupation du sol et pour qu'elle soit plus lisible, appliquer un style "Catégorisé" qui permettra notamment de distinguer les forêts (NATURE = Forêt) et les plans d'eau (NATURE = Eau libre) ; Après avoir sélectionné la couche, lancer la commande d'étiquetage (Rappel : pas d'étiquetage à partir des propriétés de la couche) ; Cocher la case "Étiqueter cette couche avec" et cliquer sur le bouton [...] situé à droite ; la formule utilisera la séquence : CASE WHEN (condition sur la forêt) THEN (étiquette de la forêt) WHEN (condition sur l'eau libre) THEN (étiquette de l'eau libre) END 33

Exercice : Exercice 15 : numérisation XIV - XIV Mise en oeuvre des outils de numérisation et de numérisation avancée Objectif : procéder à des modifications du fichier proposé en utilisant les barres d'outils de Numérisation et de numérisation avancée de QGIS. Pour agrandir l'animation, cliquer sur la loupe située sous l'image à côté de "énoncé" Remarques : Cet exercice utilise un fichier du zonage fictif du plan de prévention des risques de la commune de La Flèche. Ces données ont été créées pour l'exercice et ne reflètent nullement la réalité du terrain. Question 1 [Solution n 27 p 96] Q1 Ouvrir les tables ZonagePPRI_LaFleche (répertoire Divers) et COMMUNE.shp de la BD TOPO Créer un shapefile «ZI_complement.shp» encodage UTF 8, Projection RGF Lambert 93 EPSG 2154, Objet de type Polygone, Structure : 2 attributs : COMMUNE Car taille 80 et DEGRE Car 80 Numériser dans cette table l'objet 1 en évitant les intersections avec le ZonagePPRI_LaFleche existant et en accrochant les nœuds de la couche COMMUNE (les numérotations du type "objet1" se réfèrent à l'animation située en tête de cet exercice) «( penser au paramétrage Préférences>Options>Numérisation et revoir l'exemple éviter les intersections)» Renseigner les attributs : COMMUNE : LA FLECHE DEGRE : «ZI faible naturelle» Respecter la Casse Sauvegarder la table. Copier ce nouvel objet dans la table ZonagePPRI_LaFleche Toutes les questions suivantes portent sur les objets du fichier ZonagePPRI_LaFleche.shp Question 2 [Solution n 28 p 102] Q2 : Supprimer l'anneau 2 de la table ZonagePPRI_LaFleche.shp 35

Exercice : Exercice 15 : numérisation Question 3 [Solution n 29 p 102] Q3 : Modifier l'objet pour remplir la zone 3 entre la limite communale et l'objet existant. Question 4 [Solution n 30 p 103] Q4 : Supprimer uniquement l'objet 4. Question 5 [Solution n 31 p 104] Q5 : Supprimer la portion de zonage en dehors des limites communales. Question 6 [Solution n 32 p 104] Q6 : Simplifier l'objet pour que le rendu soit similaire aux autres zonages de la table. Question 7 [Solution n 33 p 105] Q7 : Créer un nouvel objet de type «ZI faible naturelle» entre l'objet existant et la limite communale en évitant les intersections avec l'objet existant du ZonagePPRI_LaFleche et la commune de Clermont-Créans Astuce : pour numériser avec un polygone adjacent, il faut numériser la zone avec une couche ne comportant pas de polygone sous cette zone, voir l'article sur géoinformations QGIS : Numérisation avancée 2 Question 8 Q8 : Assembler en un seul objet les objets dont l'attribut naturelle" [Solution n 34 p 106] DEGRE="ZI forte 2 - http://www.geoinformations.developpement-durable.gouv.fr/qgis-numerisation-avancee-a2912.html 36 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 16 : modeleur graphique XV - XV Utilisation de l'outil Modeleur graphique Dans l'optique d'optimiser les réactions en cas d'inondations, le quartier de Verron, dans la commune de la Flèche, désire repérer les ponts et les voies à proximité des cours d'eau. Question [Solution n 35 p 107] L'idée générale est de découper les tronçons de routes proches de la rivière, au sein du quartier considéré. Dans QGIS, ouvrir les couches suivantes : TRONCON_HYDROGRAPHIQUE.shp (couche vectorielle des cours d'eau) (répertoire BDCARTO/HYDROGRAPHIE) IRIS_extrait72.shp (couche vectorielle des quartiers) (répertoire Contours_Iris/carto) ROUTE.shp (couche vectorielle des routes) (répertoire BDTOPO/A_RESEAU_ROUTIER) Repérer visuellement le quartier de Verron (IRIS_extrait72.shp), et les cours d'eau qui le parcourent (TRONCON_HYDROGRAPHIQUE.shp) On observe (au travers de la table attributaire de TRONCON_HYDROGRAPHIQUE), que tous les cours d'eau de ce quartier ont une largeur de 0 à 15m. Cette largeur sera le seul critère que l'on gardera pour la suite de l'exercice : L'objectif est la compréhension de l'outil et non l'établissement d'une liste exhaustive des caractéristiques à prendre en compte pour barrer les routes en cas d'inondation (altitudes relatives, largeur des routes, pentes, écoulements...). Créer un modèle qui aura pour objectifs : d'affecter la largeur de 15m aux rivières, de conserver ensuite les zones «à risque» pour le quartier considéré. de croiser les routes aux 15m de rivières. Organiser enfin le résultat du modèle (en rouge sur l'image ci-dessous), pour observer les portions de routes directement à risque, en cas d'inondation. 37

Exercice : Exercice 16 : modeleur graphique Indice : Lancer le SEXTANTE MODELER : Dans la partie haute du modeleur, rentrer le nom du modèle : [Enter model name here] : Routes à barrer [Enter group name here] : Inondations Puis appuyer sur le bouton Sauvegarder et donner un nom de fichier au modèle (exemple : route_barr.model) Ajouter les rivières : Dans la partie de Gauche (Entrées), double-cliquer sur Vector layer : parameter name : hydro (entrer un nom évocateur permet de mieux retrouver les couches lors du lancement de l'outil) shape type : line (spécifier le type, ne listera que les couches de lignes lors du lancement de l'outil) required : no (spécifier la présence de la couche dans QGIS ou non est optionnel) 38 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 16 : modeleur graphique Rétablir la largeur théorique des rivières : Dans la partie de gauche (Algorithmes cette fois), recherchez QGIS geoalgorithms/ Vector geometry tools/ Fixed distance buffer (zone tampon fixe), puis double-cliquer sur l'outil : (Il est possible de rechercher l'outil avec la zone de recherche (search...) au dessus des outils). Input layer : hydro (votre seul choix, puisque la seule couche présente dans le modèle) Distance : 7,5 (ce qui affectera une distance de 15 m aux rivières) Dissolve result : Yes (ne crée qu'une seule entité au tampon/buffer. Buffer <OutputVector> : Laisser vide (ceci aura pour effet de ne pas conserver la couche après le traitement général) Cliquer sur OK. Ajouter la zone de travail et découper les rivières selon cette zone : Double-cliquer sur Vector layer dans la partie Entrées, pour ajouter la zone de travail : parameter name : zone shape type : polygon required : no Dans Algorithmes, QGIS geoalgorithms/ Vector Overlay tools, double-cliquer sur Clip (Découper) : Input layer : Buffer from algorithm0 (Fixed distance buffer : résultat du traitement précédent) Clip layer : zone (zone de découpage) Clipped <OutputVector> : Laisser vide Ajouter les routes et conserver les tronçons présents dans les 15m des rivières : Double-cliquer sur Vector layer dans la partie Entrées, pour ajouter les routes : parameter name : route shape type : line required : no Dans Algorithmes, QGIS geoalgorithms/ Vector Overlay tools, double-cliquez sur Clip (Découper) : Input layer : route Clip layer : Clipped from algorithm1 (résultat du traitement précédent) Clipped <OutputVector> : ponts et zones à risque 39

Exercice : Exercice 16 : modeleur graphique modeleur exercice Enregistrer le modèle et fermer. Une étape sur la carte reste à réaliser ; en effet, dans le modèle, la «zone» considérée doit correspondre au quartier de Verron. Afin de ne considérer que ce quartier lors du lancement de l'outil (et pour éviter de devoir créer une couche temporaire ne contenant que le quartier), sélectionner sur la couche IRIS_extrait72, le quartier Verron (colonne Nom_IRIS). 40 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 16 : modeleur graphique Lancer le modèle : Dans la boîte à outils de traitements, parcourir l'arborescence jusqu'au modèle créé (Models / inondations / routes à barrer, et double-cliquer dessus ; renseigner les champs demandés et lancer l'outil : Cliquer sur OK pour lancer les traitements. Une entité est sélectionnée dans IRIS_extrait72 ; le traitement (découpage) concerné par cette couche ne prendra en compte QUE la sélection. Attention : Plus généralement, il faut être vigilant aux sélections déjà réalisées avant de lancer un traitement : ce dernier prend en compte uniquement la sélection active! Conclusion La création d'un modèle lorsque l'on a plusieurs algorithmes à lancer apporte de nombreux avantages : Disposer d'un aperçu général de tous les traitements, ce qui est plus pratique à manipuler en cas d'erreur dans le traitement ; Le changement d'un paramètre d'un des algorithmes (exemple : la largeur des rivières) ne nécessite pas de relancer tous les traitements suivants un par un ; Relancer le modèle de traitement pour une autre zone considérée est aussi facilité. 41

Exercice : Exercice 16bis plugin Group Stats XVI - XVI Exercice 16bis Utilisation du plugin Group Stats Objectif : Mettre en œuvre une extension pour fusionner des données attributaires. Question [Solution n 36 p 107] Regrouper les communes par canton, et ainsi déterminer la population concernée dans chaque département. Indice : Vérifier les extensions activées et en particulier l'extension Plugin Installer. Vérifier la présence du dépôt officiel des extensions QGIS dans l'onglet Paramètres du Gestionnaire d'extensions, en cas d'absence l'ajouter avec l'url http://plugins.qgis.org/plugins/plugins.xml. Le statut de ce dépôt doit être «connecté», sinon, vérifiez vos paramètres de connexion Internet. Installer ou réinstaller le plugin Group Stats qui permet de réaliser des opérations de regroupements sur les champs selon des critères définis. Une fois installée, l'extension Group Stats est disponible depuis le menu Vecteur. 43

Exercice : Exercice 16bis plugin Group Stats Interface du plugin Group Stats Ouvrir la couche \BD_CARTO\ADMINISTRATIF\COMMUNE.SHP Nous souhaitons regrouper les communes par leur canton d'appartenance. Pour cela l'outil Regrouper, du menu Vecteur / Outil de géotraitement, permet de réaliser l'opération simplement. Fusion des communes par cantons Réaliser une fusion des communes et créer ainsi la couche \_STAGIAIRE\cantons.shp en utilisant l'outil regrouper, sur le champ INSEE_CANT. On remarque que les attributs de la nouvelle couche créée sont erronés (cf. le champ POPULATION qui contient la première valeur rencontrée par l'outil Regrouper). 44 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Exercice : Exercice 16bis plugin Group Stats Remarque : L'outil ne permet de regrouper qu'un seul attribut. Nous choisissons la population, car la superficie s'ajoute aisément à l'aide de l'outil Vecteur / Outils de géométrie / Exporter / Ajouter des colonnes de géométries. L'outil Regrouper ne permet pas de regrouper les attributs, mais uniquement les entités. Fusion des attributs des communes par cantons A partir de la couche COMMUNE.shp, utiliser l'extension GroupStats pour créer une table qui contiendra les champs INSEE_CANT et POPULATION (somme de la population par canton). Mise à jour des données La table obtenue ne contient que cinq lignes (plus les titres) puisque la zone de travail ne couvre que cinq cantons, il est donc aisé de mettre à jour le champ POPULATION de la couche cantons.shp (depuis l'outil Activer le mode édition). En cas de travaux sur des couches plus conséquentes (plusieurs centaines de lignes à calculer) il faut : exporter le résultat depuis File / Save all as CSV File (cantons_pop.csv), ouvrir le fichier cantons_pop.csv (le champ calculé s'appelle None par défaut), réaliser une jointure depuis la couche cantons.shp, vers la table cantons_pop.csv à partir du champs INSEE_DEPT (pour les deux tables), Ouvrir la table de la couche cantons.shp et observer la dernière colonne (cantons_pop_none) qui contient la population. 45

Exercice : Exercice 17 : analyse d'un MNT XVII - XVII Analyse d'un modèle numérique de terrain On cherchera à localiser sur le terrain les zones satisfaisant à trois critères : altitude, pente et orientation. Question [Solution n 37 p 111] Le but de l'exercice est de déterminer, sur le modèle numérique de terrain, les zones situées au-dessus de 60 m d'altitude, où la pente est supérieure à 10 degrés et exposées au secteur sud. Le modèle de terrain utilisé est le MNT au pas de 25 m : MNT_25M_asc. (répertoire BDALTI/MNT) On superposera, en fin d'exercice, le résultat obtenu sur le Scan 25. Tous les fichiers créés lors de cet exercice devront être enregistrés dans le répertoire _STAGIAIRE du Je de données "data_foad_qgis_perf" Indice : Pour répondre à cette question, l'enchaînement des manipulations sera le suivant : ouverture du MNT au pas de 25 m : MNT_25M_asc.asc calcul de la pente : soit par le menu par défaut de QGIS, soit par l'extension Analyse raster de terrain (fichier résultat au format Géotiff : pente.tif) calcul de l'aspect : pour l'aspect (fichier résultat au format Géotiff : aspect.tif), l'utilisation du menu par défaut de QGIS est préférable car il permet de donner la valeur 0 pour les terrains plats, au lieu de "pas de données" via l'extension. Le terrain plat est donc considéré comme étant orienté au nord, ce qui est de peu d'importance dans notre exemple car nous ne devons retenir que les terrains en pente. utilisation de la calculatrice raster pour déterminer les zones recherchées : cellules du MNT où la valeur est supérieure ou égale à 60 m cellules de la pente où la valeur est supérieure ou égale à 10 cellules de l'aspect où la valeur est comprise entre 135 et 225 (secteur sud, de sud-ouest à sud-est) convertir le résultat pour éliminer les cellules à 0 polygoniser le résultat pour obtenir une couche vectorielle de polygones. 47

Exercice : Exercice 18 : Construire un VRT XVIII - XVII I Construire une table raster virtuelle (VRT) Le but de l'exercice est de créer un VRT sur un ensemble de tuiles du Scan 25. Lorsqu'il sera créé, on changera son style (en dégradé de gris par défaut) pour affecter à l'ensemble des tuiles une palette de couleurs unique. Question [Solution n 38 p 116] Dans un nouveau projet QGIS : construire un VRT avec les 25 tuiles du scan25, au format Géotiff, situées dans le répertoire /SCAN25/tuiles_scan25. sauvegarder ce VRT dans le répertoire /SCAN25. changer la palette de couleurs du VRT en chargeant le style scan25.qml situé dans ce même répertoire. 49

Exercice : Exercice 19 : calcul de proximité Raster XIX - XIX Tracer des lignes d'équidistance au réseau routier Le but de cet exercice est de tracer sur l'emprise du Scan 25 les lignes d'équidistance au réseau routier principal de tous les points de l'emprise (équidistance de 250 mètres). Question [Solution n 39 p 117] Le travail va se baser sur l'utilisation du Scan25 : Extrait_72_topo (dans le répertoire SCAN/SCAN25). On va considérer que le réseau routier principal est représenté par les routes en rouge et en orange. Pour aboutir à la solution, on utilisera les commandes Proximité puis Contours. Indice : Enchaînement des opérations : ouverture du scan25 repérer avec le bouton "i" les valeurs de pixels correspondant au réseau principal : routes en rouge et en orange ; utiliser la calculatrice pour créer un raster sélectionnant ce réseau routier ; lancer la commande Proximité sur ce fichier raster : on obtient un nouveau fichier raster où chaque pixel est associé non pas à une altitude mais à une distance au réseau routier. tracer les courbes d'équidistance 250 mètres sur ce dernier fichier raster : avec la commande Contours, on obtient des courbes d'équidistance. 51

Exercice : Exercice 20 : GRASS XX - XX Mise en œuvre de GRASS pour l'instruction des dossiers d'épandage Objectif : déterminer la pente moyenne pour chaque parcelle afin d'autoriser ou non l'épandage sur ces parcelles Question [Solution n 40 p 118] Effectuer les opérations suivantes à l'aide du logiciel GRASS Créer un secteur GRASS (Formation) et un jeu de données (Perfectionnement) avec une projection EPSG : 2154 - RGF93/Lambert-93 Importer le MNT au pas de 25m à partir de la table MNT_25M_asc.asc de la BD_ALTI/MNT Importer la couche PARCELLE à partir de la BD_PARCELLAIRE Créer une carte des pentes depuis le MNT (Résultat en pourcentage) Calculer les pentes moyennes de chaque parcelle à partir de la carte des pentes Représenter les parcelles avec les classes suivantes : >0 et <=7%, > 7% et <=10%, > 10% Exporter la table parcelle mis à jour au format shp Indice : Créer un répertoire Grassdata si il s'agit d'une première utilisation de GRASS, voir import de couche vecteur (cf. Importation de couches vecteurs) et import de couche raster (cf. Importation de couches raster) La carte des pentes est un raster où les résultats peuvent être en degré ou en pourcentage (voir Raster/ Analyse spatiale/analyse de terrain/r.slope). Les pentes moyennes sont issues d'un calcul statistique depuis un raster en se basant sur des objets vectoriels (voir Vecteur/Mise à jour vectorielle via d'autres cartes/v.rast.stats). 53

Ressources annexes - images actives options accrochage v_30_10_options_accrochage.swf 55

Solution des exercices > Solution n 1 (exercice p. 5) Vérifier les les paramètres Le SCR doit être fixé avec la projection EPSG:2154 - RGF93 / Lambert-93 pour la France Métropolitaine Le Proxy est propre à chaque service, il doit être défini par le service informatique, sinon chaque Ministère propose un proxy national (exemple pour le MEDDE, Hôte: direct1.proxy.i2, Port: 8080) Modifier les paramètres de l'option numérisation Afficher le paramétrage de la numérisation à l'aide de la commande Options onglet Numérisation Paramétrer les options comme ci-dessous Préférences/ 57

Image 3 Paramètres Options/Numérisation Visualiser une couche de polygone en mode édition > Solution n 2 (exercice p. 7) Catégoriser par nombre de voies et définir la largeur du trait proportionnellement à la valeur du champ largeur Sélectionner la couche ROUTE dans le gestionnaire de couche Afficher les propriétés de la couche ROUTE à l'aide de la commande Couche/Propriétés ou double-cliquer sur la couche ROUTE dans le gestionnaire de couche, onglet Style Définir Catégorisé dans le rendu symbole, choisir la colonne alphanumérique NB_VOIES, le symbole ligne simple et créer les catégories en cliquant sur le bouton Classer Modifier manuellement les couleurs de chaque catégorie après avoir effacé les catégories non significatives Remarque : on peut modifier la largeur du symbole ainsi que l'unité pour tenir compte du niveau de zoom. 58 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Activer le champ de proportion en cliquant sur le bouton Avancé Afficher les les champs numériques disponibles et sélectionner le champ LARGEUR Image 4 symbole catégorisé proportionnel à la valeur d'un champ Remarque On peut choisir la mise à l'échelle par le diamètre ou par la surface > Solution n 3 (exercice p. 9) Représenter la densité de la population par classe Sélectionner la couche COMMUNE_DENSITE dans le gestionnaire de couche Afficher les propriétés de la couche COMMUNE_DENSITE à l'aide de la commande Couche/Propriétés ou double-cliquer sur la couche COMMUNE_DENSITE dans le gestionnaire de couche, onglet Style Définir Gradué dans le rendu symbole, choisir la colonne numérique DENSITE, réduire le nombre de classes à 4, et choisir le mode de classement Intervalles égaux. Modifier le mode de classement avec tous les choix possibles, Quantiles, Ruptures naturelles (Jenks), Écart-type, Jolies ruptures Choisir le mode de discrétisation pour une meilleure lecture de la carte. La distribution de la série est dissymétrique, par conséquent on peut à priori cibler les méthodes Quantiles ou Ruptures naturelles (Jenks), Image 5 Répartition des valeurs La méthode qui donne les meilleurs résultats est basée sur les ruptures naturelles( Jenks), les regroupements par classes sont relativement homogène et les classes sont significativement distinctes. Seule la valeur de la densité égale à 132 peut prêter à discussion. 59

Mode de classification "ruptures naturelles (Jenks)" Complément Le mode Intervalles égaux n'est pas adapté, car la première classe (10-59) regroupe trop de valeurs en raison d'une valeur extrême (207) qui s'écarte de la série Le mode Quantiles n'est pas adapté en raison d'une répartition des données non équilibrée, notamment la dernière classe (48-207) Le mode Écart-type n'est pas adapté car la courbe des valeurs est dissymétrique Le mode Jolies ruptures idem le mode intervalles égaux > Solution n 4 (exercice p. 11) Représenter les différentes sections cadastrales Sélectionner la couche DIVCAD dans le gestionnaire de couche Afficher les propriétés de la couche DIVCAD à l'aide de la commande Couche/Propriétés ou double-cliquer sur la couche DIVCAD dans le gestionnaire de couche, onglet Style Définir Ensemble de règles dans le rendu symbole, sélectionner la ligne (no filter) et cliquer sur le bouton Editer a. Cliquer sur le bouton dans les propriétés de la règle pour ouvrir le constructeur de chaîne d'expression b. Saisir l'expression "SECTION" < '1' pour filtrer toutes les sections du cadastre dont la valeur est préfixée par un 0 c. Saisir l'étiquette "Cadastre ancien ou rénové mis à jour " d. Modifier éventuellement le symbole et valider Ajouter une règle en cliquant sur le bouton Ajouter a. Cliquer sur le bouton dans les propriétés de la règle pour ouvrir le constructeur de chaîne d'expression b. Saisir l'expression "SECTION" > '1' AND "SECTION" < 'X' pour filtrer toutes les sections du cadastre rénové par voie de renouvellement ou par 60 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

voie de réfection c. Saisir l'étiquette "Cadastre rénové par renouvellement ou par réfection" d. Désactiver le symbole et valider Sélectionner la ligne de la règle "SECTION" > '1' AND "SECTION" < 'X' et cliquer sur le bouton Affiner les règles actuelles pour définir une règle sur la valeur de l'échelle a. Choisir ajouter les catégories aux règles et définir un classement sur la colonne ECHELLE b. Modifier éventuellement la palette de couleur et valider Sélectionner chaque ligne avec la règle "ECHELLE" et cliquer sur le bouton Editer pour modifier l'étiquette Ajouter une règle en cliquant sur le bouton Ajouter a. Cliquer sur le bouton dans les propriétés de la règle pour ouvrir le constructeur de chaîne d'expression b. Saisir l'expression "SECTION" > 'X' pour filtrer toutes les sections du cadastre remembré c. Saisir l'étiquette "Cadastre remembré" d. Modifier éventuellement le symbole et valider Pour information, on peut compter les enregistrements pour chaque type de section à l'aide du bouton Compter les entités Image 6 Propriétés de la couche DIVCAD (Solution) > Solution n 5 (exercice p. 13) 1) Création du tampon de 100m autour de l'axe de la D323 61

Sélectionner les tronçons constituant la D323 à l'aide du constructeur de requête : Constructeur de requête 62 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Seuls les tronçons composant la D323 sont affichés pour la couche ROUTE : Affichage des parcelles cadastrales et de la D323 Créer le tampon unique englobant tous les tronçons composant la D323 Menu Vecteur Outils de géotraitement Tampon(s) Ne pas cocher «Utiliser uniquement les valeurs sélectionnées» car les tronçons composant la D323 ont été sélectionnés auparavant et ils apparaissent seuls dans la fenêtre carte. Cocher la case Union des résultats du tampon' pour obtenir un seul objet tampon. Cocher la case Ajouter le résultat au canevas de la carte'. Enregistrer la couche tampon sous le nom Tampon_100m_D323.shp 63

Boîte de dialogue création du tampon autour de la D323 Le tampon est affiché dans la fenêtre carte : Image 7 Affichage du tampon créé autour de la D323 64 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

2) Sélection des parcelles qui intersectent le tampon 1ère méthode : sélection par localisation Menu vecteur -> Outils de recherche -> Sélection par localisation Sélection par localisation Parcelles sélectionnées Enregistrer la sélection avec le nom 'Parcelles_Tampon_D323.shp' : Dans le panneaux Couches, clic droit sur la couche PARCELLE Enregistrer la sélection sous... Enregistrement des parcelles sélectionnées 65

Ouvrir la couche Parcelles_Tampon_D323.shp et supprimer la couche PARCELLE qui n'est plus utile à la suite de l'exercice. Parcelles intersectant le tampon 2ème méthode : requête spatiale Menu Vecteur Requête spatiale 66 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Boîte de dialogue requête spatiale Intersecte 67

Cliquer sur le bouton Créer une couche depuis la sélection : Création de la couche des parcelles sélectionnées Une couche "PARCELLE selected" est créée et est affichée dans la fenêtre carte : [Fermer la boîte de dialogue (Close)] 1189 parcelles sont sélectionnées. Parcelles sélectionnées (intersectant le tampon) 68 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Enregistrer la couche PARCELLE_selected avec le nom 'Parcelles_Tampon_D323.shp' : Enregistrement de la couche des parcelles intersectant le tampon Ouvrir la couche Parcelles_Tampon_D323.shp et supprimer la couche PARCELLE_selected. Supprimer la couche PARCELLE qui n'est plus utile à la suite de l'exercice. 69

Les parcelles croisant le tampon apparaissent : Affichage de la couche Parcelles_Tampon_D323 3) Ajout d'un champ surface à la couche Parcelles_Tampon_D323 1ère méthode Ajout des colonnes géométriques surface (AREA) et périmètre (PERIMETER) à la couche Parcelles_Tampon_D323. Remarque : On ne peut pas modifier directement le nom des champs AREA et PERIMETER qui sont déterminés par l'outil Menu Vecteurs Outils de géométrie Exporter/ajouter des colonnes de géométrie Enregistrer la couche sous le nom Parcelles_tampon_D323_AREA.shp. Cocher la case Ajouter le résultat au canevas de la carte'. 70 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Boîte de dialogue ajouter des colonnes de géométrie La table d'attributs de la couche Parcelles_Tampon_D323_AREA comprend 2 champs supplémentaires AREA (m²) et PERIMETER (m) : Table d'attributs des parcelles avec ajout de 2 colonnes géométriques 71

2ème méthode Utilisation de la calculatrice de champ (les fonctions détaillées de la calculatrice de champ sont présentées dans le module Données attributaires). Ouvrir la table d'attributs de la couche Parcelles_Tampon_D323 Table d'attributs de la couche Parcelles_Tampon_D323 Activer le mode d'édition et ouvrir la calculatrice de champ pour créer un nouveau champ SURF_TOT de type Réel, de longueur 10 et de précision 5 (unité = mètre carré). 72 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Sélectionner la fonction $area dans Géométrie : Création du champ SURF_TOT 73

Le champ SURF_TOT (m²) est ajouté à la table d'attributs : Table d'attributs complétée par le champ SURF_TOT Sauvegarder les modifications de la couche Parcelles_Tampon_D323 et sortir du mode édition. Vérifier que les surfaces calculées au moyen des 2 méthodes sont égales, en comparant les valeurs des champs AREA et SURF_TOT pour quelques parcelles. > Solution n 6 (exercice p. 15) SELECT * FROM iris_extrait72 WHERE Nom_com LIKE '%FLECHE%' On peut aussi utiliser le code INSEE de la commune : SELECT * FROM IRIS_extrait72 WHERE DepCom = '72154' On doit obtenir un tableau de 7 lignes avec colonne Nom_Com toujours égale à FLECHE (LA). > Solution n 7 (exercice p. 15) SELECT nom_comm, population FROM commune WHERE population > 1500 AND nom_dept='sarthe' On doit obtenir un tableau de 2 lignes : MALICORNE-SUR-SARTHE : 2000 LA FLECHE : 15400 > Solution n 8 (exercice p. 15) SELECT nom_comm AS nom,statut, population, superficie FROM commune WHERE NOT(statut = 'Chef-lieu de canton') 74 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

autres syntaxes possible : SELECT nom_comm AS nom,statut, population, superficie FROM commune WHERE statut <> 'Chef-lieu de canton' SELECT nom_comm AS nom,statut, population, superficie FROM commune WHERE statut IS NOT 'Chef-lieu de canton' On doit obtenir un tableau de 18 lignes pour lesquelles le statut est commune simple ou Sous-préfecture. > Solution n 9 (exercice p. 16) SELECT DISTINCT toponyme FROM troncon_hydrographique WHERE toponyme LIKE '%ruisseau%' la clause DISTINCT permet de supprimer les doublons dans la réponse (on ne s'intéresse ici qu'au tableau de résultat et pas aux objets géographiques). On obtient un tableau de 10 lignes. Le toponyme doit contenir 'ruisseau'. > Solution n 10 (exercice p. 16) SELECT nom_dept, sum(population) AS population_dept, round(avg(cast(population as float)/superficie),2) AS densite_moy_communes, max(population) AS pop_max_commune, min(population) AS pop_min_commune, round(avg(superficie),2) AS surface_moy_commune FROM commune GROUP BY nom_dept nb : le cast n'est pas utile si on utilise PostGIS au lieu de spatialite. > Solution n 11 (exercice p. 16) SELECT nom_comm, round(st_area(geometry)/1000000,2) AS SURFACE_km2, round(st_perimeter(geometry)/1000,2) AS PERIMETRE_km FROM commune WHERE nom_dept = 'SARTHE' La fonction de calcul retourne une valeur dans les unités de la projection qui est ici le mètre, d'où la nécessaire division pour convertir dans les unités demandées. nb : La fonction ST_perimeter() n'est pas disponible dans la version de spatialite fournie avec QGIS 1.8, on utilise alors Glength(). Elle est disponible dans les dernières versions (QGIS > 2.2). sous postgis on écrira : SELECT nom_comm, round((st_area(geom)/1000000) :: numeric,2) AS SURFACE_km2, round((st_perimeter(geom)/1000) :: numeric,2) AS PERIMETRE_km FROM commune WHERE nom_dept = 'SARTHE' On obtient un tableau de 16 lignes. Pour ARTHEZE ont doit obtenir une surface de 8.7 km2 et un périmètre de 15.59 km. > Solution n 12 (exercice p. 16) SELECT toponyme, count(*) AS nbre_troncons, largeur FROM troncon_hydrographique WHERE toponyme = 'rivière le loir' GROUP BY largeur on doit obtenir 3 tronçons de 0 à 15 mètres et 29 tronçons de plus de 50 mètres. 75

Complément La fonction count() accepte des expressions comme paramètre... on peut par exemple écrire SELECT count(distinct toponyme) from TRONCON_HYDROGRAPHIQUE qui donne 13 toponymes différents dans la table TRONCON_HYDROGRAPHIQUE > Solution n 13 (exercice p. 17) SELECT LARGEUR, TOPONYME,round(sum(ST_LENGTH(Geometry))/1000,4) AS Longueur_km FROM TRONCON_HYDROGRAPHIQUE WHERE TOPONYME = 'rivière le loir' GROUP BY LARGEUR On doit obtenir : de 0 à 15 mètres : 0.7981 km plus de 50 mètres : 19.3578 km > Solution n 14 (exercice p. 19) Solution : SELECT * FROM ponctuel_hydrographique, commune WHERE st_within(ponctuel_hydrographique.geometry, commune.geometry) AND commune.nom_comm = 'LA FLECHE' On retient donc les ponctuels qui sont dans ( st_within) les communes et on sélectionne uniquement la commune de la Flèche avec AND commune.nom_comm = 'LA FLECHE' Il doit y avoir 81 ponctuels dans le résultat. > Solution n 15 (exercice p. 19) SELECT nom_comm, toponyme, round(sum(st_length(st_intersection(troncon_hydrographique.geometry, commune.geometry))),2) as longueur FROM troncon_hydrographique, commune WHERE toponyme= 'rivière le loir' AND st_intersects(commune.geometry, troncon_hydrographique.geometry) GROUP BY nom_comm et sous PostGIS SELECT nom_comm, toponyme, round(sum(st_length(st_intersection(troncon_hydrographique.geometry, commune.geometry))) : : numeric,2) as longueur FROM troncon_hydrographique, commune WHERE toponyme= 'rivière le loir' AND st_intersects(commune.geometry, troncon_hydrographique.geometry) GROUP BY nom_comm 76 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Le résultat est le suivant : résultat Exo7 Question 2 Complément Lorsque les requêtes sont un peu longues, il peut-être utile d'utiliser des alias pour pour les noms des tables. Ils s'obtiennent en plaçant directement un alias après le nom de table dans la clause FROM Dans le cas précédent cela donne : SELECT nom_comm, toponyme, round(sum(st_length(st_intersection(a.geometry,b.geometry))),2) as longueur FROM troncon_hydrographique a, commune b WHERE toponyme= 'rivière le loir' AND st_intersects(a.geometry, b.geometry) GROUP BY nom_comm > Solution n 16 (exercice p. 20) SELECT * FROM ponctuel_hydrographique, etablissement WHERE st_distance(ponctuel_hydrographique.geometry, etablissement.geometry) < 5000 ou SELECT * FROM ponctuel_hydrographique, etablissement WHERE st_contains(buffer(etablissement.geometry, 5000), ponctuel_hydrographique.geometry) sous PostGIS on pourrait utiliser la fonction st_dwithin() SELECT * from ponctuel_hydrographique, etablissement WHERE ST_DWithin(ponctuel_hydrographique.Geometry, etablissement.geometry, 5000) On remarquera cependant qu'avec ces requêtes les ponctuels qui sont à moins de 5000 m de plusieurs établissements apparaissent plusieurs fois. On peut ajouter une clause GROUP BY pkuid pour ne les obtenir qu'une seule fois (dans ce cas on n' a pas tous les établissements situés à moins de 5000 m d'un ponctuel hydrographique, mais ce n'est pas la question). Il doit y avoir 86 ponctuels avec le group by et 150 réponses sans le group by Une autre solution est d'utiliser une union des buffers individuels autour de chaque établissement avec la fonction st_union(). 77

La syntaxe qui utilise une sous-requête directement dans la fonction st_contains() est alors : SELECT * FROM PONCTUEL_HYDROGRAPHIQUE WHERE ST_contains((SELECT st_union(st_buffer(geometry,5000)) FROM ETABLISSEMENT),PONCTUEL_HYDROGRAPHIQUE.Geometry) > Solution n 17 (exercice p. 20) SELECT *, st_distance( MakePoint(X_COMMUNE, Y_COMMUNE, srid(commune.geometry)), etablissement.geometry) AS distance FROM etablissement, COMMUNE WHERE commune.nom_comm = 'LA FLECHE' ORDER BY distance LIMIT 1 On aurait pu également utiliser la fonction st_centroid() qui donne un centroïde calculé, mais qui est différent des coordonnées données dans X_COMMUNE et Y_COMMUNE. L'identifiant BdCARTO de l'établissement répondant à la question est 123049. > Solution n 18 (exercice p. 21) solution > Solution n 19 (exercice p. 21) SELECT * FROM "ZONE_VEGETATION", "COMMUNE" WHERE "ZONE_VEGETATION".'NATURE' = 'Forêt fermée de conifères' and "COMMUNE".'NOM' = 'La Flèche' and st_intersects("zone_vegetation".'geometry', "COMMUNE".'Geometry') > Solution n 20 (exercice p. 21) SELECT round(sum(st_area(st_intersection("zone_vegetation".'geometry',"commune".'geometry'))) / 10000) as surface_ha FROM "ZONE_VEGETATION", "COMMUNE" WHERE st_intersects("zone_vegetation".'geometry',"commune".'geometry') and "ZONE_VEGETATION".'NATURE' = 'Forêt fermée de feuillus' and 78 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

"COMMUNE".'NOM' = 'La Flèche' > Solution n 21 (exercice p. 22) La solution est : SELECT PAI_SANTE.ID, BATI_INDUSTRIEL.ID, st_distance(pai_sante.geometry, BATI_INDUSTRIEL.Geometry) AS distance FROM PAI_SANTE,BATI_INDUSTRIEL WHERE distance IN (SELECT min(st_distance(pai_sante.geometry, BATI_INDUSTRIEL.Geometry)) AS distance_min FROM PAI_SANTE,BATI_INDUSTRIEL GROUP BY PAI_SANTE.PKUID) Pour charger la table dans QGIS on utilisera un 'Create Table & Load in QGIS' (puisque ce n'est pas un table spatiale). exo8 Q4 résultat Complément Le but de l'exercice est de montrer l'intérêt et la syntaxe d'une requête complexe. Cependant pour répondre à la question posée nous aurions pu utiliser l'outil Vecteur -> Outils d'analyse -> Matrice des distances. Cet outil ne fonctionnant que sur des couches de points, il faut au préalable créer la couche BATI_INDUSTRIEL_CENTROID avec la fonction Vecteur -> Outil de géométrie -> Centroïdes de polygones. On utilise ensuite l'outil 'matrice de distances' en choisissant 'Utiliser uniquement les points cibles les plus proches' avec k=1, Ceci génère un fichier csv qui donne le résultat cherché. Les distances sont un peu différentes qu'avec la fonction st_distance qui utilise le contour des polygones au lieu du centroïde. On pourrait également utiliser le plugin NNJoin 3 qui permet de calculer pour chaque objet de la couche (input layer), l'objet le plus proche de la couche 'Join vector Layer', ainsi que sa distance. Il est possible pour la couche 'input layer' d'utiliser les centroides si la couche n'est pas une couche de points et pour calculer les objets les plus proches d'utiliser 'Approximate by index geometries' qui utilise les rectangles englobant plutôt que la géométrie exacte ce qui permet un calcul beaucoup plus rapide. > Solution n 22 (exercice p. 25) Importation des fichiers dans PostGIS Lancer l'extension SPIT. 3 - http://arken.umb.no/~havatv/gis/qgisplugins/nnjoin/ 79

Image 8 Importer des Shapes dans PostgreSQL Il faut créer une nouvelle connexion ou utiliser une connexion déjà créée. Les paramètres de connexion et la base à utiliser sont éventuellement précisés par l'organisateur de la formation. Une fois que la connexion est établie, cliquer sur Ajouter. Choisir le fichier ROUTE_XY.SHP (répertoire Divers). Préciser l'encodage UTF-8 (au lieu la première fois de 'system' par défaut). Choisir l'encodage du SHP Le ou les fichiers shape importés dans PostGIS apparaissent dans la liste. Dans le champ Nom de la colonne de géométrie, laisser vide, ou saisir le nom de la colonne de géométrie du fichier shape ou cocher la case Utiliser le nom de colonne géométrique par défaut (the_geom). Dans le champ SRID, saisir la valeur 2154 qui correspond au système de coordonnées de référence (SCR) RGF93/Lambert 93. Si SPIT renvoi un message du type ERROR : zero-length delimited identifier at or near """""" LINE 1 : CREATE TABLE "public"."route_xy"("" SERIAL PRIMARY KEY, "Id"... Alors tapez (ou retapez) explicitement un nom dans le champ 'Nom de la clé primaire' (ce peut-être 'gid' par exemple, mais ce ne peut-être un des champs du fichier SHP). Cliquer sur OK. Les données sont importées dans PostGIS. 80 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Requête SQL sur une table dans PostGIS Charger la table PostGIS dans QGIS Dans la fenêtre de connexion à la table ROUTE_XY dans PostGIS, double-cliquer sur la table ROUTE_XY. constructeur de requête Double-cliquer sur le champ numéro. Ce champ doit apparaître entre "" dans la fenêtre Clause SQL WHERE située en bas de la fenêtre du constructeur de requêtes. Cliquer sur l'opérateur =. Celui-ci doit apparaître après le champ «numero» dans la fenêtre Clause SQL WHERE. Cliquer sur le bouton Tout. La liste des valeurs du champ numéro doit apparaître dans la partie droite de la fenêtre. Choisir la valeur D323. Cette valeur doit apparaître entre '' dans la fenêtre Clause SQL WHERE après l'opérateur =. Cliquer sur OK. Le résultat doit apparaître dans la fenêtre cartographique de QGis sous cette forme. 81

QGIS En cliquant sur la couche on peut afficher la table attributaire et vérifier que les tronçons affichés ont bien la valeur D323 dans le champ «numero». Remarque : Des messages d'erreur possible si vous rencontrez le message d'erreur : erreur postgis Vous n'avez pas indiqué une clef primaire correcte. 82 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Si vous rencontrez le message suivant : erreur PostGIS Vous n'avez pas indiqué le bon encodage de caractères (UTF-8 en général). Pour le glissé / lâché depuis le navigateur : Glissé / lâché avec DBmanager > Solution n 23 (exercice p. 27) Ajout des 3 colonnes Ouvrir la couche BATI_REMARQUABLE.SHP de la BD TOPO (répertoire E_BATI) Menu "Couche - Sauvegarder sous..." et donner à la nouvelle couche le format ESRI Shapefile et le nom BATI_REMARQUABLE_72 dans le répertoire de travail _STAGIAIRE. Fermer la couche de la BD TOPO et ouvrir la nouvelle couche Pour créer les nouveaux champs (ajouter de nouvelles colonnes), on peut passer par la table d'attributs. On peut également utiliser l'onglet Champs des propriétés de la couche, ce qui est plus intéressant dans notre cas, car on pourra dans la même 83

fenêtre de dialogue créer les nouveaux champs et modifier l'outil d'édition. ajouter colonne PHOTOS Ajouter les colonnes : NOM_USUEL : texte(chaîne de caractères) de longueur 35 PHOTOS : texte(chaîne de caractères) de longueur 100 PROPRIETE : texte(chaîne de caractères) de longueur 10 les 3 champs ajoutés 84 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Paramétrage des outils d'édition Pour répondre aux besoins de la nouvelle couche, les outils d'édition seront paramétrés comme suit pour les champs suivants (cliquer sur le bouton "Edition de ligne") : ID : immuable (pour éviter sa modification par erreur) ; NATURE : Classification (attention, il faut avoir "stylisé" la couche en mode "Catégorisé" sur ce champ sinon il n'y aura pas de proposition de classification ; PHOTOS : Photo (attention, le champ PHOTOS est de type texte, l'outil d'édition «Photo» permet de visualiser l'image dans le formulaire) ; PROPRIETE : Liste de valeurs comme indiqué ci-dessous : outil d'édition Liste de valeurs Les autres champs peuvent rester au mode "édition de ligne" car aucune contrainte ne leur est imposée. Cependant, suivant les utilisateurs qui auront à renseigner les données, on peut tout à fait envisager que certains champs issus de la BD TOPO soient paramétrés à "Cachée" afin que leur présence dans le formulaire ne perturbe pas les éditeurs. Le formulaire de saisie reflète ces nouveaux paramétrages : l'identifiant n'est pas modifiable ; le champ NATURE est proposé comme une liste déroulante ; le champ PHOTOS est accompagné d'un bouton ouvrant un explorateur de fichiers ; le champ PROPRIETE affiche une liste déroulante avec deux propositions Propriété publique et Propriété privée, mais ce sont Public et Privé qui seront enregistrés dans l'attribut. 85

formulaire de saisie Procédez à la saisie de quelques données attributaires pour tester le fonctionnement des outils d'édition. > Solution n 24 (exercice p. 29) Ajout du champ SURFACE NB : 86 Afficher la table attributaire du fichier COMMUNE de la BDTOPO. Entrer en mode édition en cliquant sur l'icône «Basculer en mode édition». Utiliser la calculatrice de champ pour créer le champ SURFACE. Choisir un type Nombre entier. On utilisera l'opérateur géométrique $area qui donnera la surface en m². Comme il est demandé que le champ SURFACE soit exprimé en hectares et en unités (sans décimale), il faut utiliser d'autres fonctions pour transformer les m² en hectares et les arrondir à l'unité en utilisant l'opérateur de conversion toint() vers un nombre entier. pour rappel, un hectare est égal à 10 000m². Comme il apparaît sur l'image ci-dessous, la formule à composer est : toint ( $area / 10000 ) Cette formule peut être : soit saisie directement au clavier dans la partie inférieure de la fenêtre soit composée en double-cliquant sur chaque opérateur dans la liste audessus. Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Création et calcul du champ SURFACE Cliquer sur OK. Le nouveau champ SURFACE se trouve à la droite dans la table attributaire. Champ SURFACE rajouté 87

Ajout du champ DENSITE On utilise également la calculatrice de champ pour créer le champ DENSITE. Celui-ci sera calculé à partir du champ POPUL et de la fonction $area. Comme il est demandé que la densité soit exprimée en nombre d'habitants par km², on divisera le résultat de $area par 1 000 000 (1 000 000 de m² dans un km²). Choisir un type Nombre entier. Dans la fenêtre Expression, saisir la formule de calcul suivante à partir des champs POPULATION et des fonctions : toint("popul" / ($area / 1000000)) Ne pas oublier de fermer les parenthèses ouvertes. On peut aussi utiliser la formule : toint("popul" / $area) x 1000000 Les noms des champs peuvent être entre guillemets ("POPUL") soit sans guillemets (POPUL). Ceux-ci sont utiles essentiellement dans le cas où le nom du champ contient des espaces. Par défaut, le composeur de formules met les guillemets. N.B. : on aurait pu également calculer la densité en utilisant le champ SURFACE créé précédemment, mais comme sa valeur est approchée à l'entier le plus proche, il vaut mieux repartir de la fonction initiale $area ce qui minimisera l'erreur sur le calcul de la densité. 88 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Création et calcul du champ DENSITE L' «Aperçu du résultat» qui apparaît sous la fenêtre «Expression» indique le résultat trouvé par la calculatrice de champ. Mais cet affichage ne s'effectue pas toujours. Si la formule est correcte, cliquer sur OK. La fenêtre se ferme automatiquement. Les résultats du calcul apparaissent dans la colonne DENSITE située à droite dans la table attributaire. 89

Champ DENSITE ajouté Les résultats à obtenir par communes de la BD TOPO sont les suivants pour la surface en hectares et la densité en nombre d'habitants par km² : Résultats exercice 12 > Solution n 25 (exercice p. 31) Rajouter une action Solution : Créer la nouvelle carte (nouveau projet) en ouvrant les deux couches suivantes de la BD TOPO : ROUTE.SHP (répertoire A_RESEAU_ROUTIER) COMMUNE.SHP (répertoire H_ADMINISTRATIF) Pour rajouter une action : sélectionner la couche concernée dans le gestionnaire de couche ; ouvrir la fenêtre des propriétés de la couche et sélectionner l'onglet "Actions". Il est possible de : créer une action à partir de zéro dans la partie inférieure de la fenêtre ; ou de "Ajouter les actions par défaut" en cliquant sur le bouton situé à droite sous la partie supérieure. Il est conseillé d'utiliser cette seconde solution qui permet de disposer ainsi de 90 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

plusieurs modèles d'action. Liste des actions Pour déclencher l'action, lorsqu'elle a été créée : sélectionner la couche dans le gestionnaire de couches ; utiliser le bouton "Exécuter les actions de l'entité". Liste des actions d'entité Il est également possible de passer par la commande "Identifier les entités " (bouton "i") et sa fenêtre "Identifier les résultats" : section Actions. Attention Ne pas oublier de valider l'action lorsque l'on vient de la créer ou de la modifier : Ajouter l'action à la liste et surtout Mettre à jour l'action. Cliquer sur OK ou Apply en bas de la fenêtre n'est pas suffisant : il faut s'assurer que l'intitulé de 91

l'action en partie supérieure a bien été pris en compte. Ouvrir l'application externe PhotoFiltre (sur les deux couches COMMUNE et ROUTE) Syntaxe de l'action à ajouter : Type Nom Action et exemple Générique Ouvrir l'application PhotoFiltre "C:/Program Files/PhotoFiltre/PhotoFiltre.exe" Il est possible et recommandé d'utiliser l'explorateur de fichier (bouton... situé à droite de la zone d'édition de l'action) pour aller chercher le fichier PhotoFiltre.exe sur son disque dur ; ne pas oublier de rajouter des guillemets avant et après la description de l'action ; pour déclencher l'action, ne pas oublier de cliquer sur une entité de la couche (sélectionner l'action dans la liste des actions n'est pas suffisant). il faut effectuer cette action sur les deux couches (copier-coller...) Ouvrir le fichier PDF de la commune (sur la couche COMMUNE) Syntaxe de l'action à ajouter : Type Nom Action et exemple Ouvrir Ouvrir le fichier PDF de la commune "Mes Documents/Data_foad_qgis_perf/COMM UNES_WIKI/[% "NOM" %].PDF" En principe, tous les postes de travail sont paramétrés pour ouvrir les fichiers PDF avec l'application Acrobat Reader. Vérifier l'ouverture effective du fichier PDF concernant la commune en cliquant à l'intérieur de chacune d'entre elles. Pour trouver le nom exact du chemin d'accès au répertoire "Data_foad_qgis_perf", utiliser le bouton Parcourir les actions, situé à droite de la zone de saisie de l'action. Ouvrir la page de la commune sur Wikipedia (sur la couche COMMUNE) Syntaxe de l'action à ajouter : 92 Type Nom Action et exemple Ouvrir Ouvrir la page de la commune sur Wikipedia http://fr.wikipedia.org/wiki/[% "NOM" %] Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Sur le site de Wikipedia, on vérifie que la page de la commune est accessible à une adresse de type : http://fr.wikipedia.org/wiki/ligron Aussi peut-on lancer l'action avec : http://fr.wikipedia.org/wiki/ suivi du nom du champ sélectionné dans la liste déroulante située sous la description de l'action ; et en cliquant sur "Insérer un champ". Afficher la valeur du champ NATURE (sur la couche ROUTE) Syntaxe de l'action à ajouter : Type Nom Action et exemple Pytho n Afficher la valeur du champ NATURE QtGui.QMessageBox.information(None, "Identification", "[% "NATURE" %]") valeur du champ NATURE Afficher les coordonnées X et Y du point cliqué (sur la couche ROUTE) Syntaxe de l'action à ajouter : Type Nom Action et exemple Pyth on Afficher les coordonnées X et Y du point cliqué QtGui.QMessageBox.information(None, "Coordonnees du clic", "coordonnees : ([% 93

$clickx %],[% $clicky %])") les actions ont des difficultés avec les caractères accentués mettre dans les description des actions. : éviter d'en coordonnées du point cliqué > Solution n 26 (exercice p. 33) Créer une carte avec la couche BD_CARTO\HABILLAGE\ZONE_OCCUPATION_SOL.SHP ; Pour qu'elle soit plus lisible, appliquer un style "Catégorisé" qui permettra notamment de distinguer les forêts (NATURE = Forêt) et les plans d'eau (NATURE = Eau libre) ; Après avoir sélectionné la couche, lancer la commande d'étiquetage Cocher la case "Étiqueter cette couche avec" et cliquer sur le bouton situé à droite (il n'est pas nécessaire de choisir un champ dans la liste déroulante) La formule à saisir est la suivante : CASE WHEN NATURE = 'Forêt' AND $area >= 1000000 THEN NATURE '\n' ' Surf. = ' toint( $area / 10000) ' ha' WHEN NATURE = 'Eau libre' AND $area >= 500000 THEN 'Plan d''eau' '\n' ' Surf. = ' toint( $area / 10000) ' ha' END 94 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Formule de l'étiquetage de l'exercice Deux points à signaler : il n'est pas indispensable ici de mettre les noms de champs entre doubles cotes, puisqu'il n'y a pas d'espace dans ces noms ; pour que l'apostrophe de Plan d'eau ne soit pas interprétée comme une cote délimitant une chaîne de caractère, il faut mettre une double cote dans la formule : Plan d''eau. 95

Le résultat est le suivant : Résultat de l'étiquetage de l'exercice > Solution n 27 (exercice p. 35) Solution 1 Créer le shapefile ZI_complement.shp par le menu Couche>Nouveau>Nouvelle couche shapefile Il faut ensuite ouvrir les fichiers ZonagePPRI_LaFleche.shp et COMMUNE.shp. Pour numériser l'objet il convient de paramétrer les Préférences>Options d'accrochage de la manière suivante : «Éviter les intersections» avec la couche ZonagePPRI_LaFleche.shp, il s'agit de combler un vide de cette couche. Activer le mode d'accrochage sur un sommet ou un segment avec la couche COMMUNE.shp, pour suivre parfaitement la limite communale. Accrochage Il faut ensuite basculer la couche 96 ZI_complement.shp en mode édition et utiliser Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

l'outil «Ajouter une entité». Pour pointer chaque noeud de la couche COMMUNE.shp, il faut afficher les sommets des objets en choisissant un style de ligne «Ligne de symbole» avec un marqueur sur chaque sommet ainsi qu'un «Remplissage simple». Sommet Démarrer la numérisation au nord-est de la zone à numériser et suivre le contour ZonagePPRI_LaFleche.shp grossièrement uniquement dans la zone immédiatement voisine (sans intersecter une zone autre que la zone voisine) 97

résultat 01 démarrer la numérisation A la limite est, approcher la ligne communale, le curseur s'accroche au segment, cliquer accroché sur le segment de la couche Commune mais toujours sur le contour grossier de la zone PPRI. 98 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Résultat 01 accrocher le segment Ensuite cliquer sur les nœuds de la couche commune jusqu'à la limite haute de la zone à numériser 99

Resultat 01 contour communal A la limite haute de la zone à numériser, cliquer accroché sur le segment de la couche Commune mais toujours sur le contour grossier de la zone PPRI Resultat 01 Fin numérisation Clic droit pour terminer la numérisation de l'objet et renseigner les attributs comme indiqué dans l'énoncé : COMMUNE : LA FLECHE DEGRE : ZI Faible naturelle 100 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Resultat 01 Attributs Le résultat est une zone délimitée par la zone PPRI voisine et la limite communale. Tout cela automatiquement sans avoir à suivre parfaitement le contour du ZonagePPRI_LaFleche.shp Résultat 01 Copier dans la table Zonage PPRI LaFleche l'objet crée en 1 : Basculer le fichier ZonagePPRI_LaFleche.shp en mode Edition Sélectionner l'objet 1 Utiliser l'outil Copier les entités sur l'objet avec la couche ZI_complement.shp sélectionnée Sélectionner la couche ZonagePPRI_LaFleche.shp et coller l'objet à l'aide de l'outil Coller les entités Sortir du mode Édition en acceptant la sauvegarde des modifications du fichier ZonagePPRI_LaFleche.shp 101

Resultat 01 Sauvegarde > Solution n 28 (exercice p. 35) Solution 2 Basculer la couche ZonagePPRI_LaFleche.shp en mode édition Sélectionner l'outil Effacer un anneau Cliquer sur un nœud de l'anneau pour le supprimer. Resultat 02 > Solution n 29 (exercice p. 35) Solution 3 Pour découvrir les différentes fonctionnalités, utiliser l'outil Remodeler les entités, ainsi il n'est pas nécessaire de suivre le contour de l'objet existant de la table de zonageppri_lafleche. 102 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

barre outils Numerisation Basculer la couche ZonagePPRI_LaFleche.shp en mode édition. Vérifier que l'accrochage est bien actif sur la couche COMMUNE.shp. Débuter la numérisation en cliquant dans l'objet de la table ZonagePPRI_LaFleche.shp, suivre le contour de la commune. Valider l'objet en cliquant une dernière fois dans l'objet de la table ZonagePPRI_LaFleche.shp. Rappel : pendant la numérisation il est possible de se déplacer dans la vue en maintenant la touche Espace du clavier enfoncée. > Solution n 30 (exercice p. 35) Solution 4 Il ne s'agit pas de supprimer totalement un objet complet mais uniquement une partie de celui-ci. Basculer la couche ZonagePPRI_LaFleche.shp en mode édition. Sélectionner l'outil Effacer une partie, Cliquer sur la partie à supprimer. Résultat 04 > Solution n 31 (exercice p. 36) 103

Solution 5 Basculer la couche ZonagePPRI_LaFleche.shp en mode édition. Utiliser l'outil séparer les entités. Suivre la limite communale en ayant vérifié que l'accrochage sur cette couche est activé. Une fois l'objet découpé, supprimer l'élément supérieur Astuce : comme dans l'exercice 1 pour suivre plus facilement le contour de la limite communale, vous p (cf. Paramétrage et options d'accrochage)ouvez afficher les sommets de cette couche choisissant un style de ligne «Ligne de symbole» avec un marqueur sur chaque sommet ainsi qu'un remplissage «Pas de brosse» ou une transparence sur la couche ZonagePPRI_LaFleche.shp. Résultat 05 > Solution n 32 (exercice p. 36) Solution 6 Basculer la couche ZonagePPRI_LaFleche.shp en mode édition. Sélectionner l'outil Simplifier l'entité. Cliquer sur l'objet, déplacer le curseur vers la droite. 104 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Résultat 06 > Solution n 33 (exercice p. 36) Solution 7 Basculer la couche ZonagePPRI_LaFleche.shp en mode édition. Activer l'outil Ajouter une entité. Vous pouvez appliquer la même méthode qu'à la question 1, mais il est possible de travailler plus rapidement en supprimant l'objet La Flèche de la table des communes afin de pouvoir activer l'option «Éviter les intersections» dans les options d'accrochage et de dessiner grossièrement le contour de l'objet en débordant sur l'objet existant mitoyen Clermont-Créans. Lors de la validation, le nouvel objet sera automatiquement modifié pour suivre le contour des objets existants. Pour que cette option fonctionne, le fichier ne doit pas présenter d'erreur de géométrie. 105

Éviter intersection Résultat 07 > Solution n 34 (exercice p. 36) Solution 8 Basculer la couche ZonagePPRI_LaFleche.shp en mode édition. Sélectionner les objets à assembler à partir de la table attributaire. Activer l'outil Fusionner les entités sélectionnées. 106 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Résultat 08 > Solution n 35 (exercice p. 37) > Solution n 36 (exercice p. 43) Regrouper les communes par canton, et ainsi déterminer la population concernée dans chaque département. Fusion des attributs des communes par cantons Lancer l'outil Vecteur / Outil de géotraitement/ Regrouper : Couche vectorielle de saisie : COMMUNE Champ de catégorie : INSEE CANT Fichier de sorite : _STAGIAIRE/cantons.shp Cocher : Ajouter le résultat au canevas de la carte 107

Fusion des attributs des communes par canton 108 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Lancer l'outil Vecteur / GroupStats, et faire glisser les éléments depuis Field vers les cases correspondantes, comme suit : Appuyer sur le bouton 'Calculate' pour obtenir le tableau créé à gauche de la figure. Exporter le résultat depuis File / Save all as CSV File (\_STAGIAIRE\cantons_pop.csv) 109

Mise à jour des données Ajouter le fichier \_STAGIAIRE\cantons_pop.csv à QGIS depuis le menu Couche / ajouter une couche vecteur (si besoin, spécifier CSV dans le type de fichier à rechercher). 110 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Par clic droit sur les propriétés de la couche cantons, aller dans les propriétés, puis, dans l'onglet jointure, réaliser la jointure avec canton_pop comme suit : Dans la table attributaire de cantons, la population par canton est la dernière colonne «cantons_pop_none». > Solution n 37 (exercice p. 47) Calculs de la pente et de l'aspect du terrain ouverture du MNT au pas de 25 m : MNT_25M_asc.asc calcul de la pente : soit par le menu par défaut de QGIS, soit par l'extension Analyse raster de terrain (fichier résultat au format Géotiff : pente.tif) Lorsque la couche est calculée, on obtient un rectangle gris uniforme dont on peut améliorer la lecture en utilisant l'outil "Étendre l'histogramme à tout le jeu de données". La teinte grise obtenue est représentative de la valeur de la pente du terrain calculée. La copie d'écran ci-dessous correspond à l'utilisation de l'extension Analyse du terrain. Si l'on utilise la commande par défaut de QGIS, ne pas oublier de choisir le résultat en degrés (car cette commande permet de choisir entre degrés et pourcentage). 111

calcule de la pente du MNT calcul de l'aspect : pour l'aspect (fichier résultat au format Géotiff : aspect.tif), l'utilisation du menu par défaut de QGIS est préférable ici, car il permet, dans les paramètres de la fenêtre de dialogue, de donner la valeur 0 pour les terrains plats, au lieu de "pas de données" via l'extension. Le terrain plat est donc considéré comme étant orienté au nord, ce qui est de peu d'importance dans notre exemple car nous ne devons retenir que les terrains en pente. Après étirement de l'histogramme, la teinte grise obtenue est représentative de l'orientation du terrain (voir le cours). Notamment, les terrains plats sont en noir (valeur = 0 comme on l'a paramétré dans la fenêtre de dialogue). 112 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

calcul de l'aspect du MNT utilisation de la calculatrice raster pour déterminer les zones recherchées : cellules du MNT où la valeur est supérieure ou égale à 60 m ; cellules de la pente où la valeur est supérieure ou égale à 10 degrés ; cellules de l'aspect où la valeur est comprise entre 135 et 225 (secteur sud, de sud-ouest à sud-est). Ce qui amène à la formule suivante : "MNT_25M_asc@1" >= 60 AND "pente@1" >= 10 AND "aspect@1" >= 135 AND "aspect@1" <= 225 113

calculatrice raster Le premier résultat est une couche raster resultat_mnt1.tif où les cellules respectant la formule sont à 1 (blanc), les autres à 0 (noir). Image 9 résultat MNT 1ère étape TIF 114 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Image 10 résultat MNT 2ème étape TIF En utilisant la commande "Convertir" du menu raster, on élimine les cellules à 0 pour ne garder que les cellules affectées d'une valeur non nulle (en l'occurrence leur valeur est 1). Le second résultat est une couche raster resultat_mnt_tif.tif qui ne contient donc que les cellules respectant la formule saisie plus haut. On peut polygoniser la couche raster, ce qui permettra de manipuler la couche vectorielle résultat avec plus de facilité : menu Raster - Convertir Polygoniser (Raster vers Vecteur) Image 11 commande polygoniser Le résultat final est donc une couche vectorielle resultat_mnt_shp que l'on peut superposer avec le scan 25 pour vérifier la justesse des calculs. 115

résultat MNT SHP > Solution n 38 (exercice p. 49) Solution de l'exercice de création d'un VRT 116 Démarrer un nouveau projet et lancer la commande : Raster Divers - Contruire un Raster Virtuel (catalogue VRT) Choisir "Sélectionner un répertoire plutôt qu'un fichier" (cela évite de saisir les 25 tuiles les unes après les autres) et Image 12 exercice solution créer un VRT sélectionner le sous-répertoire tuiles_scan25 donner le nom du fichier VRT en sortie : VRT_SCAN25 et le positionner dans le répertoire /SCAN25/ cocher "Résolution : plus haute" et "Source de valeurs nulles : 0" (pour rendre transparent les zones vides qui pourraient être créées lors de l'assemblage des tuiles, ce qui ne sera pas le cas ici). cliquer sur "OK" pour lancer l'assemblage puis sur "Close" si tout s'est bien passé (il peut y avoir un message d'avertissement si d'autres fichiers non géographiques sont présents dans le sous-répertoire, mais cela ne doit pas empêcher la commande de s'effectuer) Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Le style par défaut est un dégradé de gris (Bande grise unique). On souhaite retrouver la palette de couleurs du Scan 25 ; Pour cela, le style par défaut du Scan 25 est disponible dans le répertoire SCAN25 : fichier Image 13 exercice VRT solution Style Scan scan25.qml ; 25 dans la fenêtre des propriétés de la couche : onglet Style : bouton "Charger le style" et sélection du fichier Scan25.qmll situé dans \SCAN25 ; bouton "Appliquer" ou "OK" Le style est appliqué à l'ensemble des tuiles composant le VRT qui est considérée comme une couche unique. Nota : le type de rendu est resté à «Bande grise unique» pendant cette manipulation, mais lors de la prochaine ouverture de cet onglet, il sera passé à «Palette». > Solution n 39 (exercice p. 51) Solution Pour repérer les valeurs des pixels des routes rouges et orange, utiliser le bouton "i" Identifier les entités : rouge=191- orange = 134 dans la calculatrice Raster, utiliser l'expression Extrait_72_Topo@1 = 191 OR Extrait_72_Topo@1 = 134 enregistrer le résultat dans une couche Raster au format GéoTiff (étirer l'histogramme pour visualiser et constater la pertinence du calcul) lancer la commande de proximité sur cette nouvelle couche : valeur = 1 unité = GEO enregistrer le résultat dans une couche Raster au format GéoTif (étirer l'histogramme pour visualiser) lancer la commande Contours sur cette couche : distance = 250 enregistrer le résultat dans une couche vectorielle (format SHP par exemple). afficher cette couche vectorielle sur le scan25 initial. 117

Résultat exercice de calcul de la proximité > Solution n 40 (exercice p. 53) Nouveau jeu de données Créer un secteur GRASS et un jeu de données avec une projection EPSG : 2154 RGF93/Lambert-93 Cliquer sur l'icône Nouveau jeu de données Choisir le répertoire «GrassData» pour la base de données Géodatabase GRASS, par défaut il pointe sur la dernière Géodatabase et valider avec le bouton NEXT Créer un nouveau secteur Image 14 Création secteur Définition de la projection Image 15 Définition de la projection 118 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

Définition de la Région Image 16 Définition de la région Conseil : Astuce Vous pouvez charger la couche parcellaire dans QGIS et cliquer sur le bouton Fixer l'emprise courante de QGIS, sinon vous choisissez la France et vous valider avec le bouton Données. Le choix de la France nécessitera de définir une région plus précise après avoir importer les couches. Création du jeu de données Image 17 Création jeu de données Bravo! Toutes les opérations préalables à l'utilisation des fonctionnalités de GRASS ont été réalisées. Import des données Importer le MNT avec la commande r.in.gdal (Gestion de fichier, importer dans GRASS, importer un raster dans GRASS depuis une source externe) Import fichier raster 119

Attention Ne pas tenir compte de la projection (utiliser celle du secteur) car les fichiers rasters ne contiennent pas l'information. Remarque : Affichage du résultat Suite à l'exécution de chaque module on peut afficher le résultat dans QGIS en cliquant sur le bouton Vue Importer la couche PARCELLE avec la commande v.in.ogr importer dans GRASS, importer un vecteur dans GRASS) (Gestion de fichier, Import fichier vecteur Remarque Extend region extents based on new dataset, permet d'étendre éventuellement la région aux nouvelles données si celle-ci sortent de la région initiale Complément : Ajuster la région Le pré-paramétrage des modules g.region n'est pas adapté. Pour contourner ce problème il faut appeler la console shell et saisir la commande g.region avec les paramètres suivants : vect=parcelle pour limiter la région à l'emprise de la couche vectorielle PARCELLE res=25 pour définir une résolution égale au pas du MNT Console shell Créer une carte des pentes Créer une carte des pentes depuis le MNT avec le module r.slope (Raster, Analyse spatiale, Analyse de terrain) Le module r.slope permet de créer une carte des pentes depuis un DEM (Modèle 120 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :

numérique d'élévation) Module r.slope Remarque Choisir le format de sortie en pourcentage dans les options avancées Calculer les pentes moyennes de chaque parcelle Calculer les pentes moyennes de chaque parcelle à partir de la carte des pentes avec le module v.rast.stats (Vecteur, Mise à jour vectorielle via d'autres cartes) Le module v.rast.stats permet d' ajouter les colonnes statistiques à la couche vectorielle à partir des valeurs de la couche raster situées sur les objets de la couche vectorielle. Ajout de colonne statistique sur des données raster à une couche vectorielle Complément : Les données statistiques La colonne préfix permet de de préfixer les noms des 9 attributs ajoutés à la table vectorielle ( n, min, max, range, mean, stddev, variance, coeff_var, sum) n = le nombre de points raster min = la valeur minimale de la zone max= la valeur maximale de la zone range=l'écart entre les valeurs min et max mean = la moyenne des n valeurs stddev= l'écart type des n valeurs variance= la variance des n valeurs coeff_var=le coefficient de variation des n valeurs 121

sum= la somme des n valeurs Attention Pour obtenir le résultat dans QGIS il faut ouvrir à nouveau la couche PARCELLE avec l'icône Ajouter une couche vectorielle GRASS si celle-ci était déjà présente dans QGIS. Représenter les pentes moyennes des parcelles par classe Représenter les parcelles avec les classes suivantes : >0 et <=7%, > 7% et <=10%, > 10% Sélectionner la couche PARCELLE dans le gestionnaire de couche Afficher les propriétés de la couche PARCELLE à l'aide de la commande Couche/Propriétés ou double-cliquer sur la couche PARCELLE dans le gestionnaire de couche, onglet Style Définir Gradué dans le rendu symbole, choisir la colonne numérique pente_mean, réduire le nombre de classes à 3, et choisir le mode de classement Intervalles égaux. Modifier le classement avec les plages de valeurs souhaitées Représentation des parcelles par classe de valeurs Le classement des parcelles Pente moyenne des parcelles 122 Licence ouverte ETALAB - Maîtrise d'ouvrage : MEDDE MAAF / Maîtrise d'œuvre :