当我们谈论一些gis api时,首先想到的是渲染高级地图文件。近期,慧都推出了一款能够读取,编写和转换最流行的gis文件格式,例如esri shapefile和geojson,而无需任何其他软件的api控件——aspose.gis。

那么,你知道aspose.gis同样拥有强大的地图渲染功能吗?下面我们用示例来介绍如何使用这项功能。

aspose.gis提供了此功能以将shapefile,filegdb,geojson,kml或其他受支持的文件格式渲染为svg。为了简化和快速生成结果而无需设置大量属性,可以使用很少的代码行来渲染地图。

 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。这是程序的输出:

同样,可以自定义渲染和功能样式,以获得所需的外观。这是高级示例代码,演示了此新版本中的更多功能。

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);
}

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

还想要更多吗?如果您有任何疑问或需求,请随时加入aspose技术交流群(642018183)。