如何在C#中將地圖渲染成SVG、JPG或PNG圖像?Aspose快速搞定

KML是Keyhole標記語言的縮寫,它是XML表示法的擴展。它是GIS文件格式,用於顯示地理信息。可以以編程方式創建KML文件,也可以使用C#語言從其中讀取信息。

讓我們探索以下與KML文件格式有關的部分:

  • 使用C#以編程方式將地圖從Shapefile渲染到SVG
  • 在C#中以編程方式將地圖從Shapefile渲染到PNG圖像
  • 使用C#使用高級樣式自定義地圖渲染
  • 使用C#以編程方式將地圖從GeoTIFF格式渲染爲SVG

Aspose.GIS for .NET API可讓您使用不同的地理和地理空間文件格式。您可以根據需要將地圖從受支持的文件格式渲染爲SVG,PNG和其他文件格式。

>>你可以下載Aspose.GIS最新版測試體驗。


使用C#以編程方式將Map從Shapefile渲染到SVG

可以按照以下步驟將地圖從shapefile渲染到SVG文件:

  • 創建一個新的Map類實例
  • 創建矢量地圖圖層並將其添加到地圖
  • 將地圖渲染到文件中

下面的代碼詳細說明了如何使用C#以編程方式將地圖從Shapefile渲染到SVG。

// Create new instance of Map class.
using (var map = new Rendering.Map(800, 400))
{
    // Create vector map layer and add it to map.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Render the map into a file.
    map.Render("land_out.svg", Renderers.Svg);
}

在C#中以編程方式將地圖從Shapefile渲染到PNG圖像

可以將地圖文件從shapefile渲染爲光柵圖像格式,如PNG,JPG,BMP等。以下是將地圖文件從shapefile渲染爲PNG圖像的步驟:

  • 使用尺寸初始化Map類對象
  • 創建並添加矢量地圖圖層
  • 將地圖渲染爲PNG圖像

以下代碼顯示了使用C#以編程方式將地圖從Shapefile渲染到PNG圖像的過程:

// Initialize Map class object with dimensions.
using (var map = new Rendering.Map(800, 400))
{
    // Create and add vector map layer.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Render the map to a PNG image.
    map.Render("land_out.png", Renderers.Png);
}

使用C#使用高級樣式自定義地圖渲染

可以使用高級功能樣式自定義地圖的外觀。請按照以下步驟進行自定義地圖渲染:

  • 初始化Map類對象
  • 爲簡單的多邊形符號器初始化SimpleFill
  • 從輸入shapefile中打開圖層以進行讀取
  • 將地圖渲染到文件中

以下代碼說明了如何使用C#使用高級樣式進行自定義地圖渲染:

// Initialize Map class object.
using (var map = new Rendering.Map(800, 476))
{
    // Initilize SimpleFill for simple polygon symbolizer.
    var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };

    // Open the layer from input shapefile for reading.
    map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    // Initialize a new instance of SimpleMarker class.
    var citiesSymbolizer = new Rendering.Symbolizers.SimpleMarker() { FillColor = Color.LightBlue };
    citiesSymbolizer.FeatureBasedConfiguration = (feature, symbolizer) =>
    {
        var population = feature.GetValue("population");
        symbolizer.Size = 10 * population / 1000;
        if (population < 2500) { symbolizer.FillColor = Color.GreenYellow; } }; // Add a VectorMapLayer to the map. map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer); // Render map into a file. map.Render("cities_out.svg", Renderers.Svg); }

使用C#以編程方式將地圖從GeoTIFF格式渲染爲SVG

可以按照以下步驟將地圖從GeoTIFF渲染到SVG文件:

  • 實例化Map類對象
  • 使用GeoTIFF或TIFF格式的驅動程序打開要讀取的層
  • 將地圖渲染到文件中

以下代碼段演示瞭如何使用C#以編程方式將地圖從GeoTIFF格式呈現爲SVG:

// Initialize Map class object.
using (var map = new Rendering.Map(500, 500))
{
    // Open the layer for reading using driver for the GeoTIFF or TIFF format.
    var layer = GeoTiff.OpenLayer("raster_float32.tif");
                
    // Conversion to colors is detected automatically.
    // The maximum and minimum values are calculated and linear interpolation is used.
    map.Add(layer);

    // Render map into a file.
    map.Render("raster_float32_out.svg", Renderers.Svg);
}

如果您有任何疑問或需求,請隨時加入Aspose技術交流羣(761297826),我們很高興爲您提供查詢和諮詢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章