המרת Shapefile ל-KML ב-C#

ייתכן שיש לנו נתונים גיאוגרפיים זמינים בפורמטים רבים הנתמכים על ידי מערכות שונות. במקרים מסוימים, ייתכן שנצטרך לייצא נתונים גיאוגרפיים מפורמט ESRI Shapefile (SHP) לפורמט Keyhole Markup Language (KML). פורמט Shapefile הוא אחד הפורמטים הנפוצים ביותר של נתונים וקטוריים גיאו-מרחביים המשמשים להצגת מידע גיאוגרפי. ה-KML הוא פורמט מבוסס XML, המשמש לשיתוף נתונים גיאוגרפיים עם משתמשים שאינם GIS. פורמט KML משמש להצגת נתונים גיאוגרפיים ב-Google Earth או ב-Google Maps. במאמר זה, נלמד כיצד להמיר Shapefile ל-KML ב-C#.

מאמר זה יעסוק בנושאים הבאים:

  1. C# Shapefile to KML Converter
  2. שלבים להמרת Shapefile ל-KML
  3. ייצא ShapeFile ל-KML

C# Shapefile ל-KML Converter API - הורדה חינם

כדי להמיר Shapefile ל-KML, נשתמש ב-Aspose.GIS for .NET API. זה מאפשר לייצא קבצי shapefile ל-KML ללא צורך בתוכנה כמו ArcGIS, ArcMap, QGIS או Google Earth. ה-API מאפשר גם עיבוד של מפות, יצירה, קריאה והמרה של נתונים גיאוגרפיים הזמינים בפורמטים הנתמכים של קבצים.

המחלקה ConversionOptions של ה-API מספקת אפשרויות להמרת נתונים בין פורמטים. המחלקה SpatialReferenceSystem מספקת רשימה של מערכות ייחוס מרחביות שונות לשימוש במיפוי קואורדינטות למקומות על פני כדור הארץ. יש לנו את המחלקה VectorLayer שמייצגת שכבה וקטורית ב-API. השיטה Convert(string, FileDriver, string, FileDriver, ConversionOptions) של מחלקה זו ממירה שכבה לפורמט אחר.

אנא הורד את ה-DLL של ה-API או התקן אותו באמצעות NuGet.

PM> Install-Package Aspose.GIS

כיצד להמיר Shapefile ל-KML ב-C#

אנו יכולים להמיר בקלות קובץ shape ל-KML באמצעות Aspose.GIS עבור .NET על ידי ביצוע השלבים המפורטים להלן:

  • הקצה את ההתייחסות המרחבית Wgs84 לשכבת היעד.
  • טען והמר פורמט קובץ מ-SHP ל-KML.

כעת, בואו נראה כיצד לבצע את השלבים האלה ב-C# כדי להמיר קובץ shapefile לפורמט KML.

ייצוא ShapeFile ל-KML ב-C#

אנא בצע את השלבים המפורטים להלן כדי לייצא נתונים מ-shapefile ל-KML:

  1. אתחול מופע של המחלקה ConversionOptions.
  2. הגדר את DestinationSpatialReferenceSystem כ-Wgs84.
  3. לבסוף, קרא לשיטת VectorLayer.Convert() כדי להמיר shapefile מקור ל-KML.

דגימת הקוד הבאה מראה כיצד להמיר קובץ shape ל-KML באמצעות C#.

// דוגמה זו מדגימה כיצד להמיר Shapefile ל-KML ב-C#.
// ספריית עבודה
string dataDir = @"C:\Files\GIS\";

// ציין הגדרות המרה במידת הצורך. זה אופציונלי.
ConversionOptions options = null;

// המרה עלולה לגרום לשגיאה אם שכבת היעד אינה תומכת בהתייחסות המרחבית של Wgs84. אז צריך לבדוק.
if (Drivers.Shapefile.SupportsSpatialReferenceSystem(SpatialReferenceSystem.Wgs84))
{
    // הקצה Wgs84 לשכבת היעד
    options = new ConversionOptions()
    {
        DestinationSpatialReferenceSystem = SpatialReferenceSystem.Wgs84,
    };
}

// המרת Shapefile ל-KML.
VectorLayer.Convert(dataDir + "Shapefile.shp", Drivers.Shapefile, dataDir + "destination.kml", Drivers.Kml, options);

קבל רישיון חינם

אתה יכול לקבל רישיון זמני בחינם כדי לנסות את הספרייה ללא מגבלות הערכה.

סיכום

במאמר זה, למדנו כיצד להמיר Shapefile ל-KML ב-C#. ראינו גם כיצד להגדיר אפשרויות המרה באופן פרוגרמטי. חוץ מזה, אתה יכול לחקור כיצד לעבוד עם כמה פורמטים אחרים של קבצי GIS וללמוד עוד על Aspose.GIS עבור .NET API באמצעות תיעוד. בכל מקרה של אי בהירות, אנא אל תהסס לפנות אלינו בפורום שלנו.

ראה גם