قد تتوفر لدينا بيانات جغرافية في العديد من التنسيقات التي تدعمها أنظمة مختلفة. في بعض الحالات ، قد نحتاج إلى تصدير البيانات الجغرافية من تنسيق ESRI Shapefile (SHP) إلى تنسيق Keyhole Markup Language (KML). يعد تنسيق Shapefile أحد أكثر تنسيقات بيانات المتجهات الجغرافية المكانية شيوعًا المستخدمة لعرض المعلومات الجغرافية. KML هو تنسيق مستند إلى XML ، ويستخدم لمشاركة البيانات الجغرافية مع غير مستخدمي نظم المعلومات الجغرافية. يتم استخدام تنسيق KML لعرض البيانات الجغرافية في برنامج Google Earth أو خرائط Google. في هذه المقالة ، سوف نتعلم كيفية تحويل ملف الشكل إلى KML في #C.
تتناول هذه المقالة الموضوعات التالية:
C# Shapefile to KML Converter API - تنزيل مجاني
لتحويل ملف شكل إلى KML ، سنستخدم Aspose.GIS for .NET API. يسمح بتصدير ملف الأشكال إلى KML دون الحاجة إلى برامج مثل ArcGIS أو ArcMap أو QGIS أو Google Earth. تسمح واجهة برمجة التطبيقات أيضًا بتقديم الخرائط وإنشاء وقراءة وتحويل البيانات الجغرافية المتاحة في تنسيقات الملفات المدعومة.
توفر فئة ConversionOptions الخاصة بواجهة برمجة التطبيقات خيارات لتحويل البيانات بين التنسيقات. توفر فئة SpatialReferenceSystem قائمة بأنظمة الإسناد المكاني المختلفة لاستخدامها في تعيين الإحداثيات إلى الأماكن على الأرض. لدينا فئة VectorLayer التي تمثل طبقة متجه في واجهة برمجة التطبيقات. الطريقة Convert (string، FileDriver، string، FileDriver، ConversionOptions) طريقة هذه الفئة تحول طبقة إلى تنسيق مختلف.
يرجى إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته باستخدام NuGet.
PM> Install-Package Aspose.GIS
كيفية تحويل ملف الشكل إلى KML في C#
يمكننا بسهولة تحويل ملف شكل إلى KML باستخدام Aspose.GIS لـ .NET باتباع الخطوات الواردة أدناه:
- قم بتعيين المرجع المكاني Wgs84 للطبقة الوجهة.
- قم بتحميل وتحويل تنسيق الملف من SHP إلى KML.
الآن ، دعنا نرى كيفية تنفيذ هذه الخطوات في #C لتحويل ملف شكل إلى تنسيق KML.
تصدير ملف ShapeFile إلى KML في C#
يُرجى اتباع الخطوات الواردة أدناه لتصدير البيانات من ملف أشكال إلى KML:
- تهيئة مثيل لفئة ConversionOptions.
- قم بتعيين DestinationSpatialReferenceSystem إلى Wgs84.
- أخيرًا ، قم باستدعاء طريقة VectorLayer.Convert () لتحويل ملف شكل المصدر إلى KML.
يوضح نموذج التعليمات البرمجية التالي كيفية تحويل ملف شكل إلى KML باستخدام #C.
// يوضح هذا المثال الشفري كيفية تحويل ملف أشكال إلى KML في #C.
// عمل اخراجي
string dataDir = @"C:\Files\GIS\";
// حدد إعدادات التحويل إذا لزم الأمر. إنه اختياري.
ConversionOptions options = null;
// قد يؤدي التحويل إلى خطأ إذا كانت الطبقة الوجهة لا تدعم الإسناد المكاني Wgs84. لذلك تحتاج إلى التحقق.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
// قم بتعيين Wgs84 للطبقة الوجهة
options = new ConversionOptions()
{
DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
};
}
// تحويل ملف بأشكال إلى KML.
VectorLayer.Convert(dataDir + "Shapefile.shp", Drivers.Shapefile, dataDir + "destination.kml", Drivers.Kml, options);
احصل على رخصة مجانية
يمكنك الحصول على ترخيص مؤقت مجاني لتجربة المكتبة دون قيود التقييم.
استنتاج
في هذه المقالة ، تعلمنا كيفية تحويل ملف أشكال إلى KML في #C. لقد رأينا أيضًا كيفية تحديد خيارات التحويل برمجيًا. بالإضافة إلى ذلك ، يمكنك استكشاف كيفية العمل مع العديد من تنسيقات ملفات GIS الأخرى ومعرفة المزيد حول Aspose.GIS لـ .NET API باستخدام التوثيق. في حالة وجود أي غموض ، لا تتردد في الاتصال بنا على المنتدى.