Відтворення карт — це створення візуальних карт із геопросторових даних. Ви можете відтворювати карти з KML, GeoJSON, GeoTIFF, а також із Shapefile у різні формати файлів. Ви можете відтворювати карти в різних форматах зображень, як-от PNG, SVG, JPG тощо. У наступних розділах описано відтворення карт у зображеннях:
- Перетворення рендеринга з шейп-файлу на зображення – встановлення C# API
- Програмне відтворення карти з Shapefile у SVG за допомогою C#
- Програмне відтворення карти з шейп-файлу в зображення PNG у C#
- Візуалізація власної карти з розширеним стилем за допомогою C#
- Програмне відтворення карти з формату GeoTIFF у SVG за допомогою C#
Перетворення рендеринга з шейп-файлу на зображення – встановлення C# API
Aspose.GIS for .NET API дозволяє працювати з різними географічними та геопросторовими форматами файлів. Ви можете відтворювати карти з підтримуваних форматів файлів у SVG, PNG та інші формати файлів відповідно до ваших вимог. Будь ласка, налаштуйте API, завантаживши його з розділу Нові випуски, або ви можете скористатися такою командою встановлення NuGet на консолі менеджера пакетів.
PM> Install-Package Aspose.GIS
Програмне відтворення карти з Shapefile у SVG за допомогою C#
Ви можете відобразити карту з шейп-файлу у файл SVG, виконавши такі дії:
- Створіть новий екземпляр класу Map.
- Створіть векторний шар карти та додайте його до карти.
- Переведіть карту у файл.
У наведеному нижче коді детально описано, як програмно відобразити карту з 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:
- Ініціалізація об’єкта класу Map розмірами.
- Створіть і додайте шар векторної карти.
- Перетворіть карту у зображення 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#
Ви можете налаштувати зовнішній вигляд карти за допомогою розширених стилів функцій. Будь ласка, виконайте наведені нижче кроки для власного відтворення карти:
- Ініціалізувати об’єкт класу Map.
- Ініціалізуйте SimpleFill для простого багатокутного символізатора.
- Відкрийте шар із вхідного шейп-файлу для читання.
- Переведіть карту у файл.
У наведеному нижче коді пояснюється, як виконати настроюваний рендеринг карти з розширеним стилем за допомогою 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, виконавши такі дії:
- Створіть об’єкт класу Map.
- Відкрийте шар для читання за допомогою драйвера для формату GeoTIFF або TIFF.
- Відобразити карту у файл.
Наведений нижче фрагмент коду демонструє, як програмно відобразити карту з формату 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, відвідавши Документацію. Якщо у вас виникнуть запитання, зв’яжіться з нами через безкоштовний форум підтримки.