﻿{"id":9006,"date":"2019-09-20T14:43:25","date_gmt":"2019-09-20T12:43:25","guid":{"rendered":"https:\/\/www.sigterritoires.fr\/?p=9006"},"modified":"2023-04-28T14:57:06","modified_gmt":"2023-04-28T12:57:06","slug":"migrer-un-script-r-de-qgis-vers-rstudio","status":"publish","type":"post","link":"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/","title":{"rendered":"Migrer un script R de QGis vers RStudio"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">La possibilit\u00e9 d&rsquo;ex\u00e9cuter des scripts R dans QGis est bien pratique. Par contre, si on d\u00e9marre avec R ce n&rsquo;est pas l&rsquo;environnement le plus facile. Modifier quelques instructions d&rsquo;un mod\u00e8le de script ne pose pas trop de probl\u00e8mes, mais \u00e9crire un script plus compliqu\u00e9 vaut bien la peine de travailler avec un environnement plus complet, tel que R Studio. La possibilit\u00e9 d&rsquo;ex\u00e9cuter les lignes pas \u00e0 pas, l&rsquo;acc\u00e8s au contenu des variables, la fen\u00eatre des graphiques, bref, la disponibilit\u00e9 d&rsquo;un v\u00e9ritable environnement  de d\u00e9veloppement est un atout pour tout d\u00e9butant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le premier probl\u00e8me auquel on est confront\u00e9, quand on a un mod\u00e8le de script sous QGis et que l&rsquo;on veut l&rsquo;utiliser et modifier dans RStudio est l&rsquo;acc\u00e8s aux donn\u00e9es. L&rsquo;interface de QGis avec les scripts R se fait \u00e0 travers les lignes de code pr\u00e9c\u00e9d\u00e9es par des ##:<\/p>\n\n\n\n<!--more-->\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im4.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"540\" data-attachment-id=\"9007\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im4-7\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im4.png?fit=720%2C607&amp;ssl=1\" data-orig-size=\"720,607\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im4.png?fit=640%2C540&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im4.png?resize=640%2C540&#038;ssl=1\" alt=\"\" class=\"wp-image-9007\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im4.png?w=720&amp;ssl=1 720w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im4.png?resize=300%2C253&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"> Dans cet exemple nous avons trois cat\u00e9gories de lignes avec ##:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Des lignes propres \u00e0 QGis:Basic statistics = group ou showplots, qui d\u00e9finissent o\u00f9 placer le script et s&rsquo;il faut une sortie graphique. Ces lignes n&rsquo;ont pas \u00e0 \u00eatre prises en compte dans RStudio.<\/li><li>Des lignes qui permettent de param\u00e9trer des valeurs de variables \u00e0 utiliser dans corps du script: nb_simul et nb_vois. Ces lignes sont \u00e0 transformer simplement en ligne de code, au d\u00e9but du script, d\u00e9finissant une valeur \u00e0 la variable (nb_simul = 100, nb_vois=10)<\/li><li>Des lignes de d\u00e9finition des donn\u00e9es source \u00e0 utiliser dans le script: Layer=vector et Field=Field Layer. Ces lignes vont \u00eatre traduites dans le fen\u00eatre QGis de lancement du traitement, pars des champs contenant la liste de couches charg\u00e9es dans QGis et la liste des attributs de chaque couche. C&rsquo;est bien pratique, mais ce sont ces lignes qui poseront probl\u00e8me lors du passage \u00e0 RStudio.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous \u00eates press\u00e9, allez directement au paragraphe \u00ab\u00a0Charger un <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/frshapefile-vs-geopackage-quel-format-choisir\/\">shapefile<\/a> dans R\u00a0\u00bb qui vous donne le code pour remplacer les lignes 2 et 3 de cet exemple. Si vous voulez un panorama plus large sur l&rsquo;acc\u00e8s aux donn\u00e9es avec R, prenez le temps de lire les paragraphes suivants.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les diff\u00e9rence de terminologie entre QGis et R<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous n&rsquo;\u00eates pas familier de R et que vous cherchez sur le net des informations, sachez que certains mots n&rsquo;ont pas la m\u00eame signification dans le domaine des <a href=\"https:\/\/www.sigterritoires.fr\/\">SIG<\/a> et dans R .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Layer=vector dans QGis indique au g\u00e9n\u00e9rateur de la fen\u00eatre de param\u00e9trage qu&rsquo;il s&rsquo;agit d&rsquo;une couche charg\u00e9e dans QGis. Dans R, vector indique une suite de valeurs \u00e0 une dimension, par exemple la suite de valeurs contenues dans une colonne de la table d&rsquo;attributs. Rien \u00e0 voir avec la distinction en SIG des modes vecteur et raster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans R il y a diff\u00e9rents types d&rsquo;objet contenant des donn\u00e9es. Les conna\u00eetre est indispensable pour pouvoir les utiliser dans les scripts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> L&rsquo;objet VECTEUR dans R <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un vecteur c&rsquo;est l&rsquo;\u00e9l\u00e9ment de base des donn\u00e9es dans R. Il correspond \u00e0 une suite de valeurs. Par exemple: 1,2,3,4,5,6,7,8,9,10 . Vous pouvez avoir trois types de vecteurs: num\u00e9riques, caract\u00e8res et logiques(des suites de valeurs FRAI\/FAUX).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour des petits vecteurs n\u00e9cessaires dans un script, vous pouvez tout simplement les coder en dur avec l&rsquo;instruction c():<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a=c( 1,2,3,4,5,6,7,8,9,10 )<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9e le vecteur a avec les valeurs indiqu\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par contre, si vous devez lire les valeurs dans un fichier, l&rsquo;instruction \u00e0 utiliser est <strong><em>scan<\/em><\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im6.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"453\" data-attachment-id=\"9008\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im6-7\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im6.png?fit=765%2C542&amp;ssl=1\" data-orig-size=\"765,542\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im6\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im6.png?fit=640%2C453&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im6.png?resize=640%2C453&#038;ssl=1\" alt=\"\" class=\"wp-image-9008\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im6.png?w=765&amp;ssl=1 765w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im6.png?resize=300%2C213&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cet exemple le fichier liste1.txt est de la forme:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im5.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"437\" height=\"422\" data-attachment-id=\"9009\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im5-7\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im5.png?fit=437%2C422&amp;ssl=1\" data-orig-size=\"437,422\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im5\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im5.png?fit=437%2C422&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im5.png?resize=437%2C422&#038;ssl=1\" alt=\"\" class=\"wp-image-9009\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im5.png?w=437&amp;ssl=1 437w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im5.png?resize=300%2C290&amp;ssl=1 300w\" sizes=\"auto, (max-width: 437px) 100vw, 437px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mais il pet aussi \u00eatre de la forme:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im7.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"434\" height=\"432\" data-attachment-id=\"9010\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im7-6\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im7.png?fit=434%2C432&amp;ssl=1\" data-orig-size=\"434,432\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im7\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im7.png?fit=434%2C432&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im7.png?resize=434%2C432&#038;ssl=1\" alt=\"\" class=\"wp-image-9010\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im7.png?w=434&amp;ssl=1 434w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im7.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im7.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im7.png?resize=100%2C100&amp;ssl=1 100w\" sizes=\"auto, (max-width: 434px) 100vw, 434px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;instruction scan() charge les valeurs, qu&rsquo;ils soient en ligne ou en colonne.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im8.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"448\" data-attachment-id=\"9011\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im8-5\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im8.png?fit=767%2C537&amp;ssl=1\" data-orig-size=\"767,537\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im8\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im8.png?fit=640%2C448&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im8.png?resize=640%2C448&#038;ssl=1\" alt=\"\" class=\"wp-image-9011\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im8.png?w=767&amp;ssl=1 767w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im8.png?resize=300%2C210&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pour plus d&rsquo;information sur l\u2019instruction scan: <a href=\"https:\/\/stat.ethz.ch\/R-manual\/R-devel\/library\/base\/html\/scan.html\">https:\/\/stat.ethz.ch\/R-manual\/R-devel\/library\/base\/html\/scan.html<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">L&rsquo;objet DATA.FRAME dans R<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les data.frames ce sont des tables ou matrices. En r\u00e9alit\u00e9, ce sont des vecteurs de m\u00eame longueur trait\u00e9s comme un ensemble.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un exemple de cr\u00e9ation de tableau (df) avec l&rsquo;instruction data.frame.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im9-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"491\" data-attachment-id=\"9013\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im9-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im9-1.png?fit=768%2C589&amp;ssl=1\" data-orig-size=\"768,589\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im9-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im9-1.png?fit=640%2C491&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im9-1.png?resize=640%2C491&#038;ssl=1\" alt=\"\" class=\"wp-image-9013\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im9-1.png?w=768&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im9-1.png?resize=300%2C230&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">On cr\u00e9e trois vecteurs (num, minuscules, majuscules), puis l&rsquo;instruction data.frame cr\u00e9e la matrice df. Pour plus d&rsquo;informations sur l&rsquo;instruction data.frame: <a href=\"https:\/\/www.rdocumentation.org\/packages\/base\/versions\/3.6.1\/topics\/data.frame\">https:\/\/www.rdocumentation.org\/packages\/base\/versions\/3.6.1\/topics\/data.frame<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Charger un data.frame \u00e0 partir d&rsquo;un fichier csv<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Passons maintenant \u00e0 des situations plus classiques. Vos donn\u00e9es sont d\u00e9j\u00e0 des tableaux ou matrices, pas des vecteurs s\u00e9par\u00e9s. Un moyen classique de r\u00e9cup\u00e9rer vos donn\u00e9es c&rsquo;est sous forme d&rsquo;un fichier texte de type csv.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un exemple:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" width=\"1584\" height=\"371\" data-attachment-id=\"9014\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im10-6\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?fit=1584%2C371&amp;ssl=1\" data-orig-size=\"1584,371\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im10\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?fit=640%2C150&amp;ssl=1\" src=\"https:\/\/i1.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?fit=525%2C123&amp;ssl=1\" alt=\"\" class=\"wp-image-9014\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?w=1584&amp;ssl=1 1584w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?resize=300%2C70&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?resize=768%2C180&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?resize=1024%2C240&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im10.png?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;instruction qui permet de charger un <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/importer-csv-qgis\/\">fichier csv<\/a> dans un data.frame est read.csv:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im11.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"580\" data-attachment-id=\"9015\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im11-5\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im11.png?fit=773%2C700&amp;ssl=1\" data-orig-size=\"773,700\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im11\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im11.png?fit=640%2C580&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im11.png?resize=640%2C580&#038;ssl=1\" alt=\"\" class=\"wp-image-9015\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im11.png?w=773&amp;ssl=1 773w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im11.png?resize=300%2C272&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im11.png?resize=768%2C695&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;instruction head() affiche les six premi\u00e8res lignes d&rsquo;un data.frame. Pour plus d&rsquo;informations sur l&rsquo;instruction read.csv : <a href=\"https:\/\/stat.ethz.ch\/R-manual\/R-devel\/library\/utils\/html\/read.table.html\">https:\/\/stat.ethz.ch\/R-manual\/R-devel\/library\/utils\/html\/read.table.html<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> Charger un data.frame \u00e0 partir d&rsquo;un fichier EXCEL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un exemple de chargement d&rsquo;une feuille Excel dans une data.frame:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im12.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"575\" data-attachment-id=\"9016\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im12-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im12.png?fit=764%2C687&amp;ssl=1\" data-orig-size=\"764,687\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im12\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im12.png?fit=640%2C575&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im12.png?resize=640%2C575&#038;ssl=1\" alt=\"\" class=\"wp-image-9016\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im12.png?w=764&amp;ssl=1 764w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im12.png?resize=300%2C270&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Remarquez l&rsquo;appel \u00e0 la librairie \u00ab\u00a0readxl\u00a0\u00bb, indispensable pour que RStudio retrouve l&rsquo;instruction read_excel. Comme cette biblioth\u00e8que n&rsquo;est pas install\u00e9e par d\u00e9faut, il faudra que vous l&rsquo;installiez (menu Tools-&gt;Install packages&#8230;).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour plus d&rsquo;informations sur l&rsquo;instruction read_excel: <a href=\"https:\/\/www.rdocumentation.org\/packages\/readxl\/versions\/0.1.1\/topics\/read_excel\">https:\/\/www.rdocumentation.org\/packages\/readxl\/versions\/0.1.1\/topics\/read_excel<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Charger un data.frame \u00e0 partir de la table attributaire d&rsquo;un shapefile<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La table attributaire d&rsquo;un fihier shapefile est contenue dans un fichier de type dbf. Vous pouvez acc\u00e9der directement \u00e0 la table attributaire en chargeant les donn\u00e9es avec l&rsquo;instruction read.dbf. Notez bien que dans ce cas vous n&rsquo;aurez pas les g\u00e9om\u00e9tries de votre shapefile, seulement la table attributaire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un exemple ce chargement de la table attributaire d&rsquo;une couche communes:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im13.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"576\" data-attachment-id=\"9017\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im13-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im13.png?fit=768%2C691&amp;ssl=1\" data-orig-size=\"768,691\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im13\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im13.png?fit=640%2C576&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im13.png?resize=640%2C576&#038;ssl=1\" alt=\"\" class=\"wp-image-9017\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im13.png?w=768&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im13.png?resize=300%2C270&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Deux remarques:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La premi\u00e8re est que cette instruction est contenue dans la librairie \u00ab\u00a0foreign\u00a0\u00bb que vous devrez installer au pr\u00e9alable   (menu Tools-&gt;Install packages&#8230;) .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La deuxi\u00e8me, d&rsquo;ordre plus g\u00e9n\u00e9ral, concerne le chemins des fichiers dans les instructions de lecture de donn\u00e9es. Si vous regardez les exemples pr\u00e9c\u00e9dents, vous remarquerez que les chemins des fichiers sont d\u00e9finis en utilisant des \/. Par contre dans ce dernier exemple, les chemins sont d\u00e9finis avec des \\\\. Notez donc que si vous avez des messages d&rsquo;erreur avec un nom de fichier, c&rsquo;est g\u00e9n\u00e9ralement parce que la biblioth\u00e8que de votre instruction utilise l&rsquo;autre notation&#8230; Pourquoi faire simple si on peut faire compliqu\u00e9&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> Les objets SpatialDataFrame <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un autre type d&rsquo;objet pour vos donn\u00e9es est l\u2019\u00e9quivalent des couches SIG, c&rsquo;est \u00e0 dire des objets ayant en m\u00eame temps des attributs et des g\u00e9om\u00e9tries. Ces objets sont appel\u00e9s des Spatial DataFrames (tableaux spatialis\u00e9s). Il y en a de trois types, selon le type de g\u00e9om\u00e9trie:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>avec des g\u00e9om\u00e9tries de type point : SpatialPointDataFrame<\/li><li> avec des g\u00e9om\u00e9tries de type Ligne : SpatialLineDataFrame <\/li><li> avec des g\u00e9om\u00e9tries de type Polygone : SpatialPolygonDataFrame <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ces trois types de structure associent une table attributaire \u00e0 un vecteur de g\u00e9om\u00e9tries. Mais vous pouvez cr\u00e9er seulement la partie g\u00e9om\u00e9trique, sans table attributaire. Dans ce cas les objets seront de type:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> avec des g\u00e9om\u00e9tries de type point : SpatialPoints<\/li><li> avec des g\u00e9om\u00e9tries de type Ligne : SpatialLines<\/li><li> avec des g\u00e9om\u00e9tries de type Polygone : SpatialPolygons  <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"> La biblioth\u00e8que principale pour g\u00e9rer les g\u00e9om\u00e9tries dans R est la library(sp).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comme dans QGis, en ce qui concerne la g\u00e9om\u00e9trie vous aurez deux situations diff\u00e9rentes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>vous aurez un fichier de donn\u00e9es non SIG mais contenant des coordonn\u00e9es pour les g\u00e9om\u00e9tries<\/li><li>vous aurez un fichier SIG, shapefile, par exemple.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Convertir un data.frame en Spatial*DataFrame<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ceci est l&rsquo;\u00e9quivalent de l&rsquo;option QGis <strong><em>Couche-&gt;Ajouter une couche-&gt;Ajouter une couche de texte d\u00e9limit\u00e9<\/em><\/strong> ou bien  <strong><em>Couche-&gt;Ajouter une couche-&gt;Ajouter une couche feuille de calcul<\/em><\/strong>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il faut d&rsquo;abord cr\u00e9er le data.frame avec une des options expliqu\u00e9es plus haut. Prenons l&rsquo;exemple d&rsquo;un fichier de type csv. Il faut que ce fichier contienne deux colonnes avec les coordonn\u00e9es X et Y.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans exemple suivant, les coordonn\u00e9es de chaque enregistrement sont contenues dans les champs X_mean et Y_mean<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im14.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"495\" data-attachment-id=\"9020\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im14-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im14.png?fit=770%2C596&amp;ssl=1\" data-orig-size=\"770,596\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im14\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im14.png?fit=640%2C495&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im14.png?resize=640%2C495&#038;ssl=1\" alt=\"\" class=\"wp-image-9020\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im14.png?w=770&amp;ssl=1 770w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im14.png?resize=300%2C232&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im14.png?resize=768%2C594&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;instruction SpatialPointsDataFrame n\u00e9cessite trois arguments:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>coords, une matrice avec les X et Y pour chaque enregistrement<\/li><li>data avec la data.frame de la table attributaire<\/li><li>proj4string avec le syst\u00e8me de coordonn\u00e9es de r\u00e9f\u00e9rence de la couche<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez avoir une description plus d\u00e9taill\u00e9e de la commande \u00e0 l&rsquo;adresse <a href=\"https:\/\/www.rdocumentation.org\/packages\/sp\/versions\/1.3-1\/topics\/SpatialPoints\">https:\/\/www.rdocumentation.org\/packages\/sp\/versions\/1.3-1\/topics\/SpatialPoints<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans l&rsquo;exemple, la commande dim() donne le nombre d&rsquo;enregistrements et le nombre des colonnes attributaires de l&rsquo;objet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Charger directement une couche SIG (shapefile)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Plus simple, si vous avez d\u00e9j\u00e0 une couche g\u00e9ographique, ici shapefile, vous pouvez cr\u00e9er directement la Spatial*DataFrame.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">Ici on ne verra que le chargement d'un shapefile, mais sachez qu'il est possible charger d'autres formats directement. A titre d'exemple,https:\/\/cran.r-project.org\/web\/packages\/postGIStools\/vignettes\/postGIStools-vignette.html permet de charger des donn\u00e9es directement \u00e0 partir d'une base de donn\u00e9es <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/debuter-avec-postgrespostgis\/\">Postgresql\/Postgis<\/a><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im15.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"487\" data-attachment-id=\"9021\" data-permalink=\"https:\/\/www.sigterritoires.fr\/index.php\/migrer-un-script-r-de-qgis-vers-rstudio\/im15-3\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im15.png?fit=766%2C583&amp;ssl=1\" data-orig-size=\"766,583\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"im15\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im15.png?fit=640%2C487&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im15.png?resize=640%2C487&#038;ssl=1\" alt=\"\" class=\"wp-image-9021\" srcset=\"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im15.png?w=766&amp;ssl=1 766w, https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2019\/09\/im15.png?resize=300%2C228&amp;ssl=1 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La commande readOGR permet de cr\u00e9er automatiquement le type de SpatialDataFrame correspondant au shapefile source (Point,ligne,polygone). Pour plus d&rsquo;informations sur cette commande: <a href=\"https:\/\/www.rdocumentation.org\/packages\/rgdal\/versions\/1.4-4\/topics\/readOGR\">https:\/\/www.rdocumentation.org\/packages\/rgdal\/versions\/1.4-4\/topics\/readOGR<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reste un autre type de donn\u00e9es susceptibles d&rsquo;\u00eatre charg\u00e9es dan un script R: les rasters.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les trois types d&rsquo;objet raster<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans R vous trouverez trois types d&rsquo;objets pouvant contenir des donn\u00e9es raster:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>les RasterLayer<\/li><li>les RasterStack<\/li><li>les RasterBrick<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">RasterLayer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est le type d&rsquo;objet le plus simple. Il comprend une matrice de valeurs (lignes,colonnes) et peut \u00eatre d\u00e9fini comme un raster monobande.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">li<strong><em>brary(raster)<br> test &lt;- raster(\u00ab\u00a0c:\/blog\/data\/test.tif\u00a0\u00bb)<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous avez une description d\u00e9taill\u00e9e de la commande <strong><em>raster <\/em><\/strong>\u00e0 l&rsquo;adresse <a href=\"https:\/\/www.rdocumentation.org\/packages\/raster\/versions\/3.0-2\/topics\/raster\">https:\/\/www.rdocumentation.org\/packages\/raster\/versions\/3.0-2\/topics\/raster<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si le fichier est un raster multibande, par exemple une photo a\u00e9rienne, par d\u00e9faut seule la premi\u00e8re bande est charg\u00e9e. Si non, l&rsquo;argument <strong>band <\/strong>permet de s\u00e9lectionne une autre bande. Mais dans tous les cas, un objet RasterLayer ne contient qu&rsquo;une seule bande.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"> RasterStack <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La commande RasterStack permet de cr\u00e9er un raster multibande \u00e0 partir de plusieurs RasterLayers<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <strong><em>library(raster)<br> test &lt;- stack( \u00ab\u00a0c:\/blog\/data\/landsat_band2.tif\u00a0\u00bb,  \u00ab\u00a0c:\/blog\/data\/landsat_band3.tif\u00a0\u00bb , \u00ab\u00a0c:\/blog\/data\/landsat_band5.tif\u00a0\u00bb )<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette commande cr\u00e9e un raster avec trois bandes, correspondantes aux bandes 2,3 et 5 d&rsquo;une image Landsat<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous avez des informations d\u00e9taill\u00e9es sur la commande RasterStack \u00e0 l&rsquo;adresse <a href=\"https:\/\/www.rdocumentation.org\/packages\/utils\/versions\/3.6.1\/topics\/stack\">https:\/\/www.rdocumentation.org\/packages\/utils\/versions\/3.6.1\/topics\/stack<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">RasterBrick<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette commande est similaire \u00e0 la pr\u00e9c\u00e9dente quant \u00e0 son r\u00e9sultat. La diff\u00e9rence se situe au niveau des entr\u00e9es. Tandis que la commande stack peut avoir des rasterlayers situ\u00e9s dans diff\u00e9rents fichiers, la commande brick n&rsquo;accepte qu&rsquo;un seul fichier en entr\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <strong><em>ibrary(raster)<br> test &lt;- brick(\u00ab\u00a0c:\/blog\/data\/photo.tif\u00a0\u00bb) <\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cr\u00e9era un rasterbrick avec les trois bandes (RGB) du fichier photo.tif.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous avez une description d\u00e9taill\u00e9e de la commande brick \u00e0 l&rsquo;adresse: <a href=\"https:\/\/www.rdocumentation.org\/packages\/raster\/versions\/3.0-2\/topics\/brick\">https:\/\/www.rdocumentation.org\/packages\/raster\/versions\/3.0-2\/topics\/brick<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La possibilit\u00e9 d&rsquo;ex\u00e9cuter des scripts R dans QGis est bien pratique. Par contre, si on d\u00e9marre avec R ce n&rsquo;est pas l&rsquo;environnement le plus facile. Modifier quelques instructions d&rsquo;un mod\u00e8le de script ne pose pas trop&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"give_campaign_id":0,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[425,152,62],"tags":[372],"class_list":["post-9006","post","type-post","status-publish","format-standard","hentry","category-non-classe-fr","category-outils_divers","category-qgis-2","tag-r"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p6XU0A-2lg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/9006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/comments?post=9006"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/9006\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=9006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/categories?post=9006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/tags?post=9006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}