Convertir Shapefile en SVG en C#

Le format Shapefile est l’un des formats de données vectorielles géospatiales les plus couramment utilisés par ESRI pour afficher des informations géographiques. Dans certains cas, nous pouvons avoir besoin d’exporter des données géographiques du format ESRI Shapefile (SHP) vers le format SVG. Le SVG est un format de texte basé sur XML pour décrire l’apparence d’une image. Dans cet article, nous allons apprendre à convertir un shapefile en SVG en C#.

Cet article couvrira les sujets suivants :

  1. Convertisseur de fichiers de formes C# en SVG
  2. Étapes pour convertir le fichier de formes en SVG
  3. Rendre ShapeFile en SVG

API de conversion C# Shapefile en SVG - Téléchargement gratuit

Pour convertir un shapefile en SVG, nous utiliserons l’API Aspose.GIS for .NET. Il permet d’exporter un fichier de formes vers SVG sans avoir besoin de logiciels comme ArcGIS, ArcMap, QGIS ou Google Earth. L’API permet également le rendu de cartes, la création, la lecture et la conversion de données géographiques disponibles dans les formats de fichiers pris en charge.

La classe Map de l’API est une collection de couches qui peuvent être rendues les unes sur les autres via Renderer. La classe SpatialReferenceSystem fournit une liste des différents systèmes de référence spatiale à utiliser pour la carte. Nous pouvons définir un simple symboliseur de lignes vectorielles en utilisant la classe SimpleLine. Nous avons la classe VectorLayer qui représente une couche vectorielle dans l’API. Nous pouvons charger le fichier de formes dans une couche vectorielle en utilisant la méthode Open(string, FileDriver) de cette classe. Il ouvre la couche pour la lecture.

Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.GIS

Comment convertir un fichier de formes en SVG en C#

Nous pouvons facilement convertir un shapefile en SVG en utilisant Aspose.GIS pour .NET en suivant les étapes ci-dessous :

  1. Initialiser une carte.
  2. Attribuez la référence spatiale Wgs84 à la carte.
  3. Ouvrez un fichier de formes en tant que calque vectoriel.
  4. Ajoutez une couche de fichier de formes à la carte.
  5. Rendez la carte au format SVG.

Voyons maintenant comment transformer ces étapes en code C# et convertir un fichier shapefile au format SVG.

Rendu ShapeFile en SVG en C#

Veuillez suivre les étapes ci-dessous pour rendre un shapefile en SVG :

  1. Tout d’abord, créez une instance de la classe Map.
  2. Ensuite, définissez le SpatialReferenceSystem sur Wgs84.
  3. Ensuite, définissez un symboliseur de ligne simple à l’aide de la classe SimpleLine.
  4. Pendant ce temps, chargez un fichier de formes à l’aide de la méthode VectorLayer.Open().
  5. Après cela, ajoutez la couche de fichier de formes à la carte à l’aide de la méthode Map.Add().
  6. Enfin, appelez la méthode Map.Render() pour enregistrer au format SVG. Il prend le chemin du fichier SVG de sortie et Renderers.Svg comme arguments.

L’exemple de code suivant montre comment convertir un fichier de formes en SVG à l’aide de C#.

// Cet exemple de code montre comment convertir un fichier de formes en SVG.
// Répertoire des fichiers
string dataDir = "C:\\Files\\GIS\\";

// Initialiser la carte
var map = new Map(800, 400);

// Utiliser le SRS spécifié
map.SpatialReferenceSystem = SpatialReferenceSystem.Wgs84;

// Utiliser le style spécifié pour tracer des lignes
// Nous avons également des styles pour les points, les lignes et les surfaces.
var symbolizer = new SimpleLine() 
{ 
    Width = Measurement.Pixels(2) 
};

// Ouvrir un shapefile en tant que calque
var shapefileLayer = VectorLayer.Open(dataDir + "buildings.shp", Drivers.Shapefile);

// Ajouter une couche de fichier de formes à la carte
map.Add(shapefileLayer, symbolizer);

// Rendre la carte au format Svg
map.Render(dataDir + "buildings_out.svg", Renderers.Svg);

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.

Conclusion

Dans cet article, nous avons appris à convertir un shapefile en SVG en C#. Nous avons également vu comment définir une carte et charger un fichier de formes par programmation. En outre, vous pouvez découvrir comment travailler avec plusieurs autres formats de fichiers SIG et en savoir plus sur l’API à l’aide de la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également