Çeşitli sistemler tarafından desteklenen birçok formatta Coğrafi veriye sahip olabiliriz. Belirli durumlarda, coğrafi verileri ESRI Shapefile (SHP) formatından Keyhole Markup Language (KML) formatına aktarmamız gerekebilir. Shapefile formatı, ESRI’nin coğrafi bilgileri görüntülemek için kullanılan en yaygın jeo-uzamsal vektör veri formatlarından biridir. KML, coğrafi verileri GIS dışı kullanıcılarla paylaşmak için kullanılan, XML tabanlı bir formattır. KML biçimi, coğrafi verileri Google Earth veya Google Haritalar’da görüntülemek için kullanılır. Bu yazıda, C# dilinde bir şekil dosyasını KML’ye nasıl dönüştüreceğimizi öğreneceğiz.
Bu makale aşağıdaki konuları kapsayacaktır:
C# Shapefile to KML Converter API - Ücretsiz İndirme
Bir şekil dosyasını KML’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 KML’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 ConversionOptions sınıfı, verileri biçimler arasında dönüştürmek için seçenekler sunar. SpatialReferenceSystem sınıfı, koordinatları Dünya üzerindeki yerlere eşlemede kullanılacak farklı uzamsal referans sistemlerinin bir listesini sağlar. API’de bir vektör katmanını temsil eden VectorLayer sınıfına sahibiz. Bu sınıfın Convert(string, FileDriver, string, FileDriver, ConversionOptions) yöntemi, bir katmanı farklı bir biçime dönüştürür.
Lütfen API’nin DLL’sini indirin veya NuGet kullanarak kurun.
PM> Install-Package Aspose.GIS
C# ile Shapefile’ı KML’ye Dönüştürme
Aspose.GIS for .NET kullanarak aşağıda verilen adımları izleyerek bir şekil dosyasını kolayca KML’ye dönüştürebiliriz:
- Wgs84 uzamsal referansını hedef katmana atayın.
- Dosya formatını SHP’den KML’ye yükleyin ve dönüştürün.
Şimdi, bir shapefile dosyasını KML formatına dönüştürmek için bu adımları C#’ta nasıl gerçekleştireceğimizi görelim.
ShapeFile’ı C# dilinde KML’ye aktarın
Verileri bir şekil dosyasından KML’ye aktarmak için lütfen aşağıdaki adımları izleyin:
- ConversionOptions sınıfının bir örneğini başlatın.
- DestinationSpatialReferenceSystem’ı Wgs84 olarak ayarlayın.
- Son olarak, kaynak şekil dosyasını KML’ye dönüştürmek için VectorLayer.Convert() yöntemini çağırın.
Aşağıdaki kod örneği, C# kullanarak bir şekil dosyasının KML’ye nasıl dönüştürüleceğini gösterir.
// Bu kod örneği, bir şekil dosyasının C# dilinde KML'ye nasıl dönüştürüleceğini gösterir.
// Çalışma dizini
string dataDir = @"C:\Files\GIS\";
// Gerekirse dönüştürme ayarlarını belirtin. isteğe bağlıdır.
ConversionOptions options = null;
// Hedef katman Wgs84 uzamsal referansını desteklemiyorsa dönüştürme hatası verebilir. Yani kontrol etmek gerekiyor.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
// Wgs84'ü hedef katmana atayın
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
};
}
// Bir Shapefile'ı KML'ye dönüştürün.
VectorLayer.Convert(dataDir + "Shapefile.shp", Drivers.Shapefile, dataDir + "destination.kml", Drivers.Kml, options);
Ü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ı KML’ye nasıl dönüştüreceğimizi öğrendik. Dönüştürme seçeneklerini programlı olarak nasıl tanımlayacağımızı da gördük. Ayrıca, documentation kullanarak diğer birçok GIS dosya formatıyla nasıl çalışılacağını keşfedebilir ve Aspose.GIS for .NET API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen forumumuzdan bizimle iletişime geçmekten çekinmeyin.