Dữ liệu bản đồ có thể có sẵn ở các định dạng khác nhau như KML, GeoTiff, GeoJSON, Shapefile, v.v. Có thể có những trường hợp bạn cần kết xuất dữ liệu bản đồ dưới dạng hình ảnh BMP. Vì vậy, bài viết này sẽ hướng dẫn bạn cách hiển thị dữ liệu bản đồ ở định dạng BMP bằng C#.

API C# để kết xuất bản đồ sang định dạng BMP

Chúng tôi sẽ sử dụng API Aspose.GIS for .NET để hiển thị bản đồ ở định dạng BMP. Nó là một API hỗ trợ làm việc với dữ liệu không gian địa lý được lưu trữ ở nhiều định dạng tệp khác nhau. Nó cũng cung cấp khả năng hiển thị bản đồ và tạo, đọc và chuyển đổi dữ liệu địa lý mà không cần bất kỳ phần mềm bổ sung nào. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.GIS

Kết xuất bản đồ sang định dạng BMP bằng C#

Sau đây là các bước để kết xuất bản đồ sang định dạng BMP.

Đoạn mã mẫu sau đây cho thấy cách hiển thị bản đồ sang định dạng BMP bằng 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);
}

Kết xuất bản đồ thành phép chiếu cụ thể bằng C#

Sau đây là các bước để kết xuất bản đồ thành một phép chiếu cụ thể.

Đoạn mã mẫu sau đây cho biết cách hiển thị bản đồ thành một phép chiếu cụ thể bằng C#.

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);
}

Thêm điểm đánh dấu với kiểu tùy chỉnh bằng C#

Sau đây là các bước để thêm điểm đánh dấu có kiểu tùy chỉnh vào bản đồ.

  • Tạo một thể hiện của lớp Bản đồ.
  • Tạo một thể hiện của lớp SimpleMarker.
  • Đặt các thuộc tính của đối tượng SimpleMarker theo yêu cầu của bạn.
  • Tạo một lớp vectơ từ tệp geojson và thêm nó vào bản đồ cùng với các điểm đánh dấu.
  • Lưu bản đồ dưới dạng ảnh BMP bằng phương pháp Map.Render (string outputPath, Renderer render).

Mã mẫu sau đây cho biết cách thêm điểm đánh dấu kiểu tùy chỉnh vào bản đồ bằng 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);
}

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

Để dùng thử API mà không có giới hạn đánh giá, bạn có thể yêu cầu giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách hiển thị dữ liệu bản đồ dưới dạng ảnh BMP bằng C#. Hơn nữa, bạn đã thấy cách đặt các phép chiếu trên bản đồ và thêm các điểm đánh dấu với kiểu dáng tùy chỉnh. Aspose.GIS for .NET là một API mạnh mẽ cung cấp một loạt các tính năng bổ sung để làm việc với dữ liệu bản đồ. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi tại diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm