地图渲染是指从地理空间数据制作可视化地图。您可以将 KML、GeoJSON、GeoTIFF 以及 Shapefile 中的地图渲染为不同的文件格式。您可以将地图渲染为不同的图像格式,例如 PNG、SVG、JPG 等。以下部分将详细说明地图渲染为图像:
- 从 Shapefile 到图像的映射渲染 – C# API 安装
- 使用 C# 以编程方式将 Map 从 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# 以编程方式将 Map 从 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# 以高级样式进行自定义地图渲染:
// 初始化 Map 类对象。
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:
// 初始化 Map 类对象。
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 的其他功能。如有任何疑问,请随时通过 免费支持论坛 与我们联系。