Kết xuất bản đồ

Kết xuất bản đồ đề cập đến việc tạo bản đồ trực quan từ dữ liệu không gian địa lý. Bạn có thể kết xuất bản đồ từ KML, GeoJSON, GeoTIFF, cũng như Shapefile sang các định dạng tệp khác nhau. Bạn có thể kết xuất bản đồ sang các định dạng hình ảnh khác nhau như PNG, SVG, JPG, v.v. Các phần sau sẽ trình bày chi tiết việc kết xuất bản đồ thành hình ảnh:

Kết xuất bản đồ từ Shapefile thành Hình ảnh - Cài đặt API C#

API Aspose.GIS for .NET cho phép bạn làm việc với các định dạng tệp địa lý và không gian địa lý khác nhau. Bạn có thể kết xuất bản đồ từ các định dạng tệp được hỗ trợ sang SVG, PNG và các định dạng tệp khác theo yêu cầu của bạn. Vui lòng định cấu hình API bằng cách tải xuống từ phần Bản phát hành mới hoặc bạn có thể sử dụng lệnh cài đặt NuGet sau trên bảng điều khiển trình quản lý gói.

PM> Install-Package Aspose.GIS

Kết xuất bản đồ từ Shapefile sang SVG Lập trình bằng C#

Bạn có thể kết xuất bản đồ từ tệp hình dạng sang tệp SVG bằng các bước sau:

  1. Tạo một phiên bản mới của lớp Bản đồ.
  2. Tạo một lớp bản đồ vectơ và thêm nó vào bản đồ.
  3. Kết xuất bản đồ thành một tệp.

Đoạn mã dưới đây trình bày chi tiết cách hiển thị bản đồ từ Shapefile sang SVG theo cách lập trình bằng C#;

// Tạo thể hiện mới của lớp Bản đồ.
using (var map = new Rendering.Map(800, 400))
{
    // Tạo lớp bản đồ vectơ và thêm nó vào bản đồ.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Kết xuất bản đồ thành một tệp.
    map.Render("land_out.svg", Renderers.Svg);
}

Kết xuất bản đồ từ Shapefile sang Hình ảnh PNG theo chương trình trong C#

Bạn có thể kết xuất bản đồ từ shapefile sang các định dạng ảnh raster như PNG, JPG, BMP, v.v. Sau đây là các bước để kết xuất bản đồ từ shapefile sang ảnh PNG:

  1. Khởi tạo đối tượng lớp Bản đồ với các kích thước.
  2. Tạo và thêm một lớp bản đồ vectơ.
  3. Kết xuất bản đồ thành hình ảnh PNG.

Đoạn mã sau cho thấy hiển thị bản đồ từ Shapefile sang hình ảnh PNG theo chương trình bằng C#:

// Khởi tạo đối tượng lớp Bản đồ với các kích thước.
using (var map = new Rendering.Map(800, 400))
{
    // Tạo và thêm lớp bản đồ vectơ.
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Kết xuất bản đồ thành hình ảnh PNG.
    map.Render("land_out.png", Renderers.Png);
}

Hiển thị Bản đồ Tùy chỉnh với Kiểu nâng cao bằng C#

Bạn có thể tùy chỉnh giao diện của bản đồ với các kiểu tính năng nâng cao. Vui lòng làm theo các bước bên dưới để hiển thị bản đồ tùy chỉnh:

  1. Khởi tạo đối tượng lớp Bản đồ.
  2. Khởi tạo SimpleFill cho một ký hiệu đa giác đơn giản.
  3. Mở lớp từ tệp hình dạng đầu vào để đọc.
  4. Kết xuất bản đồ thành một tệp.

Đoạn mã bên dưới giải thích cách hiển thị bản đồ tùy chỉnh với kiểu nâng cao bằng C#:

// Khởi tạo đối tượng lớp Map.
using (var map = new Rendering.Map(800, 476))
{
    // Khởi tạo SimpleFill cho ký hiệu đa giác đơn giản.
    var baseMapSymbolizer = new Rendering.Symbolizers.SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 };

    // Mở lớp từ tệp hình dạng đầu vào để đọc.
    map.Add(VectorLayer.Open("basemap.shp", Drivers.Shapefile), baseMapSymbolizer);

    // Khởi tạo một phiên bản mới của lớp 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;
        }
    };

    // Thêm VectorMapLayer vào bản đồ.
    map.Add(VectorLayer.Open("points.geojson", Drivers.GeoJson), citiesSymbolizer);

    // Kết xuất bản đồ thành một tệp.
    map.Render("cities_out.svg", Renderers.Svg);
}

Kết xuất Bản đồ từ định dạng GeoTIFF sang SVG Lập trình bằng C#

Bạn có thể kết xuất bản đồ từ tệp GeoTIFF sang SVG bằng các bước sau:

  1. Khởi tạo đối tượng lớp Bản đồ.
  2. Mở lớp để đọc bằng trình điều khiển cho định dạng GeoTIFF hoặc TIFF.
  3. Kết xuất bản đồ thành một tệp.

Đoạn mã dưới đây trình bày cách hiển thị bản đồ từ định dạng GeoTIFF sang SVG theo chương trình bằng C#:

// Khởi tạo đối tượng lớp Map.
using (var map = new Rendering.Map(500, 500))
{
    // Mở lớp để đọc bằng trình điều khiển cho định dạng GeoTIFF hoặc TIFF.
    var layer = GeoTiff.OpenLayer("raster_float32.tif");
                
    // Chuyển đổi sang màu sắc được phát hiện tự động.
    // Các giá trị lớn nhất và nhỏ nhất được tính toán và sử dụng nội suy tuyến tính.
    map.Add(layer);

    // Kết xuất bản đồ thành một tệp.
    map.Render("raster_float32_out.svg", Renderers.Svg);
}

Nhận giấy phép API miễn phí

Bạn có thể đánh giá API bằng Giấy phép tạm thời miễn phí để kiểm tra API mà không có bất kỳ giới hạn nào.

Sự kết luận

Trong bài viết này, bạn đã học cách kết xuất bản đồ từ định dạng shapefile hoặc GeoTIFF sang SVG hoặc các định dạng hình ảnh raster khác như PNG, JPG, TIFF, v.v. Bạn có thể khám phá các tính năng khác của API bằng cách truy cập Tài liệu. Vui lòng liên hệ với chúng tôi qua Diễn đàn hỗ trợ miễn phí nếu có bất kỳ thắc mắc nào.

Xem thêm