Картографические данные могут быть доступны в различных форматах, таких как KML, GeoTiff, GeoJSON, Shapefile и т. д. Могут быть ситуации, когда вам нужно отобразить картографические данные в виде изображений BMP. Для этого в этой статье вы узнаете, как визуализировать данные карты в формате BMP с помощью C#.

C# API для рендеринга карты в формат BMP

Мы будем использовать API Aspose.GIS for .NET для рендеринга карт в формате BMP. Это API, который поддерживает работу с геопространственными данными, хранящимися в различных форматах файлов. Он также предоставляет возможность отображать карты и создавать, читать и преобразовывать географические данные без какого-либо дополнительного программного обеспечения. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.

PM> Install-Package Aspose.GIS

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

Ниже приведены шаги для рендеринга карт в формате BMP.

  • Создайте экземпляр класса Map.
  • Создайте векторный слой из шейп-файла и добавьте его на карту.
  • Визуализируйте карту как BMP, используя метод Map.Render(string outputPath, Renderer renderer).

В следующем примере кода показано, как преобразовать карту в формат BMP с помощью C#.

using (var map = new Map(800, 400))
{
    map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
    map.Render(dataDir + "land_out.bmp", Renderers.Bmp);
}

Визуализация карты в конкретную проекцию с использованием C#

Ниже приведены шаги для визуализации карты в определенной проекции.

  • Создайте экземпляр класса Map.
  • Создайте векторный слой из шейп-файла и добавьте его на карту.
  • Установите систему пространственной привязки карты с помощью свойства Map.SpatialReferenceSystem.
  • Сохраните карту как изображение BMP, используя метод Map.Render(string outputPath, Renderer renderer).

В следующем примере кода показано, как отобразить карту в определенной проекции с помощью C#.

using (var map = new Map(800, 400))
{
    map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
    map.SpatialReferenceSystem = SpatialReferenceSystem.CreateFromEpsg(54024); // World Bonne
    map.Render(dataDir + "land_out2.bmp", Renderers.Bmp);
}

Добавить маркер с пользовательским стилем с помощью C#

Ниже приведены шаги по добавлению маркера с пользовательским стилем на карту.

  • Создайте экземпляр класса Map.
  • Создайте экземпляр класса SimpleMarker.
  • Установите свойства объекта SimpleMarker в соответствии с вашими требованиями.
  • Создайте векторный слой из файла geojson и добавьте его на карту вместе с маркерами.
  • Сохраните карту как изображение BMP, используя метод Map.Render(string outputPath, Renderer renderer).

В следующем примере кода показано, как добавить маркер пользовательского стиля на карту с помощью C#.

using (var map = new Map(500, 200))
{
    var symbol = new SimpleMarker() { Size = 7, StrokeWidth = 1, FillColor = Color.Red };

    map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol);
    map.Padding = 20;
    map.Render(dataDir + "points_out2.bmp", Renderers.Bmp);
}

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

Чтобы попробовать API без ограничений на пробную версию, вы можете запросить бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как визуализировать данные карты в виде изображений BMP с помощью C#. Кроме того, вы увидели, как настроить проекции карты и добавить маркеры с пользовательским стилем. Aspose.GIS for .NET — это надежный API, предоставляющий множество дополнительных функций для работы с картографическими данными. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.

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