Jak przekonwertować SHP na GPX w C#

Ten krótki samouczek pokazuje jak przekonwertować SHP na GPX w języku C#, podając szczegóły konfiguracji, etapowy proces i uruchamialny przykładowy kod. Możesz wykonać to zadanie za pomocą pojedynczego wiersza kodu, jednak przykładowy kod zademonstruje również opcje konwersji ustawień. Ten proces konwersji Shapefile na GPX w języku C# można wykonać w dowolnym systemie Windows z zainstalowaną platformą .NET lub w systemie Linux/macOS z platformą .NET Core.

Kroki, aby przekonwertować plik kształtu na GPX w C#

  1. Zainstaluj Aspose.GIS for .NET z menedżera pakietów NuGet, aby przekonwertować plik SHP na GPX
  2. Utwórz instancję obiektu klasy ConversionOptions, aby dostosować proces konwersji
  3. Sprawdź, czy twój sterownik Shapefile obsługuje określony system odniesienia przestrzennego, czy nie
  4. Ustaw opcję dla żądanego przestrzennego układu odniesienia
  5. Konwertuj plik SHP na GPX za pomocą metody Convert w VectorLayer class

Te kroki wyjaśniają proces konwertowania pliku kształtu na format GPX w języku C# przez określenie referencyjnych przestrzeni nazw i klas wymaganych do wykonania zadania. Ten proces można wykonać po prostu za pomocą metody Convert w klasie VectorLayer, jednak badane są różne opcje w celu dostosowania procesu konwersji. Dostarcza również informacji pozwalających sprawdzić, czy wybrany sterownik obsługuje określony system odniesienia przestrzennego, czy nie.

Kod konwertera SHP na GPX w języku 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");
}
}
}

Ten kod zademonstrował proces konwersji SHP na GPX w języku C#. Możesz użyć określonego sterownika do pracy z różnymi formatami plików, takimi jak GeoJson, Kml, Shapefile, OsmXml i Gml, aby wymienić tylko kilka. W tym kodzie wykorzystano system odniesień przestrzennych Wgs84, ale możesz także użyć innych opcji, takich jak Wgs72, WebMercator, Etrs89LambertConformalConic, Etrs89 itp. w oparciu o wsparcie zapewniane przez warstwę docelową.

W tym samouczku nauczyliśmy się konwersji SHP na GPX. Jeśli chcesz poznać proces konwersji GPX na KMZ, zapoznaj się z artykułem na jak przekonwertować GPX na KMZ w C#.

 Polski