Rendu cartographique

Le rendu cartographique fait référence à la création de cartes visuelles à partir de données géospatiales. Vous pouvez rendre des cartes à partir de KML, GeoJSON, GeoTIFF, ainsi que le Shapefile dans différents formats de fichiers. Vous pouvez restituer des cartes dans différents formats d’image tels que PNG, SVG, JPG, etc. Les sections suivantes détaillent le rendu de la carte en images :

Rendu cartographique d’un fichier de formes à des images - Installation de l’API C#

L’API Aspose.GIS for .NET vous permet de travailler avec différents formats de fichiers géographiques et géospatiaux. Vous pouvez restituer des cartes à partir de formats de fichiers pris en charge vers SVG, PNG et d’autres formats de fichiers selon vos besoins. Veuillez configurer l’API en la téléchargeant à partir de la section Nouvelles versions, ou vous pouvez utiliser la commande d’installation NuGet suivante sur la console du gestionnaire de packages.

PM> Install-Package Aspose.GIS

Rendre la carte de Shapefile en SVG par programmation à l’aide de C#

Vous pouvez rendre la carte d’un fichier de formes vers un fichier SVG en procédant comme suit :

  1. Créez une nouvelle instance de la classe Map.
  2. Créez une couche de carte vectorielle et ajoutez-la à la carte.
  3. Rendre la carte dans un fichier.

Le code ci-dessous explique comment rendre une carte d’un Shapefile en SVG par programmation à l’aide de C# ;

// Créez une nouvelle instance de la classe Map.
using (var map = new Rendering.Map(800, 400))
{
    // Créez une couche de carte vectorielle et ajoutez-la à la carte.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Rendre la carte dans un fichier.
    map.Render("land_out.svg", Renderers.Svg);
}

Rendre la carte de Shapefile en image PNG par programme en C#

Vous pouvez restituer une carte à partir d’un fichier de formes vers des formats d’image raster tels que PNG, JPG, BMP, etc. Voici les étapes pour restituer une carte d’un fichier de formes à une image PNG :

  1. Initialise l’objet de classe Map avec des dimensions.
  2. Créez et ajoutez une couche de carte vectorielle.
  3. Convertissez la carte en image PNG.

Le code suivant montre le rendu de la carte de Shapefile en image PNG par programmation à l’aide de C# :

// Initialise l'objet de classe Map avec des dimensions.
using (var map = new Rendering.Map(800, 400))
{
    // Créez et ajoutez une couche de carte vectorielle.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Convertissez la carte en image PNG.
    map.Render("land_out.png", Renderers.Png);
}

Rendu de carte personnalisé avec Advance Style à l’aide de C#

Vous pouvez personnaliser l’apparence d’une carte avec des styles d’entités avancés. Veuillez suivre les étapes ci-dessous pour un rendu de carte personnalisé :

  1. Initialiser l’objet de classe Map.
  2. Initialisez SimpleFill pour un symboliseur de polygone simple.
  3. Ouvrez la couche à partir du fichier de formes d’entrée pour la lecture.
  4. Rendre la carte dans un fichier.

Le code ci-dessous explique comment effectuer un rendu de carte personnalisé avec un style avancé à l’aide de C# :

// Initialiser l'objet de classe Map.
using (var map = new Rendering.Map(800, 476))
{
    // Initialisez SimpleFill pour un symboliseur de polygone simple.
    var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };

    // Ouvrez la couche à partir du fichier de formes d'entrée pour la lecture.
    map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    // Initialisez une nouvelle instance de la classe SimpleMarker.
    var citiesSymbolizer = new Rendering.Symbolizers.SimpleMarker() { FillColor = Color.LightBlue };
    citiesSymbolizer.FeatureBasedConfiguration = (feature, symbolizer) =>
    {
        var population = feature.GetValue<int>("population");
        symbolizer.Size = 10 * population / 1000;
        if (population < 2500)
        {
            symbolizer.FillColor = Color.GreenYellow;
        }
    };

    // Ajoutez un VectorMapLayer à la carte.
    map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);

    // Rendre la carte dans un fichier.
    map.Render("cities_out.svg", Renderers.Svg);
}

Rendre la carte du format GeoTIFF au format SVG par programmation à l’aide de C#

Vous pouvez rendre une carte de GeoTIFF vers un fichier SVG en procédant comme suit :

  1. Instanciez l’objet de classe Map.
  2. Ouvrez la couche pour la lecture à l’aide du pilote pour le format GeoTIFF ou TIFF.
  3. Rendre la carte dans un fichier.

L’extrait de code ci-dessous montre comment rendre une carte du format GeoTIFF au format SVG par programmation à l’aide de C# :

// Initialiser l'objet de classe Map.
using (var map = new Rendering.Map(500, 500))
{
    // Ouvrez la couche pour la lecture à l'aide du pilote pour le format GeoTIFF ou TIFF.
    var layer = GeoTiff.OpenLayer("raster_float32.tif");
                
    // La conversion en couleurs est détectée automatiquement.
    // Les valeurs maximales et minimales sont calculées et une interpolation linéaire est utilisée.
    map.Add(layer);

    // Rendre la carte dans un fichier.
    map.Render("raster_float32_out.svg", Renderers.Svg);
}

Obtenez une licence API gratuite

Vous pouvez évaluer l’API avec une licence temporaire gratuite pour tester l’API sans aucune limitation.

Conclusion

Dans cet article, vous avez appris le rendu de carte du format shapefile ou GeoTIFF vers SVG, ou d’autres formats d’image raster comme PNG, JPG, TIFF, etc. Vous pouvez explorer d’autres fonctionnalités de l’API en visitant la Documentation. N’hésitez pas à nous contacter via Free Support Forum en cas de questions.

Voir également