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
- C# kullanarak KML Dosyalarını GeoJSON Formatına Dönüştürün
- C# kullanarak GeoJSON Dosyalarını KML Formatına Dönüştürün
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.
- ConversionOptions sınıfının bir örneğini oluşturun.
- DestinationSpatialReferenceSystem özelliğini kullanarak SpatialReferenceSystem.Wgs84 öğesini ConversionOptions nesnesine atayın.
- VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string targetPath, FileDriver targetDriver, ConversionOptions options) yöntemini kullanarak KML dosyasını GeoJSON formatına dönüştürün.
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.
- ConversionOptions sınıfının bir örneğini oluşturun.
- DestinationSpatialReferenceSystem özelliğini kullanarak SpatialReferenceSystem.Wgs84 öğesini ConversionOptions nesnesine atayın.
- VectorLayer.Convert(string sourcePath, FileDriver sourceDriver, string targetPath, FileDriver targetDriver, ConversionOptions options) yöntemini kullanarak GeoJSON dosyasını KML formatına dönüştürün.
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.