OpenStreetMap (OSM) هو مشروع مفتوح المصدر. يهدف إلى إنشاء قاعدة بيانات جغرافية مجانية وقابلة للتحرير للعالم بأسره. ملف OpenStreetMap (.osm) هو مقتطف من قاعدة بيانات OpenStreetMap المخزنة بتنسيق XML. في بعض الحالات ، قد نحتاج إلى تصدير بيانات الخرائط من OSM لعرضها على Google Earth. يستخدم برنامج Google Earth ملفات KML لعرض البيانات الجغرافية. في هذه المقالة ، سوف نتعلم كيفية تحويل OSM إلى KML في #C.
تتناول هذه المقالة الموضوعات التالية:
C# OSM to KML Converter API - تنزيل مجاني
لتحويل ملف OpenStreetMap (OSM) إلى KML ، سنستخدم Aspose.GIS for .NET 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 في #C
يمكننا بسهولة تحويل ملف OpenStreetMap (OSM) إلى KML باستخدام Aspose.GIS for .NET باتباع الخطوات الواردة أدناه:
- قم بتعيين المرجع المكاني Wgs84 للطبقة الوجهة.
- تحويل تنسيق الملف من OSM إلى KML.
يصف القسم التالي كيفية تحويل هذه الخطوات إلى #C وتحويل OSM إلى تنسيق KML.
تحويل OSM إلى KML في #C
يمكننا تصدير البيانات من OSM إلى KML باتباع الخطوات الواردة أدناه:
- أولاً ، قم بإنشاء مثيل لفئة ConversionOptions.
- بعد ذلك ، قم بتعيين DestinationSpatialReferenceSystem على Wgs84.
- أخيرًا ، قم باستدعاء طريقة 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 في #C. بالإضافة إلى ذلك ، يمكنك استكشاف كيفية العمل مع العديد من تنسيقات ملفات GIS الأخرى ومعرفة المزيد حول API باستخدام التوثيق. في حالة وجود أي غموض ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.