GeoJSON ใช้สำหรับแสดงคุณลักษณะทางภูมิศาสตร์ด้วยคุณลักษณะที่ไม่ใช่เชิงพื้นที่ ในขณะที่ TopoJSON เป็นส่วนเสริมของ GeoJSON ที่ใช้โทโพโลยี คุณสามารถแปลง GeoJSON เป็น TopoJSON และ TopoJSON เป็น GeoJSON ได้ตามความต้องการของคุณ ให้เราสำรวจกรณีการใช้งานต่อไปนี้โดยละเอียด:
- การแปลงระหว่าง GeoJSON และ TopoJSON – การติดตั้ง C# .NET API
- แปลง GeoJSON เป็น TopoJSON โดยทางโปรแกรมโดยใช้ C #
- แปลง GeoJSON เป็น TopoJSON ด้วย Quantization โดยใช้ C#
- แปลง TopoJSON เป็น GeoJSON โดยทางโปรแกรมใน C #
การแปลงระหว่าง 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 ได้โดยทำตามขั้นตอนต่อไปนี้:
- โหลดไฟล์ GeoJSON อินพุต
- แปลง 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 ด้วยการวัดปริมาณด้วยขั้นตอนด้านล่าง:
- เริ่มต้นวัตถุคลาส ConversionOptions
- ระบุจำนวนควอนตัม
- หรือตั้งค่าคุณสมบัติ Transform
- แปลง 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:
- โหลดอินพุตไฟล์ TopoJSON
- การแปลง 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 เอกสารประกอบ ในกรณีที่มีคำถามหรือข้อกังวลใดๆ โปรดอย่าลังเลที่จะติดต่อกลับหาเราที่ ฟอรัมสนับสนุนฟรี