การแสดงผลแผนที่หมายถึงการสร้างแผนที่ภาพจากข้อมูลเชิงพื้นที่ คุณสามารถแสดงแผนที่จาก KML, GeoJSON, GeoTIFF รวมถึง Shapefile เป็นรูปแบบไฟล์ต่างๆ คุณสามารถแสดงแผนที่เป็นรูปแบบรูปภาพต่างๆ เช่น PNG, SVG, JPG เป็นต้น ส่วนต่อไปนี้จะแสดงรายละเอียดเกี่ยวกับการแสดงแผนที่เป็นภาพ:
- การแสดงแผนที่จาก Shapefile เป็นรูปภาพ – การติดตั้ง C# API
- Render Map จาก Shapefile เป็น SVG โดยทางโปรแกรมโดยใช้ C#
- Render Map จาก Shapefile เป็น PNG Image โดยทางโปรแกรมใน C#
- การแสดงผลแผนที่แบบกำหนดเองด้วย Advance Style โดยใช้ C#
- Render Map จากรูปแบบ GeoTIFF เป็น SVG โดยทางโปรแกรมโดยใช้ C#
การแสดงแผนที่จาก 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 โดยทำตามขั้นตอนต่อไปนี้:
- สร้างตัวอย่างใหม่ของคลาส Map
- สร้างเลเยอร์แผนที่เวกเตอร์และเพิ่มลงในแผนที่
- 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:
- เริ่มต้น Map class object ด้วยขนาด
- สร้างและเพิ่มเลเยอร์แผนที่เวกเตอร์
- 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#
คุณสามารถปรับแต่งรูปลักษณ์ของแผนที่ด้วยรูปแบบคุณลักษณะขั้นสูง โปรดปฏิบัติตามขั้นตอนด้านล่างสำหรับการแสดงแผนที่แบบกำหนดเอง:
- เริ่มต้น Map class object
- เริ่มต้น SimpleFill สำหรับสัญลักษณ์รูปหลายเหลี่ยมอย่างง่าย
- เปิดเลเยอร์จากไฟล์รูปร่างอินพุตเพื่ออ่าน
- 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 โดยทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ Map class object
- เปิดเลเยอร์เพื่ออ่านโดยใช้ไดรเวอร์สำหรับรูปแบบ GeoTIFF หรือ TIFF
- 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 ได้โดยไปที่ เอกสารประกอบ โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนฟรี ในกรณีที่มีข้อสงสัย