Tutoriel: Introduction à GDAL

4. Convertir des formats SIG

4.4. Convertir des valeurs séparées par des virgules (CSV)

Parfois, vous souhaitez reprojeter des coordonnées dans un fichier ASCII, par ex. qui a été enregistré sous forme de texte dans un tableur. Ici, nous allons convertir les coordonnées dans un fichier ASCII séparé par des virgules locations.csv en un nouveau fichier ASCII locations_reprojected.csv.

Il est recommandé d'afficher d'abord le contenu d'un fichier CSV et de vérifier (1) les coordonnées et (2) le séparateur de colonnes. Le séparateur n'est pas toujours une virgule et dépend parfois des paramètres de langue utilisés lors de l'exportation à partir d'un tableur.

1. Affichez le contenu de locations.csv . Vous pouvez utiliser la commande type à partir de l'invite de commande comme vous l'avez appris dans le tutoriel du Ligne de Commande.

Nous pouvons voir que les coordonnées sont en lat / lon, ce qui signifie que nous pouvons utiliser EPSG: 4326. Le séparateur de colonne est une virgule. La dernière colonne donne les objets entre guillemets.

Pour modifier la projection du CSV, nous devons d'abord créer une source de données virtuelle en créant un fichier de contrôle XML.

2. Sur votre ordinateur Windows, ouvrez le bloc-notes et tapez / copiez le code XML ci-dessous. Utilisez des indentations de trois espaces.

<OGRVRTDataSource>
   <OGRVRTLayer name="locations">
      <SrcDataSource>locations.csv</SrcDataSource>
      <GeometryType>wkbPoint</GeometryType>
      <LayerSRS>EPSG:4326</LayerSRS>
      <GeometryField encoding="PointFromColumns" x="lon" y="lat"/>
   </OGRVRTLayer>
</OGRVRTDataSource>

3. Enregistrez le fichier sous le nom locations.vrt dans le dossier gdal_exercises.

Quelques explications sur le fichier XML:

  • <OGRVRTLayer name="locations"> doit correspondre à <SrcDataSource>locations.csv</SrcDataSource>
  • <LayerSRS>EPSG:4326</LayerSRS> doit correspondre au code EPSG des colonnes de coordonnées
  • <GeometryField encoding="PointFromColumns" x="lon" y="lat"/> indique les colonnes avec les coordonnées que
    vous souhaitez convertir.

4. Exécutez la commande suivante:
ogr2ogr -t_srs EPSG:28992 -f "CSV" locations_reprojected.csv locations.vrt -lco GEOMETRY=AS_XY

Dans cet exemple, locations.csv avec des coordonnées WGS-84 est converti en locations_projected.csv avec projection Amersfoort/RD New .

5. Utilisez Bloc notes pour vérifier locations_reprojected.csv. Qu'est-ce qui est enregistré dans chaque colonne?

De la même manière, nous pouvons convertir le fichier séparé par des virgules en un fichier shapefile.

6. Exécutez la commande suivante:
ogr2ogr -f "ESRI Shapefile" -t_srs EPSG:28992 locations.shp locations.vrt

7. Vérifiez le résultat avec ogrinfo.

8. Visualisez le fichier de formes dans QGIS en le mettant au-dessus du DEM, la carte routière et la délimitation de la commune de Delft. Faites une belle carte.

9. Convertissez le fichier locations.shp en Google KML, ouvrez-le dans Google Earth et découvrez en quoi consiste les objets de localisations.