Kartrendering avser att göra visuella kartor från geospatiala data. Du kan rendera kartor från KML, GeoJSON, GeoTIFF, såväl som Shapefilen till olika filformat. Du kan rendera kartor till olika bildformat som PNG, SVG, JPG etc. Följande avsnitt kommer att utveckla kartåtergivningen till bilder:
- Kartrendering från en Shapefil till bilder – C# API-installation
- Återge karta från Shapefile till SVG Programmatiskt med C#
- Återge karta från Shapefile till PNG-bild programmatiskt i C#
- Anpassad kartrendering med Advance Style med C#
- Återge karta från GeoTIFF-format till SVG Programmatiskt med C#
Kartrendering från en Shapefil till bilder – C# API-installation
Aspose.GIS for .NET API låter dig arbeta med olika geografiska och geospatiala filformat. Du kan rendera kartor från filformat som stöds till SVG, PNG och andra filformat enligt dina krav. Vänligen konfigurera API:et genom att ladda ner det från avsnittet Nya utgåvor, eller så kan du använda följande installationskommando NuGet på pakethanterarens konsol.
PM> Install-Package Aspose.GIS
Återge karta från Shapefile till SVG Programmatiskt med C#
Du kan rendera karta från en shapefil till en SVG-fil med följande steg:
- Skapa en ny instans av klassen Map.
- Skapa ett vektorkartlager och lägg till det på kartan.
- Gör kartan till en fil.
Koden nedan utvecklar hur man renderar en karta från en Shapefile till SVG programmatiskt med C#;
// Skapa ny instans av Map-klassen.
using (var map = new Rendering.Map(800, 400))
{
// Skapa vektorkartalager och lägg till det på kartan.
map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));
// Gör kartan till en fil.
map.Render("land_out.svg", Renderers.Svg);
}
Återge karta från Shapefile till PNG-bild programmatiskt i C#
Du kan rendera karta från en shapefil till rasterbildsformat som PNG, JPG, BMP, etc. Följande är stegen för att rendera karta från shapefil till PNG-bild:
- Initiera klassobjektet Map med dimensioner.
- Skapa och lägg till ett vektorkartalager.
- Gör kartan till en PNG-bild.
Följande kod visar kartrendering från Shapefile till PNG-bild programmatiskt med C#:
// Initiera kartklassobjekt med dimensioner.
using (var map = new Rendering.Map(800, 400))
{
// Skapa och lägg till vektorkartalager.
map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));
// Gör kartan till en PNG-bild.
map.Render("land_out.png", Renderers.Png);
}
Anpassad kartrendering med Advance Style med C#
Du kan anpassa utseendet på en karta med avancerade funktionsstilar. Följ stegen nedan för anpassad kartrendering:
- Initiera klassobjektet Map.
- Initiera SimpleFill för en enkel polygonsymboliserare.
- Öppna lagret från inmatningsformfilen för läsning.
- Gör kartan till en fil.
Koden nedan förklarar hur man gör anpassad kartrendering med avancerad stil med C#:
// Initiera kartklassobjekt.
using (var map = new Rendering.Map(800, 476))
{
// Initiera SimpleFill för enkel polygonsymboliserare.
var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };
// Öppna lagret från inmatningsformfilen för läsning.
map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);
// Initiera en ny instans av SimpleMarker-klassen.
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;
}
};
// Lägg till ett VectorMapLayer på kartan.
map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);
// Gör kartan till en fil.
map.Render("cities_out.svg", Renderers.Svg);
}
Återge karta från GeoTIFF-format till SVG Programmatiskt med C#
Du kan rendera en karta från GeoTIFF till SVG-fil med följande steg:
- Instantiera klassobjektet Map.
- Öppna lagret för läsning med drivrutinen för GeoTIFF- eller TIFF-formatet.
- Gör kartan till en fil.
Kodavsnittet nedan visar hur man renderar karta från GeoTIFF-format till SVG programmatiskt med C#:
// Initiera kartklassobjekt.
using (var map = new Rendering.Map(500, 500))
{
// Öppna lagret för läsning med drivrutinen för GeoTIFF- eller TIFF-formatet.
var layer = GeoTiff.OpenLayer("raster_float32.tif");
// Konvertering till färger detekteras automatiskt.
// Maximi- och minimivärdena beräknas och linjär interpolation används.
map.Add(layer);
// Gör kartan till en fil.
map.Render("raster_float32_out.svg", Renderers.Svg);
}
Få gratis API-licens
Du kan utvärdera API:et med en Free Temporary License för att testa API:t utan några begränsningar.
Slutsats
I den här artikeln har du lärt dig kartrendering från shapefile- eller GeoTIFF-format till SVG, eller andra rasterbildsformat som PNG, JPG, TIFF, etc. Du kan utforska andra funktioner i API:t genom att besöka Dokumentation. Kontakta oss gärna via Free Support Forum om du har några frågor.