當我們談論一些GIS API時,首先想到的是渲染高級地圖文件。近期,慧都推出了一款能夠讀取,編寫和轉換最流行的GIS文件格式,例如ESRI Shapefile和GeoJSON,而無需任何其他軟體的API控制項——Aspose.GIS。 那麼,你知道Aspose.GIS同樣擁有強大的地圖渲染功能嗎?下麵 ...
當我們談論一些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)。