Como converter SHP para GPX em C#

Este tutorial rápido orienta como converter SHP em GPX em C# fornecendo detalhes de configuração, um processo passo a passo e um código de exemplo executável. Você também pode executar essa tarefa com uma única linha de código, mas o código de exemplo também demonstrará a configuração das opções de conversão. Este processo para converter Shapefile para GPX em C# pode ser executado em qualquer sistema Windows com .NET instalado ou sistema Linux/macOS com .NET Core.

Etapas para converter arquivo de forma para GPX em C#

  1. Instale Aspose.GIS for .NET do gerenciador de pacotes NuGet para converter o arquivo SHP em GPX
  2. Instancie o objeto de classe ConversionOptions para personalizar o processo de conversão
  3. Verifique se o driver Shapefile suporta um sistema de referência espacial específico ou não
  4. Defina a opção para um sistema de referência espacial desejado
  5. Converta o arquivo SHP para GPX usando o método Convert no VectorLayer class

Essas etapas explicam o processo para converter o arquivo de forma em GPX em C# identificando os namespaces e classes de referência necessários para realizar a tarefa. Este processo pode ser concluído simplesmente com o método Convert na classe VectorLayer, porém diferentes opções são exploradas para personalizar o processo de conversão. Ele também fornece informações para verificar se o driver selecionado suporta um determinado sistema de referência espacial ou não.

Código para conversor SHP para GPX em C#

using System;
using Aspose.Gis;
using Aspose.Gis.SpatialReferencing;
namespace AsposeProjects
{
class Program
{
static void Main(string[] args) // Main function to convert SHP to GPX
{
// Initialize a license
Aspose.Gis.License lic = new Aspose.Gis.License();
lic.SetLicense(@"Aspose.Total.lic");
// Instantiate ConversionOptions object
ConversionOptions options = null;
// Set the desired spatial reference system
SpatialReferenceSystem spatialReferenceSystem = SpatialReferenceSystem.Wgs84;
// Check if target driver supports the selected spatial reference system
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(spatialReferenceSystem))
{
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = spatialReferenceSystem,
};
}
try
{
// Convert SHP to GPX
VectorLayer.Convert("Sample.shp", Drivers.Shapefile, "Output.gpx", Drivers.Gpx, options);
}
catch(Exception)
{
System.Console.WriteLine( $"{spatialReferenceSystem} not supported" );
}
System.Console.WriteLine("Done");
}
}
}

Este código demonstrou o processo para converter SHP para GPX em C#. Você pode usar um driver específico para trabalhar com diferentes formatos de arquivo como GeoJson, Kml, Shapefile, OsmXml e Gml para listar alguns. Este código utilizou o sistema de referência espacial Wgs84, porém você pode usar outras opções também como Wgs72, WebMercator, Etrs89LambertConformalConic, Etrs89, etc. com base no suporte fornecido pela camada de destino.

Neste tutorial, aprendemos a conversão de SHP para GPX. Se você quiser aprender o processo de conversão de GPX para KMZ, consulte o artigo em como converter GPX para KMZ em C#.

 Português