การแสดงแผนที่

การแสดงผลแผนที่หมายถึงการสร้างแผนที่ภาพจากข้อมูลเชิงพื้นที่ คุณสามารถแสดงแผนที่จาก KML, GeoJSON, GeoTIFF รวมถึง Shapefile เป็นรูปแบบไฟล์ต่างๆ คุณสามารถแสดงแผนที่เป็นรูปแบบรูปภาพต่างๆ เช่น PNG, SVG, JPG เป็นต้น ส่วนต่อไปนี้จะแสดงรายละเอียดเกี่ยวกับการแสดงแผนที่เป็นภาพ:

การแสดงแผนที่จาก Shapefile เป็นรูปภาพ – การติดตั้ง C# API

Aspose.GIS for .NET API ช่วยให้คุณทำงานกับรูปแบบไฟล์ทางภูมิศาสตร์และเชิงพื้นที่ที่แตกต่างกัน คุณสามารถแสดงแผนที่จากรูปแบบไฟล์ที่รองรับเป็น SVG, PNG และรูปแบบไฟล์อื่นๆ ตามความต้องการของคุณ โปรดกำหนดค่า API โดยการดาวน์โหลดจากส่วน New Releases หรือคุณสามารถใช้คำสั่งการติดตั้ง NuGet ต่อไปนี้บนคอนโซลตัวจัดการแพ็คเกจ

PM> Install-Package Aspose.GIS

Render Map จาก Shapefile เป็น SVG โดยทางโปรแกรมโดยใช้ C#

คุณสามารถแสดงแผนที่จากไฟล์รูปร่างเป็นไฟล์ SVG โดยทำตามขั้นตอนต่อไปนี้:

  1. สร้างตัวอย่างใหม่ของคลาส Map
  2. สร้างเลเยอร์แผนที่เวกเตอร์และเพิ่มลงในแผนที่
  3. Render แผนที่เป็นไฟล์

โค้ดด้านล่างอธิบายวิธีแสดงแผนที่จาก Shapefile เป็น SVG โดยทางโปรแกรมโดยใช้ C#

// สร้างตัวอย่างใหม่ของคลาส Map
using (var map = new Rendering.Map(800, 400))
{
    // สร้างเลเยอร์แผนที่เวกเตอร์และเพิ่มลงในแผนที่
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Render แผนที่เป็นไฟล์
    map.Render("land_out.svg", Renderers.Svg);
}

Render Map จาก Shapefile เป็น PNG Image โดยทางโปรแกรมใน C#

คุณสามารถแสดงแผนที่จากไฟล์รูปร่างเป็นรูปแบบภาพแรสเตอร์ เช่น PNG, JPG, BMP เป็นต้น ต่อไปนี้เป็นขั้นตอนสำหรับการแสดงแผนที่จากไฟล์รูปร่างเป็นภาพ PNG:

  1. เริ่มต้น Map class object ด้วยขนาด
  2. สร้างและเพิ่มเลเยอร์แผนที่เวกเตอร์
  3. Render แผนที่เป็นภาพ PNG

รหัสต่อไปนี้แสดงการเรนเดอร์แผนที่จากภาพ Shapefile เป็น PNG โดยทางโปรแกรมโดยใช้ C #:

// เริ่มต้น Map class object ด้วยขนาด
using (var map = new Rendering.Map(800, 400))
{
    // สร้างและเพิ่มเลเยอร์แผนที่เวกเตอร์
    map.Add(VectorLayer.Open("land.shp", Drivers.Shapefile));

    // Render แผนที่เป็นภาพ PNG
    map.Render("land_out.png", Renderers.Png);
}

การแสดงผลแผนที่แบบกำหนดเองด้วย Advance Style โดยใช้ C#

คุณสามารถปรับแต่งรูปลักษณ์ของแผนที่ด้วยรูปแบบคุณลักษณะขั้นสูง โปรดปฏิบัติตามขั้นตอนด้านล่างสำหรับการแสดงแผนที่แบบกำหนดเอง:

  1. เริ่มต้น Map class object
  2. เริ่มต้น SimpleFill สำหรับสัญลักษณ์รูปหลายเหลี่ยมอย่างง่าย
  3. เปิดเลเยอร์จากไฟล์รูปร่างอินพุตเพื่ออ่าน
  4. Render แผนที่เป็นไฟล์

โค้ดด้านล่างอธิบายวิธีการแสดงผลแผนที่แบบกำหนดเองด้วยสไตล์ขั้นสูงโดยใช้ C#:

// เริ่มต้นแมปวัตถุคลาส
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);

    // Render แผนที่เป็นไฟล์
    map.Render("cities_out.svg", Renderers.Svg);
}

Render Map จากรูปแบบ GeoTIFF เป็น SVG โดยทางโปรแกรมโดยใช้ C#

คุณสามารถแสดงแผนที่จากไฟล์ GeoTIFF เป็น SVG โดยทำตามขั้นตอนต่อไปนี้:

  1. สร้างอินสแตนซ์ Map class object
  2. เปิดเลเยอร์เพื่ออ่านโดยใช้ไดรเวอร์สำหรับรูปแบบ GeoTIFF หรือ TIFF
  3. Render แผนที่เป็นไฟล์

ข้อมูลโค้ดด้านล่างแสดงวิธีแสดงแผนที่จากรูปแบบ GeoTIFF เป็น SVG โดยทางโปรแกรมโดยใช้ C#:

// เริ่มต้นแมปวัตถุคลาส
using (var map = new Rendering.Map(500, 500))
{
    // เปิดเลเยอร์สำหรับอ่านโดยใช้ไดรเวอร์สำหรับรูปแบบ GeoTIFF หรือ TIFF
    var layer = GeoTiff.OpenLayer("raster_float32.tif");
                
    // ตรวจพบการแปลงเป็นสีโดยอัตโนมัติ
    // ค่าสูงสุดและค่าต่ำสุดจะถูกคำนวณและใช้การแก้ไขเชิงเส้น
    map.Add(layer);

    // Render แผนที่เป็นไฟล์
    map.Render("raster_float32_out.svg", Renderers.Svg);
}

รับใบอนุญาต API ฟรี

คุณสามารถประเมิน API ด้วย ใบอนุญาตชั่วคราวฟรี สำหรับการทดสอบ API โดยไม่มีข้อจำกัดใดๆ

บทสรุป

ในบทความนี้ คุณได้เรียนรู้การแสดงแผนที่จากไฟล์รูปร่างหรือรูปแบบ GeoTIFF เป็น SVG หรือรูปแบบภาพแรสเตอร์อื่นๆ เช่น PNG, JPG, TIFF ฯลฯ คุณสามารถสำรวจคุณลักษณะอื่นๆ ของ API ได้โดยไปที่ เอกสารประกอบ โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนฟรี ในกรณีที่มีข้อสงสัย

ดูสิ่งนี้ด้วย