อาจมีสถานการณ์ที่คุณต้องแปลงไฟล์ KML เป็นรูปแบบ GeoJSON หรือในทางกลับกัน ในกรณีดังกล่าว บทความนี้จะสอนวิธีแปลงไฟล์ KML เป็นรูปแบบ GeoJSON และไฟล์ GeoJSON เป็นรูปแบบ KML โดยใช้ C#

C # API เพื่อแปลง KML เป็น GeoJSON และในทางกลับกัน

Aspose.GIS for .NET API ช่วยให้คุณแสดงแผนที่และสร้าง อ่าน และแปลงข้อมูลทางภูมิศาสตร์โดยไม่ต้องใช้ซอฟต์แวร์เพิ่มเติม นอกจากนี้ API ยังให้คุณแปลงไฟล์ KML เป็นรูปแบบ GeoJSON และในทางกลับกัน คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

PM> Install-Package Aspose.GIS

แปลง KML เป็น GeoJSON ใน C#

ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ KML เป็นรูปแบบ GeoJSON

โค้ดตัวอย่างต่อไปนี้แสดงวิธีแปลงไฟล์ KML เป็นรูปแบบ GeoJSON โดยใช้ C#

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.geojson";

// ระบุการตั้งค่าการแปลงหากจำเป็น เป็นทางเลือก
ConversionOptions options = null;

// ตัวเลือกนี้กำหนด Wgs84 ให้กับเลเยอร์ปลายทาง
// การแปลงอาจเกิดข้อผิดพลาด หากเลเยอร์ปลายทางไม่รองรับการอ้างอิงเชิงพื้นที่ Wgs84 ดังนั้นต้องตรวจสอบ
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// แปลงรูปแบบไฟล์จาก KML เป็น GeoJSON
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

แปลง GeoJSON เป็น KML ใน C#

ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ GeoJSON เป็นรูปแบบ KML

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการแปลงไฟล์ GeoJSON เป็นรูปแบบ KML โดยใช้ C#

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "intersection.geojson";
string outputFile = dataDir + "output.kml";

// ระบุการตั้งค่าการแปลงหากจำเป็น เป็นทางเลือก
ConversionOptions options = null;

// ตัวเลือกนี้กำหนด Wgs84 ให้กับเลเยอร์ปลายทาง
// การแปลงอาจเกิดข้อผิดพลาด หากเลเยอร์ปลายทางไม่รองรับการอ้างอิงเชิงพื้นที่ Wgs84 ดังนั้นต้องตรวจสอบ
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// แปลงรูปแบบไฟล์จาก GeoJSON เป็น KML
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

รับใบอนุญาตฟรี

หากต้องการลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน คุณจะได้รับ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีแปลงไฟล์ KML เป็นรูปแบบ GeoJSON และในทางกลับกันโดยใช้ C# ข้อมูลโค้ดที่ใช้ร่วมกันจะสาธิตวิธีการบรรลุ Conversion เหล่านี้ด้วยโค้ดเพียงไม่กี่บรรทัด Aspose.GIS for .NET เป็น API ที่แข็งแกร่งและมีฟีเจอร์มากมายที่ช่วยคุณในการทำงานกับข้อมูลภูมิสารสนเทศ คุณสามารถสำรวจ API โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย