رندر نقشه

ارائه نقشه به ساختن نقشه های بصری از داده های مکانی اشاره دارد. می‌توانید نقشه‌ها را از KML، GeoJSON، GeoTIFF و همچنین Shapfile به فرمت‌های فایل مختلف رندر کنید. می‌توانید نقشه‌ها را به فرمت‌های تصویر مختلف مانند PNG، SVG، JPG و غیره رندر کنید.

رندر نقشه از Shapefile به Image - نصب C# API

Aspose.GIS for .NET API به شما امکان می دهد با فرمت های مختلف فایل های جغرافیایی و جغرافیایی کار کنید. می‌توانید نقشه‌ها را از فرمت‌های فایل پشتیبانی‌شده به فرمت‌های فایل SVG، PNG و سایر فرمت‌های فایل بر اساس نیاز خود رندر کنید. لطفاً API را با دانلود آن از بخش New Releases پیکربندی کنید، یا می‌توانید از دستور نصب NuGet زیر در کنسول مدیریت بسته استفاده کنید.

PM> Install-Package Aspose.GIS

رندر نقشه از Shapefile به SVG به صورت برنامه نویسی با استفاده از C#

با مراحل زیر می توانید نقشه را از شکل فایل به فایل SVG رندر کنید:

  1. یک نمونه جدید از کلاس Map ایجاد کنید.
  2. یک لایه نقشه برداری ایجاد کنید و آن را به نقشه اضافه کنید.
  3. نقشه را در یک فایل رندر کنید.

کد زیر نحوه رندر کردن نقشه از Shapefile به SVG را به صورت برنامه‌نویسی با استفاده از C# توضیح می‌دهد.

// نمونه جدیدی از کلاس Map ایجاد کنید.
using (var map = new Rendering.Map(800, 400))
{
    // لایه نقشه برداری ایجاد کنید و آن را به نقشه اضافه کنید.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // نقشه را در یک فایل رندر کنید.
    map.Render("land_out.svg", Renderers.Svg);
}

رندر نقشه از Shapefile به تصویر PNG به صورت برنامه نویسی در سی شارپ

می‌توانید نقشه را از شکل فایل به فرمت‌های تصویر شطرنجی مانند PNG، JPG، BMP و غیره رندر کنید. مراحل زیر برای رندر کردن نقشه از شکل فایل به تصویر PNG است:

  1. شیء کلاس Map را با ابعاد مقداردهی کنید.
  2. یک لایه نقشه برداری ایجاد و اضافه کنید.
  3. نقشه را به یک تصویر PNG رندر کنید.

کد زیر رندر نقشه از Shapefile به تصویر PNG را به صورت برنامه نویسی با استفاده از C# نشان می دهد:

// شیء کلاس Map را با ابعاد مقداردهی کنید.
using (var map = new Rendering.Map(800, 400))
{
    // لایه نقشه برداری را ایجاد و اضافه کنید.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // نقشه را به یک تصویر PNG رندر کنید.
    map.Render("land_out.png", Renderers.Png);
}

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

می‌توانید ظاهر نقشه را با سبک‌های ویژگی‌های پیشرفته سفارشی کنید. لطفا مراحل زیر را برای رندر نقشه سفارشی دنبال کنید:

  1. شیء کلاس Map را مقداردهی اولیه کنید.
  2. SimpleFill را برای نماد چندضلعی ساده راه‌اندازی کنید.
  3. لایه را از شکل فایل ورودی برای خواندن باز کنید.
  4. نقشه را در یک فایل رندر کنید.

کد زیر نحوه انجام رندر نقشه سفارشی با سبک پیشرفته با استفاده از سی شارپ را توضیح می دهد:

// شی کلاس Map را مقداردهی کنید.
using (var map = new Rendering.Map(800, 476))
{
    // SimpleFill را برای نماد چند ضلعی ساده شروع کنید.
    var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };

    // لایه را از شکل فایل ورودی برای خواندن باز کنید.
    map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    // یک نمونه جدید از کلاس SimpleMarker را راه اندازی کنید.
    var citiesSymbolizer = new Rendering.Symbolizers.SimpleMarker() { FillColor = Color.LightBlue };
    citiesSymbolizer.FeatureBasedConfiguration = (feature, symbolizer) =>
    {
        var population = feature.GetValue<int>("population");
        symbolizer.Size = 10 * population / 1000;
        if (population < 2500)
        {
            symbolizer.FillColor = Color.GreenYellow;
        }
    };

    // یک VectorMapLayer به نقشه اضافه کنید.
    map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);

    // نقشه را در یک فایل رندر کنید.
    map.Render("cities_out.svg", Renderers.Svg);
}

رندر نقشه از فرمت GeoTIFF به SVG به صورت برنامه نویسی با استفاده از C#

با انجام مراحل زیر می توانید یک نقشه از GeoTIFF به فایل SVG ارائه دهید:

  1. شیء کلاس Map را نمونه سازی کنید.
  2. لایه را برای خواندن با استفاده از درایور برای فرمت GeoTIFF یا TIFF باز کنید.
  3. نقشه را در یک فایل رندر کنید.

قطعه کد زیر نحوه رندر کردن نقشه از فرمت GeoTIFF به SVG را به صورت برنامه‌نویسی با استفاده از C# نشان می‌دهد:

// شی کلاس Map را مقداردهی کنید.
using (var map = new Rendering.Map(500, 500))
{
    // لایه را برای خواندن با استفاده از درایور برای فرمت GeoTIFF یا TIFF باز کنید.
    var layer = GeoTiff.OpenLayer("raster_float32.tif");
                
    // تبدیل به رنگ به طور خودکار تشخیص داده می شود.
    // مقادیر حداکثر و حداقل محاسبه شده و از درون یابی خطی استفاده می شود.
    map.Add(layer);

    // نقشه را در یک فایل رندر کنید.
    map.Render("raster_float32_out.svg", Renderers.Svg);
}

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

شما می توانید API را با یک [مجوز موقت رایگان] برای آزمایش API بدون هیچ محدودیتی ارزیابی کنید.

نتیجه

در این مقاله، رندر نقشه را از فرمت shapefile یا GeoTIFF به SVG یا سایر فرمت‌های تصویر شطرنجی مانند PNG، JPG، TIFF و غیره آموخته‌اید. می‌توانید با مراجعه به Documentation سایر ویژگی‌های API را کشف کنید. لطفاً در صورت وجود هرگونه سؤال از طریق [تالار گفتمان پشتیبانی رایگان17 با ما تماس بگیرید.

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