OpenStreetMap(OSM 是一个免费且可编辑的世界地图。它由志愿者构建并以开放内容许可证发布。该许可证允许免费访问地图图像和基础地图数据。可能存在您想要从中读取特征的场景.NET 应用程序中的 OSM 文件。为此,本文将教您如何使用 C# 以编程方式从 OSM 文件中读取功能。地图渲染是指从地理空间数据制作可视化地图。您可以从 KML、GeoJSON、GeoTIFF 以及 Shapefile 渲染地图。您可以将地图渲染为不同的图像格式,例如 PNG、SVG、JPG 等。以下部分将详细介绍地图渲染。GeoJSON 用于表示具有非空间特征的地理特征。然而,TopoJSON 是利用拓扑的 GeoJSON 的扩展。您可以根据您的要求将 GeoJSON 转换为 TopoJSON 以及将 TopoJSON 转换为 GeoJSON。KML 是从 XML 扩展而来的 Keyhole Markup Language 的缩写。它是一种 GIS 文件格式,用于显示地理信息。您可以通过编程方式创建 KML 文件,也可以使用 C# 语言从中读取信息。所以当我们谈论一些 GIS API 时,渲染高级地图文件似乎是首先想到的事情。好消息是新版本 Aspose.GIS for .NET 19.4 包含此功能。这不是关于此版本的全部内容,因为还有许多其他升级。您应该阅读 发行说明 以获取新功能和已修复内容的完整列表。让我们看看这个版本有什么鼓舞人心的地方。
使用 C# 的 Redner 基本地图 看来您已经等了很久才使用 Aspose.GIS 渲染地图,就是这样,等待结束了,因为最新 API 中提供了此功能来渲染 Shapefile、FileGDB、GeoJSON、KML 或其他 支持的文件格式 到 SVG。我们特别努力保持这个过程的简单,即使用很少的代码行来渲染地图,为了简单和快速的结果,而不需要设置大量的属性。看看使用 C# 渲染地图有多简单。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-gis/Aspose.GIS-for-.NET using (var map = new Map(800, 400)) { map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile)); map.Render(dataDir + "land_out.svg", Renderers.Svg); } 只需设置生成的图像分辨率,根据输入文件类型选择驱动程序,就可以了解它是多么容易。地图已准备好渲染为 SVG。
这是程序的输出:
您可能会担心外观和感觉就像它只是一张黑白蓝图。这是期待已久的新功能吗?不!这只是显示功能的最简单的输出。您可以自定义渲染和特征样式以获得您想要的外观。这是一个高级示例代码,演示了此新版本中的更多功能。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-gis/Aspose.GIS-for-.NET using (var map = new Map(800, 476)) { var baseMapSymbolizer = new SimpleFill { FillColor = Color.