地圖渲染

地圖渲染是指從地理空間數據製作視覺地圖。您可以將來自 KMLGeoJSON、GeoTIFF 以及 Shapefile 的地圖渲染為不同的文件格式。您可以將地圖渲染為不同的圖像格式,如 PNGSVGJPG 等。以下部分將詳細介紹地圖渲染為圖像:

從 Shapefile 到圖像的地圖渲染——C# API 安裝

Aspose.GIS for .NET API 允許您使用不同的地理和地理空間文件格式。您可以根據需要將支持的文件格式的地圖渲染為 SVG、PNG 和其他文件格式。請通過從 New Releases 部分下載它來配置 API,或者您可以在程序包管理器控制台上使用以下 NuGet 安裝命令。

PM> Install-Package Aspose.GIS

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

您可以通過以下步驟將地圖從 shapefile 渲染到 SVG 文件:

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

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

// 創建 Map 類的新實例。
using (var map = new Rendering.Map(800, 400))
{
    // 創建矢量圖層並將其添加到地圖。
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // 將地圖渲染到文件中。
    map.Render("land_out.svg", Renderers.Svg);
}

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

您可以將 shapefile 中的地圖渲染為 PNG、JPG、BMP 等光柵圖像格式。以下是將 shapefile 中的地圖渲染為 PNG 圖像的步驟:

  1. 使用維度初始化 Map 類對象。
  2. 創建並添加一個矢量圖層。
  3. 將地圖渲染為 PNG 圖像。

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

// 使用維度初始化 Map 類對象。
using (var map = new Rendering.Map(800, 400))
{
    // 創建並添加矢量圖層。
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // 將地圖渲染為 PNG 圖像。
    map.Render("land_out.png", Renderers.Png);
}

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

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

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

下面的代碼解釋瞭如何使用 C# 以高級樣式進行自定義地圖渲染:

// 初始化地圖類對象。
using (var map = new Rendering.Map(800, 476))
{
    // 為簡單的多邊形符號器初始化 SimpleFill。
    var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };

    // 從輸入 shapefile 打開圖層以進行讀取。
    map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    // 初始化 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;
        }
    };

    // 將 VectorMapLayer 添加到地圖。
    map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);

    // 將地圖渲染到文件中。
    map.Render("cities_out.svg", Renderers.Svg);
}

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

您可以通過以下步驟將地圖從 GeoTIFF 渲染為 SVG 文件:

  1. 實例化 Map 類對象。
  2. 使用 GeoTIFF 或 TIFF 格式的驅動程序打開圖層進行讀取。
  3. 將地圖渲染到文件中。

下面的代碼片段演示瞭如何使用 C# 以編程方式將地圖從 GeoTIFF 格式渲染為 SVG:

// 初始化地圖類對象。
using (var map = new Rendering.Map(500, 500))
{
    // 使用 GeoTIFF 或 TIFF 格式的驅動程序打開圖層以進行讀取。
    var layer = GeoTiff.OpenLayer("raster_float32.tif");
                
    // 自動檢測顏色轉換。
    // 計算最大值和最小值並使用線性插值。
    map.Add(layer);

    // 將地圖渲染到文件中。
    map.Render("raster_float32_out.svg", Renderers.Svg);
}

獲取免費的 API 許可證

您可以使用 免費臨時許可證 評估 API,以不受任何限制地測試 API。

結論

在本文中,您學習了從 shapefile 或 GeoTIFF 格式到 SVG 或其他柵格圖像格式(如 PNG、JPG、TIFF 等)的地圖渲染。您可以通過訪問 文檔 探索 API 的其他功能。如有任何疑問,請隨時通過免費支持論壇 與我們聯繫。

也可以看看