วิธีการแปลง SHP เป็น GPX ใน C#

บทช่วยสอนฉบับย่อนี้จะแนะนำ วิธีแปลง SHP เป็น GPX ใน C# โดยให้รายละเอียดการกำหนดค่า กระบวนการแบบเป็นขั้นตอน และโค้ดตัวอย่างที่รันได้ คุณสามารถทำงานนี้ได้ด้วยโค้ดบรรทัดเดียว อย่างไรก็ตาม โค้ดตัวอย่างจะสาธิตการตั้งค่าตัวเลือกการแปลงด้วย ขั้นตอนการแปลง Shapefile เป็น GPX ใน C# สามารถทำได้บนระบบที่ใช้ Windows ที่ติดตั้ง .NET หรือระบบ Linux/macOS ที่มี .NET Core

ขั้นตอนในการแปลงไฟล์ Shape เป็น GPX ใน C#

  1. ติดตั้ง Aspose.GIS for .NET จาก NuGet package manager เพื่อแปลงไฟล์ SHP เป็น GPX
  2. สร้างอินสแตนซ์อ็อบเจ็กต์คลาส ConversionOptions เพื่อปรับแต่งกระบวนการแปลง
  3. ตรวจสอบว่าไดรเวอร์ Shapefile ของคุณรองรับระบบอ้างอิงเชิงพื้นที่โดยเฉพาะหรือไม่
  4. ตั้งค่าตัวเลือกสำหรับระบบอ้างอิงเชิงพื้นที่ที่ต้องการ
  5. แปลงไฟล์ SHP เป็น GPX โดยใช้วิธีแปลงใน VectorLayer class

ขั้นตอนเหล่านี้อธิบายกระบวนการในการ แปลงไฟล์รูปร่างเป็น GPX ใน C# โดยการระบุเนมสเปซอ้างอิงและคลาสที่จำเป็นในการทำงานให้สำเร็จ กระบวนการนี้สามารถทำได้ง่ายๆ ด้วยเมธอด Convert ในคลาส VectorLayer อย่างไรก็ตาม มีการสำรวจตัวเลือกต่างๆ เพื่อปรับแต่งกระบวนการแปลง นอกจากนี้ยังให้ข้อมูลเพื่อตรวจสอบว่าไดรเวอร์ที่เลือกรองรับระบบอ้างอิงเชิงพื้นที่โดยเฉพาะหรือไม่

รหัสสำหรับตัวแปลง SHP เป็น GPX ใน 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");
}
}
}

รหัสนี้ได้สาธิตกระบวนการ แปลง SHP เป็น GPX ใน C# คุณสามารถใช้ไดรเวอร์เฉพาะสำหรับการทำงานกับรูปแบบไฟล์ต่างๆ เช่น GeoJson, Kml, Shapefile, OsmXml และ Gml เพื่อแสดงรายการบางส่วน โค้ดนี้ใช้ระบบอ้างอิงเชิงพื้นที่ Wgs84 อย่างไรก็ตาม คุณสามารถใช้ตัวเลือกอื่นๆ เช่น Wgs72, WebMercator, Etrs89LambertConformalConic, Etrs89 ฯลฯ ตามการสนับสนุนของเลเยอร์ปลายทาง

ในบทช่วยสอนนี้ เราได้เรียนรู้การแปลง SHP เป็น GPX หากคุณต้องการเรียนรู้ขั้นตอนการแปลง GPX เป็น KMZ โปรดดูบทความใน วิธีแปลง GPX เป็น KMZ ใน C#

 ไทย