convert-geojson-topojson-csharp

GeoJSON digunakan untuk merepresentasikan fitur geografis dengan fitur non-spasial. Padahal, TopoJSON merupakan perpanjangan dari GeoJSON yang memanfaatkan Topologi. Anda dapat mengonversi GeoJSON ke TopoJSON serta TopoJSON ke GeoJSON sesuai kebutuhan Anda. Mari kita jelajahi kasus penggunaan berikut secara mendetail:

GeoJSON dan TopoJSON antar-konversi – Instalasi C# .NET API

Aspose.GIS for .NET API dapat digunakan untuk memanipulasi atau mengonversi data geografis. Anda dapat dengan mudah mengonfigurasi API dengan mengunduh file DLL-nya dari bagian Unduhan, atau melalui galeri NuGet dengan perintah penginstalan berikut:

PM> Install-Package Aspose.GIS

Konversikan GeoJSON ke TopoJSON Secara terprogram menggunakan C#

Konversi file GeoJSON ke TopoJSON sangat membantu karena menyandikan fitur geospasial dan ukuran file lebih kecil. Ukuran file lebih kecil karena topologi dan menghilangkan redundansi. Selain itu, meskipun tidak ada topologi bersama, pengkodean presisi-perbaikan jauh lebih efisien daripada pengkodean floating point dari format file GeoJSON. Anda dapat mengonversi GeoJSON ke TopoJSON dengan langkah-langkah berikut:

  1. Muat masukan file GeoJSON
  2. Konversikan GeoJSON ke TopoJSON

Cuplikan kode berikut menunjukkan cara mengonversi GeoJSON ke TopoJSON secara terprogram menggunakan C#:

// Muat masukan file GeoJSON
string sampleGeoJsonPath = dataDir + "sample.geojson";
var outputFilePath = dataDir + "convertedSample_out.topojson";

// konversikan GeoJSON ke TopoJSON
VectorLayer.Convert(sampleGeoJsonPath, Drivers.GeoJson, outputFilePath, Drivers.TopoJson);

Konversikan GeoJSON ke TopoJSON dengan Kuantisasi menggunakan C#

Konversi GeoJSON ke TopoJSON populer karena efisiensi presisi tetap dan ukuran file lebih kecil. Selain itu, kuantisasi mengurangi ketepatan koordinat. Hasilnya, ini mengoptimalkan ukuran file dengan merepresentasikan koordinat sebagai bilangan bulat. Jadi Anda dapat mengonversi GeoJSON ke TopoJSON dengan kuantisasi dengan langkah-langkah di bawah ini:

  1. Inisialisasi objek kelas ConversionOptions.
  2. Tentukan Nomor Kuantisasi
  3. Atau atur properti Transform.
  4. Konversikan GeoJSON ke TopoJSON dengan kuantisasi

Kode di bawah ini menunjukkan cara mengonversi GeoJSON ke TopoJSON dengan kuantisasi. Ini menjelaskan dua pendekatan alternatif untuk konversi:

// konversikan GeoJSON ke TopoJSON dengan kuantisasi - mengubah ganda menjadi bilangan bulat untuk mengurangi ukuran file.

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

// Menginisialisasi objek kelas ConversionOptions
var options = new ConversionOptions
{
    DestinationDriverOptions = new TopoJsonOptions
    {
        // Ada dua cara untuk mengatur parameter kuantisasi - dengan properti Transform atau
        // dengan bilangan kuantisasi. Di sini kami menentukan nomor kuantisasi.
        // Jumlah kuantisasi menentukan jumlah nilai yang dapat diungkapkan per dimensi dalam suatu hasil
        // koordinat.
        QuantizationNumber = 100_000,

        // Alternatifnya, properti 'Transformasi' dapat diatur (tetapi tidak bersamaan dengan nomor kuantisasi).
        // Lihat spesifikasi TopoJSON untuk detail lebih lanjut tentang objek transformasi dan kuantisasi.
        //
        // Transformasi = TopoJsonTransform baru(
        //     xTerjemahkan: 0,
        //     yTerjemahkan: 0,
        //     Skala x: 0,0001000010000100001,
        //     Skala y: 0,0001000010000100001),
    }
};

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

Konversikan TopoJSON ke GeoJSON Secara terprogram dalam C#

Aspose.GIS for .NET API mendukung konversi file TopoJSON ke GeoJSON. Jadi Anda dapat menambahkan fitur ini di aplikasi .NET Anda. Selain itu, file GeoJSON biasanya lebih disukai dalam manipulasi geometri sisi server yang tidak memerlukan topologi. Anda dapat mengikuti langkah-langkah berikut untuk konversi TopoJSON ke GeoJSON:

  1. Muat masukan file TopoJSON
  2. Konversi TopoJSON ke GeoJSON

Kode berikut menunjukkan cara mengonversi TopoJSON ke GeoJSON secara terprogram menggunakan C#:

// Muat masukan file TopoJSON
var sampleTopoJsonPath = dataDir + "sample.topojson";
var outputFilePath = dataDir + "convertedSample_out.geojson";

// Konversi file TopoJSON ke GeoJSON
VectorLayer.Convert(sampleTopoJsonPath, Drivers.TopoJson, outputFilePath, Drivers.GeoJson);

Kesimpulan

Pada artikel ini, Anda telah mempelajari perbedaan dan kesesuaian format file GeoJSON dan TopoJSON. Selain itu, Anda telah menjelajahi cara mengubahnya menjadi satu sama lain sesuai kebutuhan Anda. Aspose.GIS for .NET API dapat secara efisien dan cepat melakukan antar-konversi dalam aplikasi Anda. Selanjutnya, Anda dapat mempelajari lebih lanjut dengan mengunjungi API Documentation. Jika ada pertanyaan atau masalah, jangan ragu untuk menghubungi kami kembali di Forum Dukungan Gratis.

Lihat juga