所以当我们谈论一些 GIS API 时,渲染高级地图文件似乎是首先想到的事情。好消息是新版本 Aspose.GIS for .NET 19.4 包含此功能。这不是关于此版本的全部内容,因为还有许多其他升级。您应该阅读 发行说明 以获取新功能和已修复内容的完整列表。让我们看看这个版本有什么鼓舞人心的地方。

使用 C# 的 Redner 基本地图

看来您已经等了很久才使用 Aspose.GIS 渲染地图,就是这样,等待结束了,因为最新 API 中提供了此功能来渲染 ShapefileFileGDBGeoJSONKML 或其他 支持的文件格式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.Salmon, StrokeWidth = 0.75 };
    map.Add(VectorLayer.Open(dataDir + "basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    var citiesSymbolizer = new 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;
        }
    };
    map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), citiesSymbolizer);

    map.Render(dataDir + "cities_out.svg", Renderers.Svg);
}

让我们看看样式将如何使用上面的示例代码更改输出:

哇!伟大的。现在您可以使用示例地图开始使用此功能。是吗?

要了解代码的详细信息,请访问文档部分中的 this 文章。

由于 SRS WKT 不完整导致的基准转换

Aspose.GIS 引入了在 SRS WKT 定义不完整时在基准之间进行转换的新功能。为了在地理 SRS 之间进行转换,需要 TOWGS84 参数。如果它们存在于 WKT 定义中,Aspose.GIS 可以在任何地理 SRS 之间进行转换。如果它们不存在,Aspose.GIS 会尝试通过 SRS 名称检测 TOWGS84 参数。如果失败,Aspose.GIS 会尝试查找具有相同参数和相似基准名称的 SRS,以便从相似的 SRS 中获取 TOWGS84 参数。

其他升级

完成后续分级以使库更加用户友好且无错误。

  • 在覆盖现有文件时报告了文档末尾的一些额外内容。这个问题不再存在。
  • 在与可执行文件相同的文件夹中指定路径时存在一些问题,但是,此问题现已解决。
  • 在某些情况下,丢失的文件会引发误导性错误消息。这就像“文件意外结束”,并没有表明实际问题。此消息现已更正。
  • GPX 驱动程序类中有一个不必要的构造函数,现在将其删除以避免任何混淆。

我希望你对这个新版本有一个公平的想法。享受使用这个最新版本的乐趣,并在我们的支持论坛上分享您的想法以增强它。

API 资源