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#
- Instale Aspose.GIS for .NET do gerenciador de pacotes NuGet para converter o arquivo SHP em GPX
- Instancie o objeto de classe ConversionOptions para personalizar o processo de conversão
- Verifique se o driver Shapefile suporta um sistema de referência espacial específico ou não
- Defina a opção para um sistema de referência espacial desejado
- 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#.