OSM'yi C# dilinde KML'ye dönüştürün

OpenStreetMap (OSM) açık kaynaklı bir projedir. Tüm dünyanın ücretsiz, düzenlenebilir bir coğrafi veritabanını oluşturmayı amaçlar. OpenStreetMap dosyası (.osm), XML olarak depolanan OpenStreetMap veritabanının bir özüdür. Belirli durumlarda, Google Earth’te görüntülemek için OSM‘den harita verilerini dışa aktarmamız gerekebilir. Google Earth, coğrafi verileri görüntülemek için KML dosyalarını kullanır. Bu yazıda, C# dilinde bir OSM’yi KML’ye nasıl dönüştüreceğimizi öğreneceğiz.

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

  1. C# OSM’den KML’ye Dönüştürücü
  2. OSM’yi KML’ye Dönüştürme Adımları
  3. OSM’yi KML’ye dönüştürün

C# OSM’den KML’ye Dönüştürücü API’si - Ücretsiz İndirme

OpenStreetMap (OSM) dosyasını KML’ye dönüştürmek için Aspose.GIS for .NET API’sini kullanacağız. API, ArcGIS, ArcMap, QGIS veya Google Earth gibi yazılımlara ihtiyaç duymadan OSM’yi KML’ye aktarmaya izin verir. 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, bir vektör katmanını temsil eden VectorLayer sınıfını sağlar. Bir katmanı farklı bir formata dönüştüren Convert(string, FileDriver, string, FileDriver, ConversionOptions) sağlar. SpatialReferenceSystem sınıfı, harita için kullanılacak farklı uzamsal referans sistemlerinin bir listesini sağlar.

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

PM> Install-Package Aspose.GIS

OSM’yi C# ile KML’ye Dönüştürme

Aşağıdaki adımları izleyerek OpenStreetMap (OSM) dosyasını Aspose.GIS for .NET kullanarak kolayca KML’ye dönüştürebiliriz:

  1. Wgs84 uzamsal referansını hedef katmana atayın.
  2. Dosya biçimini OSM’den KML’ye dönüştürün.

Aşağıdaki bölümde, bu adımların C#‘a nasıl dönüştürüleceği ve bir OSM’nin KML biçimine nasıl dönüştürüleceği açıklanmaktadır.

OSM’yi C# dilinde KML’ye dönüştürün

Aşağıda verilen adımları izleyerek verileri OSM’den KML’ye aktarabiliriz:

  1. İlk olarak, ConversionOptions sınıfının bir örneğini oluşturun.
  2. Bundan sonra, DestinationSpatialReferenceSystem’i Wgs84 olarak ayarlayın.
  3. Son olarak, kaynak OSM’yi KML’ye dönüştürmek için VectorLayer.Convert() yöntemini çağırın.

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

// Bu kod örneği, OSM'nin KML'ye nasıl dönüştürüleceğini gösterir.
// 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 OSM'den KML'ye dönüştürün.
VectorLayer.Convert("C:\\Files\\sample.osm", Drivers.OsmXml, "C:\\Files\\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 OSM’yi KML’ye nasıl dönüştüreceğimizi öğrendik. 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