Поэтому, когда мы говорим о каком-либо ГИС 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