KML مخفف Keyhole Markup Language است که از نماد XML گسترش یافته است. این یک فرمت فایل GIS است و برای نمایش اطلاعات جغرافیایی استفاده می شود. میتوانید فایلهای KML را به صورت برنامهنویسی ایجاد کنید، و همچنین با استفاده از زبان C# اطلاعات آنها را بخوانید. اجازه دهید بخش های زیر مربوط به فرمت فایل KML را بررسی کنیم:
- ایجاد یا خواندن فایل های KML – نصب API
- ایجاد فایل KML به صورت برنامه ریزی شده با استفاده از سی شارپ
- خواندن ویژگی های فایل های KML به صورت برنامه ریزی شده با استفاده از C#
ایجاد یا خواندن فایل های KML – نصب API
Aspose.GIS for .NET API از کار با فایل های KML همراه با چندین [فرمت فایل پشتیبانی شده] دیگر پشتیبانی می کند. اجازه دهید API را برای دستکاری فایل های برداری در برنامه های مبتنی بر دات نت نصب کنیم. باید API را از بخش New Releases یا از گالری NuGet با دستور نصب زیر دانلود کنید:
PM> Install-Package Aspose.GIS
پس از پیکربندی API، همه برای ایجاد یا دستکاری فایل های KML آماده هستید. اکنون نیازی به نگرانی در مورد جزئیات جزئی ندارید زیرا فقط باید تماس های ساده API برقرار کنید. اجازه دهید به جزئیات بیشتر برویم:
ایجاد فایل KML به صورت برنامه ریزی شده با استفاده از سی شارپ
فایلهای KML از ساختار مبتنی بر برچسب مانند فایلهای XML پیروی میکنند. میتوانید از فایلهای KML برای مشخص کردن مکانها، برنامهریزی یا ردیابی سفرهای خود و بسیاری از سناریوهای مهم دیگر استفاده کنید. می توانید فایل های KML را به صورت برنامه نویسی با استفاده از سی شارپ با مراحل زیر ایجاد کنید:
- ایجاد یک لایه
- ویژگی را برای هندسه و ویژگی ها مقداردهی کنید
- مقدار مشخصه های مختلف را تنظیم کنید
- ویژگی را به یک لایه خاص اضافه کنید
قطعه کد زیر یک نمایش ساده و ساده در مورد نحوه ایجاد فایل های KML به صورت برنامه نویسی در سی شارپ است:
// یک لایه ایجاد کنید
using (var layer = Drivers.Kml.CreateLayer(dataDir + "Kml_File_out.kml"))
{
// مقدار اولیه ویژگی برای هندسه و ویژگی ها
layer.Attributes.Add(new FeatureAttribute("string_data", AttributeDataType.String));
layer.Attributes.Add(new FeatureAttribute("int_data", AttributeDataType.Integer));
layer.Attributes.Add(new FeatureAttribute("bool_data", AttributeDataType.Boolean));
layer.Attributes.Add(new FeatureAttribute("float_data", AttributeDataType.Double));
// مقدار مشخصه های مختلف را تنظیم کنید
Feature feature = layer.ConstructFeature();
feature.SetValue("string_data", "string value");
feature.SetValue("int_data", 10);
feature.SetValue("bool_data", true);
feature.SetValue("float_data", 3.14);
feature.Geometry = new LineString(new[] { new Point(0, 0), new Point(1, 1) });
// ویژگی را به یک لایه خاص اضافه کنید
layer.Add(feature);
Feature feature2 = layer.ConstructFeature();
feature2.SetValue("string_data", "string value2");
feature2.SetValue("int_data", 100);
feature2.SetValue("bool_data", false);
feature2.SetValue("float_data", 3.1415);
feature2.Geometry = Geometry.Null;
layer.Add(feature2);
}
خواندن ویژگی های فایل های KML به صورت برنامه ریزی شده با استفاده از C#
ویژگیهای اساسی یک فایل KML ممکن است شامل مکانها، توضیحات، مسیرها و غیره باشد. اجازه دهید فایل KML را که در مثال بالا ایجاد کردهایم ادامه دهیم. شما می توانید هر ویژگی یک فایل KML را با مراحل زیر بخوانید:
- فایل KML ورودی را با روش OpenLayer بارگیری کنید
- تعداد ویژگی ها را دریافت کنید
- به یک ویژگی در یک شاخص خاص دسترسی پیدا کنید
- ویژگی های فایل KML را بخوانید
قطعه کد زیر نحوه خواندن ویژگی های یک فایل KML را به صورت برنامه نویسی در سی شارپ نشان می دهد:
// فایل KML ورودی را با روش OpenLayer بارگیری کنید
using (var layer = Drivers.Kml.OpenLayer(dataDir + "Kml_File.kml"))
{
// تعداد ویژگی ها را دریافت کنید
int count = layer.Count;
// دسترسی به یک ویژگی در یک شاخص خاص
Feature featureAtIndex1 = layer[0];
Console.WriteLine(featureAtIndex1.GetValue<string>("string_data"));
Feature featureAtIndex2 = layer[1];
Console.WriteLine(featureAtIndex2.GetValue<string>("string_data"));
}
نتیجه
در این مقاله نحوه کار با فایل های KML را بررسی کرده ایم. ما یاد گرفتیم که چگونه یک فایل KML ایجاد کنیم یا ویژگی های آن را به صورت برنامه نویسی با کمک کد نمونه سی شارپ بخوانیم. به همین ترتیب، می توانید نحوه کار با چندین فرمت فایل GIS دیگر را بررسی کنید. میتوانید از Product Documentation بازدید کنید یا در [تالار گفتمان پشتیبانی رایگان13 برای ما بنویسید تا در مورد هر یک از نگرانیهای خود صحبت کنید. ما دوست داریم به شما کمک کنیم!