{"id":3492,"date":"2017-12-04T15:03:17","date_gmt":"2017-12-04T14:03:17","guid":{"rendered":"https:\/\/abcdr.guyader.pro\/?p=3492"},"modified":"2018-05-02T22:26:25","modified_gmt":"2018-05-02T21:26:25","slug":"comment-lire-le-contenu-dun-shapefile-avec-r","status":"publish","type":"post","link":"https:\/\/thinkr.fr\/abcdr\/comment-lire-le-contenu-dun-shapefile-avec-r\/","title":{"rendered":"Comment lire le contenu d&#039;un shapefile avec R ?"},"content":{"rendered":"<p>Un shapefile est un fichier d&rsquo;information g\u00e9ographique avec un format vectoriel. Il permet de repr\u00e9senter des points (e.g. villes), des lignes (e.g. routes) et des polygones (e.g. d\u00e9partements) avec un syst\u00e8me d&rsquo;information g\u00e9ographique. Le format shapefile est compos\u00e9 de plusieurs fichiers s\u00e9par\u00e9s (4 minimum):<\/p>\n<ul>\n<li>data.shp : informations de g\u00e9om\u00e9trie (coordonn\u00e9es)<\/li>\n<li>data.prj : information de syst\u00e8me de projection<\/li>\n<li>data.dbf : table des attributs<\/li>\n<li>data.shx : indice de position des g\u00e9om\u00e9tries<\/li>\n<\/ul>\n<p>Dans R, deux packages majeurs sont utilis\u00e9s pour manipuler les donn\u00e9es g\u00e9ographiques de type vectoriel:<\/p>\n<ul>\n<li>{sp} : Le package de r\u00e9f\u00e9rence. Il utilise notamment la librairie {rgdal} pour lire les donn\u00e9es g\u00e9ographiques, un package utilisant la librairie gdal (<a href=\"http:\/\/www.gdal.org\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.gdal.org\/<\/a>).<\/li>\n<li>{sf} : Sorti sur CRAN en 2017, il permet de travailler avec les objets vectoriels avec toutes les fonctions du {tidyverse}. Il utilise gdal de mani\u00e8re native.<\/li>\n<\/ul>\n<h2>Lire le contenu d&rsquo;un shapefile avec la librairie {sp}<\/h2>\n<p>Le shapefile sera lu directement avec la librairie {rgdal}. Il pourra ensuite \u00eatre utilis\u00e9 avec les diff\u00e9rentes fonctions du package {sp}.<br \/>\nUn shapefile contient toujours plusieurs fichiers ayant tous le m\u00eame nom mais une extension diff\u00e9rente. Pour le lire avec la fonction <code>rgdal<\/code> de la librarie {sp} , il faut donner le dossier (<code>dsn<\/code>) dans lequel il est sauv\u00e9 et le nom de la couche (<code>layer<\/code>) sans extension.<\/p>\n<pre class=\"r\"><code>library(rgdal)\nlibrary(sp)\nshp &lt;- readOGR(dsn = 'chemin\/vers\/dossier',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 layer = 'NomDeCoucheSansExtension')\n<\/code><\/pre>\n<p>Vous pourrez ensuite r\u00e9cup\u00e9rer les informations suivantes:<\/p>\n<ul>\n<li>projection<\/li>\n<\/ul>\n<pre class=\"r\"><code>proj4string(shp)\n<\/code><\/pre>\n<ul>\n<li>coordonn\u00e9es des objets (pertinent pour les fichiers de points)<\/li>\n<\/ul>\n<pre class=\"r\"><code>coordinates(shp)\n<\/code><\/pre>\n<ul>\n<li>Les donn\u00e9es de la table attributaire sans l&rsquo;information g\u00e9ographique<\/li>\n<\/ul>\n<pre class=\"r\"><code>shp@data\n# ou\ndata.frame(shp)\n<\/code><\/pre>\n<h2>Lire le contenu d&rsquo;un shapefile avec la librairie {sf}<\/h2>\n<p>Comme pour {rgdal}, la lecture du shapefile se fait en sp\u00e9cifiant le dossier (<code>dsn<\/code>) et le nom de la couche (<code>layer<\/code>) sans extension.<\/p>\n<pre class=\"r\"><code>library(sf)\nshp &lt;- st_read(dsn = 'chemin\/vers\/dossier',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 layer = 'NomDeCoucheSansExtension')\n<\/code><\/pre>\n<p>Vous pourrez ensuite r\u00e9cup\u00e9rer les informations suivantes:<\/p>\n<ul>\n<li>projection<\/li>\n<\/ul>\n<pre class=\"r\"><code>st_crs(shp)\n<\/code><\/pre>\n<ul>\n<li>coordonn\u00e9es des objets. Les coordonn\u00e9es des lignes et des polygones sont fournies avec les identifiants des lignes \/ sous-lignes ou polygones \/ sous-polygones auxquels ils appartiennent.<\/li>\n<\/ul>\n<pre class=\"r\"><code>st_coordinates(shp)\n<\/code><\/pre>\n<ul>\n<li>Les donn\u00e9es de la table attributaire sans l&rsquo;information g\u00e9ographique. <em>Les op\u00e9rations classiques sur les tables de donn\u00e9es peuvent \u00eatre r\u00e9alis\u00e9es directement l&rsquo;objet <code>shp<\/code>.<\/em><\/li>\n<\/ul>\n<pre class=\"r\"><code>data.frame(shp)\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Un shapefile est un fichier d&rsquo;information g\u00e9ographique avec un format vectoriel. Il permet de repr\u00e9senter des points (e.g. villes), des lignes (e.g. routes) et des polygones (e.g. d\u00e9partements) avec un syst\u00e8me d&rsquo;information g\u00e9ographique. Le format shapefile est compos\u00e9 de plusieurs fichiers s\u00e9par\u00e9s (4 minimum): data.shp : informations de g\u00e9om\u00e9trie (coordonn\u00e9es) data.prj : information de syst\u00e8me de projection data.dbf : table des attributs data.shx : indice de position des g\u00e9om\u00e9tries Dans R, deux packages majeurs sont utilis\u00e9s pour manipuler les donn\u00e9es g\u00e9ographiques de type vectoriel: {sp} : Le package de r\u00e9f\u00e9rence. Il utilise notamment la librairie {rgdal} pour lire les donn\u00e9es g\u00e9ographiques, un package utilisant la<a class=\"more-link\" href=\"https:\/\/thinkr.fr\/abcdr\/comment-lire-le-contenu-dun-shapefile-avec-r\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"twitter_399453572_399453572":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","jetpack_post_was_ever_published":false,"_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":""},"categories":[20,23],"tags":[],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-seb","4":"post-3492","6":"format-standard","7":"category-sig-cartographie","8":"category-transformation-de-donnees"},"acf":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p9O7Sx-Uk","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/comments?post=3492"}],"version-history":[{"count":3,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3492\/revisions"}],"predecessor-version":[{"id":4528,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3492\/revisions\/4528"}],"wp:attachment":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/media?parent=3492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/categories?post=3492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/tags?post=3492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}