داده‌های نقشه می‌توانند در قالب‌های مختلفی مانند KML، GeoTiff، GeoJSON، Shapefile و غیره در دسترس باشند. ممکن است شرایطی وجود داشته باشد که لازم باشد داده‌های نقشه را به‌عنوان تصاویر BMP ارائه کنید. برای این منظور، این مقاله به شما یاد می دهد که چگونه داده های نقشه را با فرمت BMP با استفاده از C# ارائه دهید.

C# API برای رندر نقشه به فرمت BMP

ما از Aspose.GIS for .NET API برای ارائه نقشه ها به فرمت BMP استفاده خواهیم کرد. این یک API است که از کار با داده های مکانی ذخیره شده در فرمت های فایل مختلف پشتیبانی می کند. همچنین امکان رندر نقشه ها و ایجاد، خواندن و تبدیل داده های جغرافیایی را بدون نرم افزار اضافی فراهم می کند. می‌توانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.

PM> Install-Package Aspose.GIS

رندر نقشه به فرمت BMP با استفاده از سی شارپ

مراحل زیر برای ارائه نقشه ها به فرمت BMP است.

  • یک نمونه از کلاس Map ایجاد کنید.
  • یک لایه برداری از شکل فایل ایجاد کنید و آن را به نقشه اضافه کنید.
  • نقشه را به صورت BMP با استفاده از روش Map.Render(string outputPath, Renderer renderer) رندر کنید.

کد نمونه زیر نحوه رندر کردن نقشه را با فرمت BMP با استفاده از C# نشان می دهد.

using (var map = new Map(800, 400))
{
    map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
    map.Render(dataDir + "land_out.bmp", Renderers.Bmp);
}

ارائه نقشه به پروجکشن خاص با استفاده از سی شارپ

مراحل زیر برای ارائه یک نقشه به یک طرح خاص است.

  • یک نمونه از کلاس Map ایجاد کنید.
  • یک لایه برداری از شکل فایل ایجاد کنید و آن را به نقشه اضافه کنید.
  • سیستم مرجع فضایی نقشه را با استفاده از ویژگی Map.SpatialReferenceSystem تنظیم کنید.
  • نقشه را به عنوان یک تصویر BMP با استفاده از روش Map.Render(string outputPath, Renderer renderer) ذخیره کنید.

کد نمونه زیر نشان می دهد که چگونه می توان یک نقشه را با استفاده از سی شارپ به یک طرح خاص ارائه داد.

using (var map = new Map(800, 400))
{
    map.Add(VectorLayer.Open(dataDir + "land.shp", Drivers.Shapefile));
    map.SpatialReferenceSystem = SpatialReferenceSystem.CreateFromEpsg(54024); // World Bonne
    map.Render(dataDir + "land_out2.bmp", Renderers.Bmp);
}

اضافه کردن نشانگر با سبک سفارشی با استفاده از C#

مراحل زیر برای افزودن یک نشانگر با سبک سفارشی به نقشه است.

  • یک نمونه از کلاس Map ایجاد کنید.
  • یک نمونه از کلاس SimpleMarker ایجاد کنید.
  • ویژگی های شی SimpleMarker را با توجه به نیاز خود تنظیم کنید.
  • یک لایه برداری از فایل geojson ایجاد کنید و آن را به همراه نشانگرها به نقشه اضافه کنید.
  • نقشه را به عنوان یک تصویر BMP با استفاده از روش Map.Render(string outputPath, Renderer renderer) ذخیره کنید.

کد نمونه زیر نشان می دهد که چگونه با استفاده از C# یک نشانگر سبک سفارشی به نقشه اضافه کنید.

using (var map = new Map(500, 200))
{
    var symbol = new SimpleMarker() { Size = 7, StrokeWidth = 1, FillColor = Color.Red };

    map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol);
    map.Padding = 20;
    map.Render(dataDir + "points_out2.bmp", Renderers.Bmp);
}

مجوز رایگان دریافت کنید

به منظور امتحان API بدون محدودیت ارزیابی، می توانید [مجوز موقت رایگان] را درخواست کنید.

نتیجه

در این مقاله یاد گرفتید که چگونه داده های نقشه را به صورت تصاویر BMP با استفاده از سی شارپ رندر کنید. علاوه بر این، نحوه تنظیم پیش بینی های نقشه و اضافه کردن نشانگرها با یک ظاهر طراحی سفارشی را دیده اید. Aspose.GIS for .NET یک API قوی است که مجموعه ای از ویژگی های اضافی را برای کار با داده های نقشه فراهم می کند. می‌توانید با مراجعه به مستندات رسمی API را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان15 تماس بگیرید.

همچنین ببینید