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

OpenStreetMap (OSM) یک پروژه منبع باز است. هدف آن ایجاد یک پایگاه داده جغرافیایی رایگان و قابل ویرایش از کل جهان است. فایل OpenStreetMap (.osm) عصاره ای از پایگاه داده OpenStreetMap است که به صورت XML ذخیره شده است. در موارد خاص، ممکن است لازم باشد داده‌های نقشه را از OSM صادر کنیم تا در Google Earth نمایش داده شود. Google Earth از فایل‌های KML برای نمایش داده‌های جغرافیایی استفاده می‌کند. در این مقاله با نحوه تبدیل OSM به KML در سی شارپ آشنا می شویم.

این مقاله باید موضوعات زیر را پوشش دهد:

  1. تبدیل C# OSM به KML
  2. مراحل تبدیل OSM به KML
  3. تبدیل OSM به KML

C# OSM به KML Converter API - دانلود رایگان

برای تبدیل فایل OpenStreetMap (OSM) به KML، از Aspose.GIS for .NET API استفاده خواهیم کرد. API امکان صادرات OSM به KML را بدون نیاز به نرم افزارهایی مانند ArcGIS، ArcMap، QGIS یا Google Earth می دهد. همچنین امکان ارائه نقشه ها، ایجاد، خواندن و تبدیل داده های جغرافیایی موجود در [فرمت های فایل پشتیبانی شده] را فراهم می کند.

API کلاس VectorLayer را ارائه می دهد که یک لایه برداری را نشان می دهد. Convert(string, FileDriver, string, FileDriver, ConversionOptions) را فراهم می کند که یک لایه را به فرمت دیگری تبدیل می کند. کلاس SpatialReferenceSystem فهرستی از سیستم های مرجع مکانی مختلف را برای استفاده برای نقشه ارائه می کند.

لطفاً یا DLL API را دانلود کنید یا با استفاده از NuGet آن را نصب کنید.

PM> Install-Package Aspose.GIS

نحوه تبدیل OSM به KML در سی شارپ

ما به راحتی می‌توانیم فایل OpenStreetMap (OSM) را با استفاده از Aspose.GIS برای .NET با دنبال کردن مراحل زیر به KML تبدیل کنیم:

  1. مرجع فضایی Wgs84 را به لایه مقصد اختصاص دهید.
  2. تبدیل فرمت فایل از OSM به KML.

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

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

با دنبال کردن مراحل زیر می توانیم داده ها را از OSM به KML صادر کنیم:

  1. ابتدا یک نمونه از کلاس ConversionOptions ایجاد کنید.
  2. پس از آن، DestinationSpatialReferenceSystem را به عنوان Wgs84 تنظیم کنید.
  3. در نهایت متد ()VectorLayer.Convert را برای تبدیل OSM منبع به KML فراخوانی کنید.

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

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

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

// تبدیل فرمت فایل از OSM به KML.
VectorLayer.Convert("C:\\Files\\sample.osm", Drivers.OsmXml, "C:\\Files\\destination.kml", Drivers.Kml, options);

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

شما می توانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله با نحوه تبدیل OSM به KML در سی شارپ آشنا شدیم. علاوه بر این، می‌توانید نحوه کار با چندین فرمت فایل GIS دیگر را بررسی کنید و با استفاده از مستندات درباره API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهامی، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.

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