Shapefile'ı C# dilinde SVG'ye dönüştürün

Shapefile formatı, ESRI’nin coğrafi bilgileri görüntülemek için kullanılan en yaygın coğrafi vektör veri formatlarından biridir. Belirli durumlarda, coğrafi verileri ESRI Shapefile (SHP) formatından SVG formatına aktarmamız gerekebilir. SVG, bir görüntünün görünümünü açıklayan XML tabanlı bir metin biçimidir. Bu yazıda, bir şekil dosyasını C# dilinde SVG’ye nasıl dönüştüreceğimizi öğreneceğiz.

Bu makale aşağıdaki konuları kapsayacaktır:

  1. C# Shapefile’den SVG’ye Dönüştürücü
  2. Shapefile’ı SVG’ye Dönüştürme Adımları
  3. ShapeFile’ı SVG’ye İşleyin

C# Shapefile to SVG Converter API - Ücretsiz İndirme

Bir şekil dosyasını SVG’ye dönüştürmek için Aspose.GIS for .NET API’sini kullanacağız. ArcGIS, ArcMap, QGIS veya Google Earth gibi yazılımlara ihtiyaç duymadan şekil dosyasının SVG’ye aktarılmasına izin verir. API ayrıca desteklenen dosya biçimlerinde bulunan haritaların oluşturulmasına, oluşturulmasına, okunmasına ve coğrafi verilerin dönüştürülmesine olanak tanır.

API’nin Harita sınıfı, Renderer aracılığıyla üst üste işlenebilen bir katman koleksiyonudur. SpatialReferenceSystem sınıfı, harita için kullanılacak farklı uzamsal referans sistemlerinin bir listesini sağlar. SimpleLine sınıfını kullanarak basit bir vektör çizgi simgeleyici tanımlayabiliriz. API’de bir vektör katmanını temsil eden VectorLayer sınıfına sahibiz. Bu sınıfın Open(string, FileDriver) yöntemini kullanarak şekil dosyasını bir vektör katmanına yükleyebiliriz. Katmanı okuma için açar.

Lütfen API’nin DLL’sini indirin veya NuGet kullanarak kurun.

PM> Install-Package Aspose.GIS

C# ile Shapefile’ı SVG’ye Dönüştürme

Aspose.GIS for .NET kullanarak aşağıda verilen adımları izleyerek bir şekil dosyasını kolayca SVG’ye dönüştürebiliriz:

  1. Bir Harita Başlatın.
  2. Haritaya Wgs84 uzamsal referansını atayın.
  3. Bir şekil dosyasını vektör katmanı olarak açın.
  4. Shapefile katmanını haritaya ekleyin.
  5. Haritayı SVG formatında işleyin.

Şimdi bu adımların C# koduna nasıl dönüştürüleceğini ve bir shapefile dosyasının SVG formatına nasıl dönüştürüleceğini görelim.

ShapeFile’ı C# dilinde SVG’ye dönüştürün

Bir şekil dosyasını SVG olarak işlemek için lütfen aşağıdaki adımları izleyin:

  1. Öncelikle, Map sınıfının bir örneğini oluşturun.
  2. Ardından, SpatialReferenceSystem’ı Wgs84 olarak ayarlayın.
  3. Ardından, SimpleLine sınıfını kullanarak basit bir çizgi simgeleyici tanımlayın.
  4. Bu arada, VectorLayer.Open() yöntemini kullanarak bir şekil dosyası yükleyin.
  5. Bundan sonra, Map.Add() yöntemini kullanarak şekil dosyası katmanını haritaya ekleyin.
  6. Son olarak, SVG olarak kaydetmek için Map.Render() yöntemini çağırın. Çıktı SVG dosya yolunu ve Renderers.Svg’yi bağımsız değişken olarak alır.

Aşağıdaki kod örneği, C# kullanarak bir şekil dosyasının SVG’ye nasıl dönüştürüleceğini gösterir.

// Bu kod örneği, bir şekil dosyasının SVG'ye nasıl dönüştürüleceğini gösterir.
// Dosya dizini
string dataDir = "C:\\Files\\GIS\\";

// Haritayı Başlat
var map = new Map(800, 400);

// Belirtilen SRS'yi kullanın
map.SpatialReferenceSystem = SpatialReferenceSystem.Wgs84;

// Çizgi çizmek için belirtilen stili kullanın
// Noktalar, çizgiler ve yüzeyler için de stillerimiz var.
var symbolizer = new SimpleLine() 
{ 
    Width = Measurement.Pixels(2) 
};

// Bir şekil dosyasını katman olarak aç
var shapefileLayer = VectorLayer.Open(dataDir + "buildings.shp", Drivers.Shapefile);

// Haritaya şekil dosyası katmanı ekleyin
map.Add(shapefileLayer, symbolizer);

// Haritayı Svg biçiminde işleyin
map.Render(dataDir + "buildings_out.svg", Renderers.Svg);

Ücretsiz Lisans Alın

Kitaplığı değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu yazıda, C# dilinde bir şekil dosyasının SVG’ye nasıl dönüştürüleceğini öğrendik. Ayrıca bir haritayı nasıl tanımlayacağımızı ve programlı olarak bir şekil dosyasını nasıl yükleyeceğimizi gördük. Ayrıca, dokümantasyon kullanarak diğer birçok GIS dosya formatıyla nasıl çalışılacağını keşfedebilir ve API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen ücretsiz destek forumumuzda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız