地圖渲染是指從地理空間數據製作視覺地圖。您可以將來自 KML、GeoJSON、GeoTIFF 以及 Shapefile 的地圖渲染為不同的文件格式。您可以將地圖渲染為不同的圖像格式,如 PNG、SVG、JPG 等。以下部分將詳細介紹地圖渲染為圖像:
- 從 Shapefile 到圖像的地圖渲染——C# API 安裝
- 使用 C# 以編程方式將地圖從 Shapefile 渲染到 SVG
- 在 C# 中以編程方式將地圖從 Shapefile 渲染到 PNG 圖像
- 使用 C# 的高級樣式自定義地圖渲染
- 使用 C# 以編程方式將地圖從 GeoTIFF 格式渲染到 SVG
從 Shapefile 到圖像的地圖渲染——C# API 安裝
Aspose.GIS for .NET API 允許您使用不同的地理和地理空間文件格式。您可以根據需要將支持的文件格式的地圖渲染為 SVG、PNG 和其他文件格式。請通過從 New Releases 部分下載它來配置 API,或者您可以在程序包管理器控制台上使用以下 NuGet 安裝命令。
PM> Install-Package Aspose.GIS
使用 C# 以編程方式將地圖從 Shapefile 渲染到 SVG
您可以通過以下步驟將地圖從 shapefile 渲染到 SVG 文件:
- 創建 Map 類的新實例。
- 創建一個矢量圖層並將其添加到地圖中。
- 將地圖渲染到文件中。
下面的代碼詳細說明瞭如何使用 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 圖像的步驟:
- 使用維度初始化 Map 類對象。
- 創建並添加一個矢量圖層。
- 將地圖渲染為 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# 的高級樣式自定義地圖渲染
您可以使用高級要素樣式自定義地圖的外觀。請按照以下步驟進行自定義地圖渲染:
- 初始化 Map 類對象。
- 為簡單的多邊形符號器初始化 SimpleFill。
- 從輸入 shapefile 打開圖層以進行讀取。
- 將地圖渲染到文件中。
下面的代碼解釋瞭如何使用 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 文件:
- 實例化 Map 類對象。
- 使用 GeoTIFF 或 TIFF 格式的驅動程序打開圖層進行讀取。
- 將地圖渲染到文件中。
下面的代碼片段演示瞭如何使用 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 的其他功能。如有任何疑問,請隨時通過免費支持論壇 與我們聯繫。