Então, quando falamos sobre alguma API GIS, renderizar arquivos de mapas avançados parece ser a primeira coisa que vem à mente. A boa notícia é que a nova versão Aspose.GIS for .NET 19.4 contém esse recurso. Isso não é tudo sobre esta versão, pois há muitas outras atualizações também. Você deve acessar as notas de lançamento para obter uma lista completa do que há de novo e corrigido. Vamos ver o que é inspirador lá neste lançamento.

Mapa básico do Redner usando C#

Parece que você estava esperando há muito tempo para renderizar mapas usando Aspose.GIS e é isso, a espera acabou, pois esse recurso é fornecido na API mais recente para renderizar Shapefile, FileGDB, GeoJSON, KML ou outros formatos de arquivo suportados para SVG. Fizemos um esforço especial para manter esse processo simples, ou seja, renderizar mapas usando poucas linhas de código para simplificar e obter resultados rápidos sem definir um grande número de propriedades. Veja como é simples renderizar um mapa usando C#.

// Para exemplos completos e arquivos de dados, acesse 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);
}

Veja como é fácil apenas definindo a resolução da imagem resultante, selecionando o driver de acordo com o tipo de arquivo de entrada e pronto. O mapa está pronto para renderizar como SVG.

Aqui está a saída do programa:

Você pode estar preocupado com a aparência e sentir que é apenas um modelo em preto e branco. Esse é o novo recurso que era esperado há muito tempo? Não! esta é apenas a saída mais simples para mostrar a funcionalidade. Você pode personalizar a renderização e os estilos de recursos para obter a aparência desejada. Aqui está um código de exemplo avançado demonstrando mais recursos nesta nova versão.

// Para exemplos completos e arquivos de dados, acesse 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);
}

Vamos ver como os estilos alterarão a saída usando o código de exemplo acima:

Uau! excelente. Agora você pode começar a trabalhar com esse recurso usando seus mapas de amostra. É isso?

Para entender os detalhes do código, visite este artigo na seção de documentação.

Conversão de Datum devido a SRS WKT Incompleto

O Aspose.GIS introduziu um novo recurso de conversão entre datums quando a definição SRS WKT não está completa. Para transformar entre SRS geográficos, os parâmetros TOWGS84 são necessários. Se eles estiverem presentes na definição WKT, o Aspose.GIS pode se transformar entre quaisquer SRSs geográficos. Se eles não estiverem presentes, o Aspose.GIS tenta detectar os parâmetros TOWGS84 pelo nome SRS. Se isso falhar, o Aspose.GIS tenta encontrar SRS com os mesmos parâmetros e nomes de dados semelhantes, a fim de obter os parâmetros TOWGS84 de um SRS semelhante.

Outras atualizações

As gradações de acompanhamento são feitas para tornar a biblioteca mais amigável e livre de erros.

  • Algum conteúdo extra no final do documento foi relatado ao substituir um arquivo existente. Esse problema não existe mais.
  • Houve alguns problemas ao especificar caminhos na mesma pasta que o executável, no entanto, esse problema foi resolvido agora.
  • Houve casos em que mensagens de erro enganosas foram lançadas para um arquivo ausente. Era como “Fim de arquivo inesperado”, que não indicava o problema real. Esta mensagem está corrigida agora.
  • Havia um construtor desnecessário na classe do driver GPX que foi removido agora para evitar qualquer confusão.

Espero que você tenha uma boa idéia sobre este novo lançamento. Aproveite o uso desta versão mais recente e compartilhe seus pensamentos para melhorá-la em nosso fórum de suporte.

Recursos da API