Візуалізація карти

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

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

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

PM> Install-Package Aspose.GIS

Програмне відтворення карти з Shapefile у SVG за допомогою C#

Ви можете відобразити карту з шейп-файлу у файл SVG, виконавши такі дії:

  1. Створіть новий екземпляр класу Map.
  2. Створіть векторний шар карти та додайте його до карти.
  3. Переведіть карту у файл.

У наведеному нижче коді детально описано, як програмно відобразити карту з Shape-файлу у 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.

У наведеному нижче коді показано програмне відтворення карти з Shapefile у зображення 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, відвідавши Документацію. Якщо у вас виникнуть запитання, зв’яжіться з нами через безкоштовний форум підтримки.

Дивись також