Vykreslování mapy

Map Rendering se týká vytváření vizuálních map z geoprostorových dat. Mapy z KML, GeoJSON, GeoTIFF a také Shapefile můžete vykreslit do různých formátů souborů. Mapy můžete vykreslovat do různých obrazových formátů, jako je PNG, SVG, JPG atd. Následující části podrobně popisují vykreslování mapy na obrázky:

Vykreslování mapy ze souboru Shapefile na obrázky – Instalace C# API

Aspose.GIS for .NET API vám umožňuje pracovat s různými geografickými a geograficky prostorovými formáty souborů. Mapy můžete vykreslovat z podporovaných formátů souborů do SVG, PNG a dalších formátů souborů podle vašich požadavků. Nakonfigurujte rozhraní API jeho stažením ze sekce New Releases, nebo můžete použít následující instalační příkaz NuGet na konzole správce balíčků.

PM> Install-Package Aspose.GIS

Vykreslit mapu z Shapefile do SVG programově pomocí C#

Mapu můžete vykreslit ze souboru shapefile do souboru SVG pomocí následujících kroků:

  1. Vytvořte novou instanci třídy Map.
  2. Vytvořte vrstvu vektorové mapy a přidejte ji do mapy.
  3. Vykreslete mapu do souboru.

Níže uvedený kód vysvětluje, jak vykreslit mapu z Shapefile do SVG programově pomocí C#;

// Vytvořte novou instanci třídy Map.
using (var map = new Rendering.Map(800, 400))
{
    // Vytvořte vrstvu vektorové mapy a přidejte ji do mapy.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Vykreslete mapu do souboru.
    map.Render("land_out.svg", Renderers.Svg);
}

Programově vykreslit mapu z Shapefile do obrázku PNG v C#

Mapu můžete vykreslit ze souboru shapefile do rastrových obrazových formátů, jako je PNG, JPG, BMP atd. Níže jsou uvedeny kroky pro vykreslení mapy ze souboru shapefile do obrázku PNG:

  1. Inicializujte objekt třídy Map s rozměry.
  2. Vytvořte a přidejte vrstvu vektorové mapy.
  3. Vykreslete mapu do obrázku PNG.

Následující kód ukazuje vykreslování mapy z Shapefile do obrázku PNG programově pomocí C#:

// Inicializujte objekt třídy Map s rozměry.
using (var map = new Rendering.Map(800, 400))
{
    // Vytvořte a přidejte vrstvu vektorové mapy.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Vykreslete mapu do obrázku PNG.
    map.Render("land_out.png", Renderers.Png);
}

Vlastní vykreslování mapy s pokročilým stylem pomocí C#

Vzhled mapy si můžete přizpůsobit pomocí pokročilých stylů prvků. Pro vlastní vykreslování mapy postupujte podle následujících kroků:

  1. Inicializujte objekt třídy Map.
  2. Inicializujte SimpleFill pro jednoduchý polygonový symbolizér.
  3. Otevřete vrstvu ze vstupního souboru shapefile pro čtení.
  4. Vykreslete mapu do souboru.

Níže uvedený kód vysvětluje, jak provést vlastní vykreslování mapy s pokročilým stylem pomocí C#:

// Inicializujte objekt třídy Map.
using (var map = new Rendering.Map(800, 476))
{
    // Inicializujte SimpleFill pro jednoduchý polygonový symbolizér.
    var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };

    // Otevřete vrstvu ze vstupního souboru shapefile pro čtení.
    map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    // Inicializujte novou instanci třídy SimpleMarker.
    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;
        }
    };

    // Přidejte na mapu vrstvu VectorMapLayer.
    map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);

    // Vykreslit mapu do souboru.
    map.Render("cities_out.svg", Renderers.Svg);
}

Vykreslit mapu z formátu GeoTIFF do SVG programově pomocí C#

Mapu ze souboru GeoTIFF do souboru SVG můžete vykreslit pomocí následujících kroků:

  1. Vytvořit objekt třídy Map.
  2. Otevřete vrstvu pro čtení pomocí ovladače pro formát GeoTIFF nebo TIFF.
  3. Vykreslit mapu do souboru.

Níže uvedený úryvek kódu ukazuje, jak vykreslit mapu z formátu GeoTIFF do SVG programově pomocí C#:

// Inicializujte objekt třídy Map.
using (var map = new Rendering.Map(500, 500))
{
    // Otevřete vrstvu pro čtení pomocí ovladače pro formát GeoTIFF nebo TIFF.
    var layer = GeoTiff.OpenLayer("raster_float32.tif");
                
    // Převod na barvy je detekován automaticky.
    // Vypočítají se maximální a minimální hodnoty a použije se lineární interpolace.
    map.Add(layer);

    // Vykreslit mapu do souboru.
    map.Render("raster_float32_out.svg", Renderers.Svg);
}

Získejte bezplatnou licenci API

Rozhraní API můžete vyhodnotit pomocí volné dočasné licence pro testování API bez jakýchkoli omezení.

Závěr

V tomto článku jste se naučili vykreslování map z formátu shapefile nebo GeoTIFF do SVG nebo jiných formátů rastrových obrázků jako PNG, JPG, TIFF atd. Další funkce API můžete prozkoumat na Dokumentace. V případě jakýchkoliv dotazů nás neváhejte kontaktovat prostřednictvím Free Support Forum.

Viz také