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#
- Zainstaluj Aspose.GIS for .NET z menedżera pakietów NuGet, aby przekonwertować plik SHP na GPX
- Utwórz instancję obiektu klasy ConversionOptions, aby dostosować proces konwersji
- Sprawdź, czy twój sterownik Shapefile obsługuje określony system odniesienia przestrzennego, czy nie
- Ustaw opcję dla żądanego przestrzennego układu odniesienia
- 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#.