แปลง geojson-topojson-csharp

GeoJSON ใช้สำหรับแสดงคุณลักษณะทางภูมิศาสตร์ด้วยคุณลักษณะที่ไม่ใช่เชิงพื้นที่ ในขณะที่ TopoJSON เป็นส่วนเสริมของ GeoJSON ที่ใช้โทโพโลยี คุณสามารถแปลง GeoJSON เป็น TopoJSON และ TopoJSON เป็น GeoJSON ได้ตามความต้องการของคุณ ให้เราสำรวจกรณีการใช้งานต่อไปนี้โดยละเอียด:

การแปลงระหว่าง GeoJSON และ TopoJSON – การติดตั้ง C# .NET API

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

PM> Install-Package Aspose.GIS

แปลง GeoJSON เป็น TopoJSON โดยทางโปรแกรมโดยใช้ C

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

  1. โหลดไฟล์ GeoJSON อินพุต
  2. แปลง GeoJSON เป็น TopoJSON

ข้อมูลโค้ดต่อไปนี้แสดงวิธีการแปลง GeoJSON เป็น TopoJSON โดยทางโปรแกรมโดยใช้ C #:

// โหลดไฟล์ GeoJSON อินพุต
string sampleGeoJsonPath = dataDir + "sample.geojson";
var outputFilePath = dataDir + "convertedSample_out.topojson";

// แปลง GeoJSON เป็น TopoJSON
VectorLayer.Convert(sampleGeoJsonPath, Drivers.GeoJson, outputFilePath, Drivers.TopoJson);

แปลง GeoJSON เป็น TopoJSON ด้วย Quantization โดยใช้ C#

การแปลง GeoJSON เป็น TopoJSON เป็นที่นิยมเนื่องจากประสิทธิภาพที่มีความแม่นยำคงที่และขนาดไฟล์ที่น้อยกว่า นอกจากนี้ การหาปริมาณยังลดความแม่นยำของพิกัด ผลที่ได้คือปรับขนาดไฟล์ให้เหมาะสมโดยแสดงพิกัดเป็นจำนวนเต็ม ดังนั้นคุณสามารถแปลง GeoJSON เป็น TopoJSON ด้วยการวัดปริมาณด้วยขั้นตอนด้านล่าง:

  1. เริ่มต้นวัตถุคลาส ConversionOptions
  2. ระบุจำนวนควอนตัม
  3. หรือตั้งค่าคุณสมบัติ Transform
  4. แปลง GeoJSON เป็น TopoJSON ด้วยการวัดปริมาณ

รหัสด้านล่างแสดงวิธีการแปลง GeoJSON เป็น TopoJSON ด้วยการวัดปริมาณ โดยจะอธิบายแนวทางทางเลือกสองแนวทางสำหรับการแปลง:

// แปลง GeoJSON เป็น TopoJSON ด้วยการวัดปริมาณ - แปลงสองเท่าเป็นจำนวนเต็มเพื่อลดขนาดไฟล์

string SampleGeoJsonPath = dataDir + "sample.geojson";
var outputFilePath = dataDir + "convertedSampleWithQuantization_out.topojson";

// เริ่มต้นวัตถุคลาส ConversionOptions
var options = new ConversionOptions
{
    DestinationDriverOptions = new TopoJsonOptions
    {
        // มีสองวิธีในการตั้งค่าพารามิเตอร์การวัดปริมาณ - ด้วยคุณสมบัติ Transform หรือ
        // ด้วยจำนวนควอนตัม ที่นี่เราระบุจำนวนเชิงปริมาณ
        // Quantization number ระบุจำนวนของค่าที่แสดงต่อมิติในผลลัพธ์
        // พิกัด.
        QuantizationNumber = 100_000,

        // หรืออีกทางหนึ่ง สามารถตั้งค่าคุณสมบัติ 'แปลงร่าง' (แต่ไม่พร้อมกันกับจำนวนการวัด)
        // อ้างถึงข้อมูลจำเพาะของ TopoJSON สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวัตถุการแปลงและการวัดปริมาณ
        //
        // การแปลง = ใหม่ TopoJsonTransform(
        //     xแปล: 0,
        //     y แปล: 0,
        //     xScale: 0.0001000010000100001,
        //     yScale: 0.0001000010000100001),
    }
};

VectorLayer.Convert(SampleGeoJsonPath, Drivers.GeoJson, outputFilePath, Drivers.TopoJson, options);

แปลง TopoJSON เป็น GeoJSON โดยทางโปรแกรมใน C

Aspose.GIS for .NET API รองรับการแปลงไฟล์ TopoJSON เป็น GeoJSON คุณจึงเพิ่มฟีเจอร์นี้ในแอปพลิเคชัน .NET ของคุณได้ ยิ่งไปกว่านั้น ไฟล์ GeoJSON มักเป็นที่ต้องการในการจัดการรูปทรงเรขาคณิตทางฝั่งเซิร์ฟเวอร์ซึ่งไม่ต้องการโทโพโลยี คุณสามารถทำตามขั้นตอนต่อไปนี้สำหรับการแปลง TopoJSON เป็น GeoJSON:

  1. โหลดอินพุตไฟล์ TopoJSON
  2. การแปลง TopoJSON เป็น GeoJSON

รหัสต่อไปนี้แสดงวิธีการแปลง TopoJSON เป็น GeoJSON โดยทางโปรแกรมโดยใช้ C #:

// โหลดอินพุตไฟล์ TopoJSON
var sampleTopoJsonPath = dataDir + "sample.topojson";
var outputFilePath = dataDir + "convertedSample_out.geojson";

// แปลงไฟล์ TopoJSON เป็นไฟล์ GeoJSON
VectorLayer.Convert(sampleTopoJsonPath, Drivers.TopoJson, outputFilePath, Drivers.GeoJson);

บทสรุป

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

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