Konversikan Shapefile ke SVG di C#

Format Shapefile adalah salah satu format data vektor geospasial ESRI yang paling umum digunakan untuk menampilkan informasi geografis. Dalam kasus tertentu, kami mungkin perlu mengekspor data geografis dari format ESRI Shapefile (SHP) ke format SVG. SVG adalah format teks berbasis XML untuk mendeskripsikan tampilan gambar. Pada artikel ini, kita akan mempelajari cara mengonversi shapefile ke SVG di C#.

Artikel ini akan mencakup topik-topik berikut:

  1. Konverter C# Shapefile ke SVG
  2. Langkah-langkah untuk Mengonversi Shapefile ke SVG
  3. Render ShapeFile ke SVG

API Konverter C# Shapefile ke SVG - Unduhan Gratis

Untuk mengonversi shapefile ke SVG, kita akan menggunakan Aspose.GIS for .NET API. Itu memungkinkan mengekspor shapefile ke SVG tanpa memerlukan perangkat lunak seperti ArcGIS, ArcMap, QGIS atau Google Earth. API juga memungkinkan rendering peta, membuat, membaca, dan mengonversi data geografis yang tersedia dalam format file yang didukung.

Kelas Map API adalah kumpulan lapisan yang dapat dirender di atas satu sama lain melalui Renderer. Kelas SpatialReferenceSystem menyediakan daftar sistem referensi spasial yang berbeda untuk digunakan pada peta. Kita dapat mendefinisikan simbol garis vektor sederhana menggunakan kelas SimpleLine. Kami memiliki kelas VectorLayer yang mewakili layer vektor di API. Kita dapat memuat shapefile ke dalam layer vektor menggunakan metode Open(string, FileDriver) dari kelas ini. Ini membuka lapisan untuk membaca.

Harap unduh DLL API atau instal menggunakan NuGet.

PM> Install-Package Aspose.GIS

Cara Mengonversi Shapefile ke SVG di C#

Kita dapat dengan mudah mengonversi shapefile ke SVG menggunakan Aspose.GIS for .NET dengan mengikuti langkah-langkah di bawah ini:

  1. Inisialisasi Peta.
  2. Tetapkan referensi spasial Wgs84 ke peta.
  3. Buka sebuah shapefile sebagai layer vektor.
  4. Tambahkan layer shapefile ke peta.
  5. Render peta dalam format SVG.

Sekarang, mari kita lihat bagaimana mengubah langkah-langkah ini menjadi kode C# dan mengonversi file shapefile ke format SVG.

Render ShapeFile ke SVG di C#

Silakan ikuti langkah-langkah yang diberikan di bawah ini untuk merender sebuah shapefile sebagai SVG:

  1. Pertama, buat instance dari kelas Peta.
  2. Selanjutnya, atur SpatialReferenceSystem sebagai Wgs84.
  3. Kemudian, tentukan simbol garis sederhana menggunakan kelas SimpleLine.
  4. Sementara itu, muat sebuah shapefile menggunakan metode VectorLayer.Open().
  5. Setelah itu, tambahkan layer shapefile ke peta menggunakan metode Map.Add().
  6. Terakhir, panggil metode Map.Render() untuk menyimpan sebagai SVG. Dibutuhkan jalur file SVG keluaran dan Renderers.Svg sebagai argumen.

Contoh kode berikut menunjukkan cara mengonversi shapefile ke SVG menggunakan C#.

// Contoh kode ini menunjukkan cara mengonversi shapefile ke SVG.
// Direktori file
string dataDir = "C:\\Files\\GIS\\";

// Inisialisasi Peta
var map = new Map(800, 400);

// Gunakan SRS yang ditentukan
map.SpatialReferenceSystem = SpatialReferenceSystem.Wgs84;

// Gunakan gaya yang ditentukan untuk menggambar garis
// Kami juga memiliki gaya untuk titik, garis, dan permukaan.
var symbolizer = new SimpleLine() 
{ 
    Width = Measurement.Pixels(2) 
};

// Buka shapefile sebagai layer
var shapefileLayer = VectorLayer.Open(dataDir + "buildings.shp", Drivers.Shapefile);

// Tambahkan lapisan shapefile ke peta
map.Add(shapefileLayer, symbolizer);

// Render peta ke format Svg
map.Render(dataDir + "buildings_out.svg", Renderers.Svg);

Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba perpustakaan tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, kami telah mempelajari cara mengonversi shapefile ke SVG di C#. Kita juga telah melihat cara mendefinisikan peta dan memuat shapefile secara terprogram. Selain itu, Anda dapat menjelajahi cara bekerja dengan beberapa format file GIS lainnya dan mempelajari lebih lanjut tentang API menggunakan dokumentasi. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga