פורמט Shapefile הוא אחד הפורמטים הנפוצים ביותר של נתונים וקטוריים גיאו-מרחביים המשמשים להצגת מידע גיאוגרפי. במקרים מסוימים, ייתכן שנצטרך לייצא נתונים גיאוגרפיים מפורמט ESRI Shapefile (SHP) לפורמט SVG. ה-SVG הוא פורמט טקסט מבוסס XML לתיאור המראה של תמונה. במאמר זה נלמד כיצד להמיר Shapefile ל-SVG ב-C#.
מאמר זה יעסוק בנושאים הבאים:
C# Shapefile ל-SVG Converter API - הורדה חינם
כדי להמיר Shapefile ל-SVG, נשתמש ב-Aspose.GIS for .NET API. זה מאפשר לייצא קובץ shapefile ל-SVG ללא צורך בתוכנה כמו ArcGIS, ArcMap, QGIS או Google Earth. ה-API מאפשר גם עיבוד של מפות, יצירה, קריאה והמרה של נתונים גיאוגרפיים הזמינים בפורמטים הנתמכים של קבצים.
המחלקה Map של ה-API היא אוסף של שכבות שניתן לעבד זו על גבי זו באמצעות Renderer. המחלקה SpatialReferenceSystem מספקת רשימה של מערכות התייחסות מרחביות שונות לשימוש עבור המפה. אנו יכולים להגדיר מסמל קו וקטור פשוט באמצעות המחלקה SimpleLine. יש לנו את המחלקה VectorLayer שמייצגת שכבה וקטורית ב-API. אנו יכולים לטעון את קובץ הצורה לשכבה וקטורית באמצעות השיטה Open(string, FileDriver) של המחלקה הזו. זה פותח את השכבה לקריאה.
אנא הורד את ה-DLL של ה-API או התקן אותו באמצעות NuGet.
PM> Install-Package Aspose.GIS
כיצד להמיר Shapefile ל-SVG ב-C#
אנו יכולים להמיר בקלות קובץ צורה ל-SVG באמצעות Aspose.GIS עבור .NET על ידי ביצוע השלבים המפורטים להלן:
- אתחול מפה.
- הקצה את ההתייחסות המרחבית של Wgs84 למפה.
- פתח קובץ צורה כשכבה וקטורית.
- הוסף את שכבת shapefile למפה.
- עבד את המפה בפורמט SVG.
כעת, בואו נראה כיצד להפוך את השלבים הללו לקוד C# ולהמיר קובץ shapefile לפורמט SVG.
עיבוד ShapeFile ל-SVG ב-C#
אנא בצע את השלבים המפורטים להלן כדי לעבד קובץ צורה כ-SVG:
- ראשית, צור מופע של המחלקה Map.
- לאחר מכן, הגדר את SpatialReferenceSystem כ-Wgs84.
- לאחר מכן, הגדר מסמל קו פשוט באמצעות המחלקה SimpleLine.
- בינתיים, טען קובץ shape באמצעות שיטת VectorLayer.Open() .
- לאחר מכן, הוסף את שכבת shapefile למפה באמצעות שיטת Map.Add() .
- לבסוף, קרא לשיטת Map.Render() כדי לשמור כ-SVG. זה לוקח את נתיב קובץ הפלט SVG ואת Renderers.Svg כארגומנטים.
דוגמת הקוד הבאה מראה כיצד להמיר קובץ shape ל-SVG באמצעות C#.
// דוגמה זו מדגימה כיצד להמיר קובץ shape ל-SVG.
// ספריית קבצים
string dataDir = "C:\\Files\\GIS\\";
// אתחול המפה
var map = new Map(800, 400);
// השתמש ב-SRS שצוין
map.SpatialReferenceSystem = SpatialReferenceSystem.Wgs84;
// השתמש בסגנון שצוין כדי לצייר קווים
// יש לנו גם סגנונות לנקודות, קווים ומשטחים.
var symbolizer = new SimpleLine()
{
Width = Measurement.Pixels(2)
};
// פתח קובץ צורה כשכבה
var shapefileLayer = VectorLayer.Open(dataDir + "buildings.shp", Drivers.Shapefile);
// הוסף שכבת shapefile למפה
map.Add(shapefileLayer, symbolizer);
// עבד את המפה לפורמט Svg
map.Render(dataDir + "buildings_out.svg", Renderers.Svg);
קבל רישיון חינם
אתה יכול לקבל רישיון זמני בחינם כדי לנסות את הספרייה ללא מגבלות הערכה.
סיכום
במאמר זה, למדנו כיצד להמיר Shapefile ל-SVG ב-C#. ראינו גם כיצד להגדיר מפה ולטעון קובץ צורה באופן פרוגרמטי. חוץ מזה, אתה יכול לחקור כיצד לעבוד עם מספר פורמטים אחרים של קבצי GIS וללמוד עוד על ה-API באמצעות תיעוד. בכל מקרה של אי בהירות, אנא אל תהסס לפנות אלינו ב[פורום התמיכה החינמי] שלנו22.