Рендеринг карты

Рендеринг карты относится к созданию визуальных карт из геопространственных данных. Вы можете отображать карты из KML, GeoJSON, GeoTIFF, а также из Shapefile в различные форматы файлов. Вы можете отображать карты в различные форматы изображений, такие как PNG, SVG, JPG и т. д. В следующих разделах подробно рассматривается преобразование карт в изображения:

Рендеринг карты из шейп-файла в изображения — установка C# API

Aspose.GIS for .NET API позволяет работать с различными географическими и геопространственными форматами файлов. Вы можете отображать карты из поддерживаемых форматов файлов в SVG, PNG и другие форматы файлов в соответствии с вашими требованиями. Настройте API, загрузив его из раздела Новые выпуски, или вы можете использовать следующую команду установки NuGet в консоли диспетчера пакетов.

PM> Install-Package Aspose.GIS

Рендеринг карты из шейп-файла в SVG программно с использованием C#

Вы можете визуализировать карту из шейп-файла в файл SVG, выполнив следующие действия:

  1. Создайте новый экземпляр класса Map.
  2. Создайте слой векторной карты и добавьте его на карту.
  3. Визуализировать карту в файл.

В приведенном ниже коде показано, как программно отобразить карту из шейп-файла в SVG с помощью C#;

// Создайте новый экземпляр класса Map.
using (var map = new Rendering.Map(800, 400))
{
    // Создайте слой векторной карты и добавьте его на карту.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Визуализировать карту в файл.
    map.Render("land_out.svg", Renderers.Svg);
}

Рендеринг карты из шейп-файла в PNG-изображение программно на C#

Вы можете визуализировать карту из шейп-файла в форматы растровых изображений, такие как PNG, JPG, BMP и т. д. Ниже приведены шаги для рендеринга карты из шейп-файла в изображение PNG:

  1. Инициализируйте объект класса Map с размерами.
  2. Создайте и добавьте слой векторной карты.
  3. Преобразуйте карту в изображение PNG.

В следующем коде показан программный рендеринг карты из шейп-файла в изображение PNG с использованием C#:

// Инициализируйте объект класса Map с размерами.
using (var map = new Rendering.Map(800, 400))
{
    // Создайте и добавьте слой векторной карты.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Преобразуйте карту в изображение PNG.
    map.Render("land_out.png", Renderers.Png);
}

Пользовательский рендеринг карты с расширенным стилем с использованием C#

Вы можете настроить внешний вид карты с помощью расширенных стилей объектов. Для рендеринга пользовательской карты выполните следующие шаги:

  1. Инициализировать объект класса Map.
  2. Инициализируйте SimpleFill для простого символизатора полигонов.
  3. Откройте слой из входного шейп-файла для чтения.
  4. Визуализировать карту в файл.

В приведенном ниже коде объясняется, как выполнить визуализацию пользовательской карты в расширенном стиле с помощью C#:

// Инициализировать объект класса Map.
using (var map = new Rendering.Map(800, 476))
{
    // Инициализировать SimpleFill для простого символизатора полигонов.
    var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };

    // Откройте слой из входного шейп-файла для чтения.
    map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    // Инициализировать новый экземпляр класса 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;
        }
    };

    // Добавьте VectorMapLayer на карту.
    map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);

    // Рендеринг карты в файл.
    map.Render("cities_out.svg", Renderers.Svg);
}

Рендеринг карты из формата GeoTIFF в SVG программно с использованием C#

Вы можете визуализировать карту из файла GeoTIFF в файл SVG, выполнив следующие действия:

  1. Создайте объект класса Map.
  2. Откройте слой для чтения с помощью драйвера для формата GeoTIFF или TIFF.
  3. Рендеринг карты в файл.

Фрагмент кода ниже демонстрирует, как программно визуализировать карту из формата GeoTIFF в SVG с помощью C#:

// Инициализировать объект класса Map.
using (var map = new Rendering.Map(500, 500))
{
    // Откройте слой для чтения с помощью драйвера для формата GeoTIFF или TIFF.
    var layer = GeoTiff.OpenLayer("raster_float32.tif");
                
    // Преобразование в цвета определяется автоматически.
    // Рассчитываются максимальное и минимальное значения и используется линейная интерполяция.
    map.Add(layer);

    // Рендеринг карты в файл.
    map.Render("raster_float32_out.svg", Renderers.Svg);
}

Получить бесплатную лицензию API

Вы можете оценить API с Бесплатной временной лицензией для тестирования API без каких-либо ограничений.

Вывод

В этой статье вы узнали о рендеринге карты из шейп-файла или формата GeoTIFF в SVG или другие форматы растровых изображений, такие как PNG, JPG, TIFF и т. д. Вы можете изучить другие функции API, посетив Документацию. Пожалуйста, не стесняйтесь обращаться к нам через Бесплатный форум поддержки в случае возникновения каких-либо вопросов.

Смотрите также