Картографические данные могут быть доступны в различных форматах, таких как KML, GeoTiff, GeoJSON, Shapefile и т. д. Могут быть ситуации, когда вам нужно отобразить картографические данные в виде изображений BMP. Для этого в этой статье вы узнаете, как визуализировать данные карты в формате BMP с помощью C#.
- C# API для рендеринга карты в формат BMP
- Рендеринг карты в формат BMP с использованием C#
- Визуализация карты в конкретную проекцию с использованием C#
- Добавить маркер с пользовательским стилем с помощью 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, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.