Поэтому, когда мы говорим о каком-либо ГИС API, первое, что приходит на ум, это рендеринг расширенных картографических файлов. Хорошая новость заключается в том, что новая версия Aspose.GIS for .NET 19.4 содержит эту функцию. Это не все об этом выпуске, так как есть много других обновлений. Вы должны просмотреть заметки о выпуске, чтобы получить полный список того, что нового и исправленного. Давайте посмотрим, что вдохновляет в этом выпуске.
Базовая карта Реднера с использованием C#
Похоже, вы долго ждали возможности рендеринга карт с помощью Aspose.GIS, и вот, ожидание закончилось, так как эта функция предоставляется в последнем API для рендеринга Shapefile, FileGDB, [GeoJSON]. 5, KML или другие поддерживаемые форматы файлов до SVG. Мы приложили особые усилия, чтобы сделать этот процесс простым, т.е. визуализировать карты, используя очень мало строк кода, ради простоты и быстрых результатов без установки большого количества свойств. Только взгляните, как просто визуализировать карту с помощью C#.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-gis/Aspose.GIS-for-.NET.
using (var map = new Map(800, 400))
{
map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
map.Render(dataDir + "land_out.svg", Renderers.Svg);
}
Посмотрите, как это просто: просто задайте результирующее разрешение изображения, выберите драйвер в соответствии с типом входного файла и все. Карта готова к отображению в формате SVG.
Вот вывод программы:
Вы можете беспокоиться о внешнем виде и ощущении, что это просто черно-белый план. Это новая функция, которую долго ждали? Нет! это просто самый простой вывод, чтобы показать функциональность. Вы можете настроить рендеринг и стили объектов, чтобы получить желаемый вид. Вот расширенный пример кода, демонстрирующий дополнительные функции в этом новом выпуске.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-gis/Aspose.GIS-for-.NET.
using (var map = new Map(800, 476))
{
var baseMapSymbolizer = new SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };
map.Add(VectorLayer.Open(dataDir + "basemap.shp", Drivers.Shapefile), baseMapSymbolizer);
var citiesSymbolizer = new 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;
}
};
map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), citiesSymbolizer);
map.Render(dataDir + "cities_out.svg", Renderers.Svg);
}
Давайте посмотрим, как стили изменят вывод, используя приведенный выше пример кода:
Ух ты! Отлично. Теперь вы можете начать работать с этой функцией, используя образцы карт. Это?
Чтобы понять подробности кода, посетите эту статью в разделе документации.
Преобразование датума из-за неполного SRS WKT
Aspose.GIS представила новую функцию преобразования между датумами, когда определение SRS WKT не завершено. Для преобразования между географическими SRS требуются параметры TOWGS84. Если они присутствуют в определении WKT, Aspose.GIS может трансформироваться между любыми географическими SRS. Если они отсутствуют, Aspose.GIS пытается определить параметры TOWGS84 по имени SRS. Если это не удается, Aspose.GIS пытается найти SRS с теми же параметрами и похожим именем датума, чтобы получить параметры TOWGS84 из аналогичного SRS.
Другие обновления
Следующие градации сделаны, чтобы сделать библиотеку более удобной для пользователя и безошибочной.
- Сообщалось о некотором дополнительном содержимом в конце документа при перезаписи существующего файла. Этой проблемы больше нет.
- Были некоторые проблемы при указании путей в той же папке, что и исполняемый файл, однако сейчас эта проблема решена.
- Были случаи, когда для отсутствующего файла выдавались вводящие в заблуждение сообщения об ошибках. Это было похоже на «Неожиданный конец файла», который не указывал на реальную проблему. Это сообщение теперь исправлено.
- В классе драйвера GPX был ненужный конструктор, который теперь удален, чтобы избежать путаницы.
Я надеюсь, что вы получили четкое представление об этом новом релизе. Наслаждайтесь использованием этой последней версии и делитесь своими мыслями по ее улучшению на нашем форуме поддержки.
Ресурсы API
- Справочное руководство по API – Details the namespaces and classes of the API
- Примеры GitHub – Provides ready to run API Examples
- Форум поддержки – Write to us if you have any query or inquiry about the API