KML dosyalarını GeoJSON formatına veya tam tersine dönüştürmeniz gereken durumlar olabilir. Bu gibi durumlarda, bu makale size C# kullanarak KML dosyalarını GeoJSON formatına ve GeoJSON dosyalarını KML formatına nasıl dönüştüreceğinizi öğretecektir.

KML’yi GeoJSON’a ve Vice Versa’ya Dönüştürmek için C# API

Aspose.GIS for .NET API, haritaları oluşturmanıza ve ek yazılım olmadan coğrafi verileri oluşturmanıza, okumanıza ve dönüştürmenize olanak tanır. Ayrıca API, KML dosyalarını GeoJSON formatına ve tersi yönde dönüştürmenize izin verir. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.GIS

KML’yi C# dilinde GeoJSON’a dönüştürün

KML dosyalarını GeoJSON formatına dönüştürme adımları aşağıdadır.

Aşağıdaki örnek kod, C# kullanılarak bir KML dosyasının GeoJSON biçimine nasıl dönüştürüleceğini gösterir.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "Kml_File.kml";
string outputFile = dataDir + "output.geojson";

// Gerekirse dönüştürme ayarlarını belirtin. isteğe bağlıdır.
ConversionOptions options = null;

// Bu seçenek, Wgs84'ü hedef katmana atar.
// Hedef katman Wgs84 uzamsal referansını desteklemiyorsa dönüştürme hatası verebilir. Yani kontrol etmek gerekiyor.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Dosya formatını KML'den GeoJSON'a dönüştürün
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

GeoJSON’u C# dilinde KML’ye dönüştürün

GeoJSON dosyalarını KML formatına dönüştürmek için gereken adımlar aşağıdadır.

Aşağıdaki örnek kod, bir GeoJSON dosyasının C# kullanarak KML biçimine nasıl dönüştürüleceğini gösterir.

string dataDir = RunExamples.GetDataDir();
string sourceFile = dataDir + "intersection.geojson";
string outputFile = dataDir + "output.kml";

// Gerekirse dönüştürme ayarlarını belirtin. isteğe bağlıdır.
ConversionOptions options = null;

// Bu seçenek, Wgs84'ü hedef katmana atar.
// Hedef katman Wgs84 uzamsal referansını desteklemiyorsa dönüştürme hatası verebilir. Yani kontrol etmek gerekiyor.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// Dosya biçimini GeoJSON'dan KML'ye dönüştürün.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmaksızın denemek için [ücretsiz bir geçici lisans] alabilirsiniz]16.

Çözüm

Bu makalede, C# kullanarak KML dosyalarını GeoJSON formatına ve tersinin nasıl dönüştürüleceğini öğrendiniz. Paylaşılan kod parçacıkları, bu dönüşümlerin yalnızca birkaç satır kodla nasıl gerçekleştirileceğini gösterir. Aspose.GIS for .NET, jeo-uzamsal verilerle çalışmanıza yardımcı olan sağlam ve zengin özelliklere sahip bir API’dir. Resmi belgeleri ziyaret ederek API’yi ayrıntılı olarak inceleyebilirsiniz. Herhangi bir sorunuz olursa lütfen ücretsiz destek forumumuzdan bize ulaşmaktan çekinmeyin.

Ayrıca bakınız