ممکن است شرایطی وجود داشته باشد که لازم باشد فایل‌های KML را به قالب GeoJSON تبدیل کنید یا برعکس. برای چنین مواردی در این مقاله نحوه تبدیل فایل های KML به فرمت GeoJSON و فایل های GeoJSON به فرمت KML با استفاده از سی شارپ به شما آموزش داده می شود.

C# API برای تبدیل KML به GeoJSON و بالعکس

Aspose.GIS for .NET API به شما امکان می دهد نقشه ها را رندر کنید و داده های جغرافیایی را بدون نرم افزار اضافی ایجاد کنید، بخوانید و تبدیل کنید. علاوه بر این، API به شما امکان می دهد فایل های KML را به فرمت GeoJSON و بالعکس تبدیل کنید. می‌توانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش دانلودها دانلود کنید.

PM> Install-Package Aspose.GIS

تبدیل KML به GeoJSON در سی شارپ

در زیر مراحل تبدیل فایل های KML به فرمت GeoJSON آمده است.

کد نمونه زیر نحوه تبدیل فایل KML به فرمت GeoJSON با استفاده از C# را نشان می دهد.

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

// در صورت لزوم تنظیمات تبدیل را مشخص کنید. اختیاری است.
ConversionOptions options = null;

// این گزینه Wgs84 را به لایه مقصد اختصاص می دهد.
// اگر لایه مقصد از مرجع فضایی Wgs84 پشتیبانی نکند، تبدیل ممکن است خطا ایجاد کند. پس باید بررسی شود
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// فرمت فایل را از KML به GeoJSON تبدیل کنید
VectorLayer.Convert(sourceFile, Drivers.Kml, outputFile, Drivers.GeoJson, options);

تبدیل GeoJSON به KML در سی شارپ

در زیر مراحل تبدیل فایل های GeoJSON به فرمت KML آمده است.

کد نمونه زیر نحوه تبدیل فایل GeoJSON به فرمت KML را با استفاده از C# نشان می دهد.

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

// در صورت لزوم تنظیمات تبدیل را مشخص کنید. اختیاری است.
ConversionOptions options = null;

// این گزینه Wgs84 را به لایه مقصد اختصاص می دهد.
// اگر لایه مقصد از مرجع فضایی Wgs84 پشتیبانی نکند، تبدیل ممکن است خطا ایجاد کند. پس باید بررسی شود
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// فرمت فایل را از GeoJSON به KML تبدیل کنید.
VectorLayer.Convert(sourceFile, Drivers.GeoJson, outputFile, Drivers.Kml, options);

مجوز رایگان دریافت کنید

به منظور امتحان کردن API بدون محدودیت ارزیابی، می توانید [یک مجوز موقت رایگان] دریافت کنید.

نتیجه

در این مقاله با نحوه تبدیل فایل های KML به فرمت GeoJSON و بالعکس با استفاده از سی شارپ آشنا شدید. تکه کدهای به اشتراک گذاشته شده نحوه دستیابی به این تبدیل ها را تنها با چند خط کد نشان می دهد. Aspose.GIS for .NET یک API قوی و غنی است که به شما در کار با داده های مکانی کمک می کند. با مراجعه به مستندات رسمی می‌توانید API را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان18 تماس بگیرید.

همچنین ببینید