{"id":138,"date":"2018-08-02T16:27:13","date_gmt":"2018-08-02T14:27:13","guid":{"rendered":"http:\/\/sigeodev.cerege.fr\/?p=138"},"modified":"2021-01-28T15:35:44","modified_gmt":"2021-01-28T14:35:44","slug":"conversion-fichier-ascii-xyz-en-shapefile","status":"publish","type":"post","link":"https:\/\/sigeo.cerege.fr\/?p=138","title":{"rendered":"Conversion fichier ASCII XYZ en Shapefile"},"content":{"rendered":"<p>On fera attention au s\u00e9parateur de champs du fichier (virgule par d\u00e9faut, tabulation, espace) et \u00e0 la pr\u00e9sence ou non d\u2019une ent\u00eate.<\/p>\n<p>2 possibilit\u00e9s, en utilisant ArcGIS ou en utilisant OGR<\/p>\n<h3 class=\"spip\">Avec ArcGIS<\/h3>\n<p><strong>1-<\/strong>\u00a0Renommer votre fichier avec l\u2019extension .csv ou .txt<\/p>\n<p><strong>2-<\/strong>\u00a0Modifier le fichier schema.ini<\/p>\n<p>Plus d\u2019infos sur ce fichier schema.ini \u00e0\u00a0<a class=\"spip_url spip_out\" href=\"http:\/\/www.tectonics.caltech.edu\/gis\/reference\/tables.html\" rel=\"nofollow external\">http:\/\/www.tectonics.caltech.edu\/gi&#8230;<\/a><\/p>\n<p>Ex. de fichier schema.ini correspondant au fichier input.csv ci-dessus\u00a0:<\/p>\n<div class=\"spip_code\" dir=\"ltr\"><code>[input.csv]<br \/>\nColNameHeader=False<br \/>\nFormat=Delimited( )<br \/>\nCol1=X Double<br \/>\nCol2=Y Double<br \/>\nCol3=Z Double<\/code><\/div>\n<ul class=\"spip\">\n<li>si le fichier contient une ligne d\u2019ent\u00eate, on aura ColNameHeader=True<\/li>\n<li>si le s\u00e9parateur est la virgule on aura Format=CSVDelimited<\/li>\n<li>si le s\u00e9parateur est la tabulation on aura Format=TabDelimited<\/li>\n<li>si le s\u00e9parateur est l\u2019espace on aura Format=Delimited( )<\/li>\n<li>si le s\u00e9parateur est | on aura Format=Delimited(|)<\/li>\n<li>\u2026 etc avec d\u2019autres s\u00e9parateurs<\/li>\n<\/ul>\n<p>Si le fichier n\u2019est pas bien reconnu par ArcCatalog, on peut d\u00e9finir le codage des caract\u00e8res en ajoutant la ligne suivante dans schema.ini\u00a0: CharacterSet=UNICODE Changer UNICODE par le codage correct (ANSI, autre \u2026)<\/p>\n<p><strong>3-<\/strong>\u00a0V\u00e9rifier la reconnaissance du fichier par ArcCatalog<\/p>\n<p>V\u00e9rifier dans ArcCatalog que votre fichier est bien reconnu. Pour cela votre fichier doit s\u2019afficher dans l\u2019onglet Aper\u00e7u. V\u00e9rifier aussi que le type des champs est correct. Pour cela faire un clic droit sur le fichier et v\u00e9rifier l\u2019onglet Champs<\/p>\n<p><strong>4-<\/strong>\u00a0Cr\u00e9er le shapefile de points<\/p>\n<p>Clic droit sur le fichier \u2013 Cr\u00e9er une classe d\u2019entit\u00e9s \u2013 A partir d\u2019une table XY \u2013 Renseigner les champs contenant les coordonn\u00e9es X, Y et \u00e9ventuellement Z\u00a0; renseigner aussi le syst\u00e8me de coordonn\u00e9es\u00a0; sp\u00e9cifier le fichier en sortie \u2013 Cliquer sur OK V\u00e9rifier votre shapefile.<\/p>\n<h3 class=\"spip\">Avec linux et OGR<\/h3>\n<p>Plus d\u2019infos sur\u00a0<a class=\"spip_url spip_out\" href=\"http:\/\/www.gdal.org\/ogr\/drv_csv.html\" rel=\"nofollow external\">http:\/\/www.gdal.org\/ogr\/drv_csv.html<\/a>\u00a0et\u00a0<a class=\"spip_url spip_out\" href=\"http:\/\/gdal.gloobe.org\/ogr\/formats\/csv.html\" rel=\"nofollow external\">http:\/\/gdal.gloobe.org\/ogr\/formats\/&#8230;<\/a><\/p>\n<p>1- Renommer votre fichier avec l\u2019extension .csv<\/p>\n<p>2- Ajouter la ligne d\u2019ent\u00eate La ligne d\u2019ent\u00eate doit contenir les noms des colonnes s\u00e9par\u00e9s par le d\u00e9limiteur. Ex.<\/p>\n<div class=\"spip_code\" dir=\"ltr\"><code>X Y Z<br \/>\n869324.598 1783031.225 125.000<br \/>\n869781.445 1783057.845 126.000<br \/>\n869340.038 1782760.764 127.000<\/code><\/div>\n<p>Pour cela, on peut soit \u00e9diter le fichier avec un \u00e9diteur de texte soit utiliser une commande sed dans le shell\u00a0: Ex. (ajout d\u2019une ligne \u2019\u2019X Y Z\u2019\u2019 en d\u00e9but de fichier)<\/p>\n<p><code class=\"spip_code\" dir=\"ltr\">sed '1i\\X Y Z' input.csv &gt; output.csv<\/code><\/p>\n<p>3- Remplacement du caract\u00e8re Espace par le caract\u00e8re Tabulation<\/p>\n<p>OGR ne reconnaissant par le caract\u00e8re Espace comme s\u00e9parateur, il faut le remplacer par une tabulation ou une virgule. Pour cela on utiliser une commande shell\u00a0:<\/p>\n<p><code class=\"spip_code\" dir=\"ltr\">tr ' ' '\\t' &lt;input.csv &gt;&gt;output.csv<\/code><\/p>\n<p>on peut aussi utiliser sed, exemple\u00a0:<\/p>\n<p><code class=\"spip_code\" dir=\"ltr\">sed 's\/[ ]\/\\t\/g' test3.csv &gt; test3_b.csv<\/code><\/p>\n<p>4- Lecture d\u2019un CSV contenant des donn\u00e9es spatiales<\/p>\n<p>Il est possible d\u2019extraire de l\u2019information spatiale (points) d\u2019un CSV ayant des colonnes X et Y en utilisant le driver VRT (<a class=\"spip_url spip_out\" href=\"http:\/\/www.gdal.org\/ogr\/drv_vrt.html\" rel=\"nofollow external\">http:\/\/www.gdal.org\/ogr\/drv_vrt.html<\/a>\u00a0) Il faut \u00e9crire le fichier VRT associ\u00e9 (input.vrt) au fichier CSV (input.csv)<\/p>\n<div class=\"spip_code\" dir=\"ltr\"><code>&lt;OGRVRTDataSource&gt;<br \/>\n&lt;OGRVRTLayer name=\"input\"&gt;<br \/>\n&lt;SrcDataSource&gt;input.csv&lt;\/SrcDataSource&gt;<br \/>\n&lt;GeometryType&gt;wkbPoint&lt;\/GeometryType&gt;<br \/>\n&lt;LayerSRS&gt;EPSG:27572&lt;\/LayerSRS&gt;<br \/>\n&lt;GeometryField encoding=\"PointFromColumns\" x=\"X\" y=\"Y\"\/&gt;<br \/>\n&lt;\/OGRVRTLayer&gt;<br \/>\n&lt;\/OGRVRTDataSource&gt;<\/code><\/div>\n<p>et ogrinfo input.vrt renverra\u00a0:<\/p>\n<div class=\"spip_code\" dir=\"ltr\"><code>INFO: Open of `input.vrt'<br \/>\nusing driver `VRT' successful.<br \/>\n1: input (Point)<\/code><\/div>\n<p>5- Conversion du CSV en Shapefile<\/p>\n<p><code class=\"spip_code\" dir=\"ltr\">ogr2ogr output.shp input.vrt<\/code><\/p>\n\n\n<p>On peut ajouter un filtre spatial sur les coordonn\u00e9es en utilisant &#8220;-spat&#8221;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ogr2ogr -spat 822500 6245000 836500 6264000 -a_srs epsg:2154 Veran_T_total.shp T_total.vrt<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On fera attention au s\u00e9parateur de champs du fichier (virgule par d\u00e9faut, tabulation, espace) et \u00e0 la pr\u00e9sence ou non d\u2019une ent\u00eate. 2 possibilit\u00e9s, en utilisant ArcGIS ou en utilisant OGR Avec ArcGIS 1-\u00a0Renommer votre fichier avec l\u2019extension .csv ou .txt 2-\u00a0Modifier le fichier schema.ini Plus d\u2019infos sur ce fichier schema.ini \u00e0\u00a0http:\/\/www.tectonics.caltech.edu\/gi&#8230; Ex. de fichier &hellip; <a href=\"https:\/\/sigeo.cerege.fr\/?p=138\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Conversion fichier ASCII XYZ en Shapefile&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,12,10],"tags":[],"class_list":["post-138","post","type-post","status-publish","format-standard","hentry","category-arcgis","category-gdal-ogr","category-sig"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=\/wp\/v2\/posts\/138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=138"}],"version-history":[{"count":2,"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=\/wp\/v2\/posts\/138\/revisions"}],"predecessor-version":[{"id":605,"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=\/wp\/v2\/posts\/138\/revisions\/605"}],"wp:attachment":[{"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sigeo.cerege.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}