สถาบันข้อมูลขนาดใหญ่ (องค์การมหาชน)

คัมภีร์การทำแผนที่บน MS Power BI ฉบับประเทศไทย The Cartographic Bible for MS Power BI, Thailand Edition

May 19, 2023

การวิเคราะห์ข้อมูลภูมิศาสตร์และตำแหน่งที่ตั้งเป็นสิ่งที่สำคัญต่อการตัดสินใจในธุรกิจของหลายภาคส่วน การแสดงผลแผนที่แบบอินเตอร์แอคทีฟเป็นอีกหนึ่งวิธีที่ช่วยให้เราสามารถแสดงข้อมูลตำแหน่งในรูปแบบแผนที่ได้อย่างสะดวก และช่วยให้เราสามารถเข้าใจแนวโน้มของข้อมูลที่ซับซ้อนได้ง่ายขึ้น

Power BI เป็นแพลตฟอร์ม Business Intelligence & Analytics ที่มีความสามารถในการแสดงผลแผนที่แบบอินเตอร์แอคทีฟมากมายเพื่อช่วยให้ผู้ใช้งานสามารถเข้าใจข้อมูลภูมิศาสตร์ของตนได้ง่ายขึ้น การแสดงผลแผนที่ใน Power BI ช่วยลดข้อมูลที่ให้กับผู้ชมและเน้นข้อมูลสำคัญตามการวิเคราะห์ และมีแผนที่แบบอินเตอร์แอคทีฟมากมายเพื่อช่วยให้ผู้ใช้งานสามารถแสดงข้อมูลภูมิศาสตร์ได้อย่างชัดเจน

“อย่างไรก็ตามในฐานะคนที่ได้รับโจทย์ในการทำแผนที่ที่หลากหลาย ก็ต้องยอมรับว่า MS Power BI อาจยังมีข้อจำกัดในหลาย ๆ อย่างที่ยังไม่ตอบโจทย์การทำงานแผนที่ได้ทั้งหมด”

ซึ่งในบทความนี้เราจะพาทุกท่านไปรู้จักเคล็ดลับในการทำงานแผนที่ พร้อมกับเรียนรู้มาตรฐานทางภูมิศาสตร์ต่าง ๆ ที่จะช่วยให้ทุกท่านสามารถเลือกใช้งานแผนที่บน MS Power BI ได้เหมาะสมและมีประสิทธิภาพมากยิ่งขึ้นอย่างแน่นอนครับ

ทำความรู้จักแผนภาพภูมิทัศน์ (Visuals) ในรูปแบบแผนที่บน MS Power BI

การทำแผนที่บน MS Power BI (Version: 2.115.1006.0 (มีนาคม 2566)) จะมี Visuals ที่สามารถใช้งานได้ดังนี้

เราลองทำความรู้จักไปทีละแบบกันครับ

‘Map’ Visual

การทำงานของ Map จะใช้ Bing Map Engine ในการนำข้อมูลขึ้นไปแสดงผลบนแผนที่ในรูปแบบของ Point Map ที่สามารถปรับขนาดและสีของ bubbles ได้ถ้าหากต้องการ โดยการทำงานของ Visual นี้สามารถสร้างแผนที่โดยการใช้ พิกัด Latitude และ Longitude หรือ ใช้ชื่อของสถานที่ (location) เช่น ที่อยู่ จังหวัด อำเภอ ตำบล มาเพื่อหาพิกัด (เรียกว่า geo-coding)

ภาพที่ 1 ตัวอย่างการทำแผนที่โดยใช้ ‘Map’ Visual

อย่างไรก็ตามเราพบข้อจำกัดในการใช้ ‘Map’ Visual ทำแผนที่ โดยพบว่าเราไม่สามารถที่จะใช้เทคนิค geo-coding พล็อตพิกัดที่ตั้งตำบลลงบนแผนที่ได้ ถึงแม้ว่าเราชื่อของจังหวัด อำเภอ และตำบลอย่างเป็นทางการจากกรมการปกครอง ที่ได้มาจาก Link นี้แล้วก็ตาม ซึ่งก็เป็นไปได้ว่า การทำ geo-coding ด้วย Bing Map Engine นั้นไม่ครอบคลุมชื่อขอบเขตการปกครองระดับตำบลของไทย ดังแสดงในภาพที่ 2

ภาพที่ 2 เปรียบเทียบการทำแผนที่ที่ตั้งตำบลระหว่าง ภาพซ้าย ใช้พิกัด Latitude, Longitude และภาพขวา geo-coding โดยชื่อจังหวัด อำเภอ และตำบล

Filled Map Visual

แผนที่ Filled Map เป็น Visual ที่ใช้ในการสร้างแผนที่แถบสี (Choropleth Map) ที่จะใช้เฉดสีเพื่อแสดงความแตกต่างของข้อมูล ผู้ที่อ่านแผนที่สามารถเข้าใจข้อมูลได้อย่างรวดเร็วด้วยการแรเงาที่อยู่ในช่วงจากสีอ่อน (ความถี่น้อยกว่า/ต่ำกว่า) เป็นสีเข้ม (บ่อยกว่า/มากกว่า)

ภาพที่ 3 ตัวอย่างการทำแผนที่โดยใช้ Filled Map Visual

โดยการทำงานของ Filled Map ก็ยังใช้ Bing Map Engine ในการทำ geo-coding ชื่อสถานที่เพื่อไปแสดงผลบนแผนที่ ดังนั้นปัญหาการที่ Bing Map Engine จะไม่รู้จักชื่อจังหวัด อำเภอ และตำบลจึงยังมีอยู่ ในการที่จะแก้ไขปัญหานี้ เราต้องขอบคุณเว็บไซต์ เทพเอ็กเซล ที่ทำการปรับแก้ฐานข้อมูลชื่อ จังหวัด อำเภอ ตำบลให้สามารถใช้งานได้กับ Bing Map Engine ได้ดียิ่งขึ้น (สามารถศึกษาได้ที่ Link) ดังแสดงในภาพที่ 4

อย่างไรก็ตามจากที่ทำการทดสอบฐานข้อมูลจังหวัด อำเภอ ตำบลของเทพเอ็กเซล พบว่าสามารถใช้งาน Filled Map ได้ครบถ้วนเฉพาะในระดับจังหวัดเท่านั้นนะครับ

ภาพที่ 4 เปรียบเทียบการทำแผนที่ Filled Map โดยใช้ชื่อจังหวัด อำเภอ ตำบล ภาพซ้าย ใช้ชื่อสถานที่ทางการจากกรมการปกครอง และภาพขวาใช้ชื่อสถานที่ที่ถูกปรับแก้โดยเทพเอ็กเซล (Thep Excel)

ArcGIS Maps for Power BI Visual

ArcGIS Maps for Power BI เป็น Visual ที่มีความสามารถซับซ้อนกว่าแผนที่พื้นฐาน ซึ่งถูกพัฒนาโดย ESRI ซึ่งเป็นผู้นำด้านซอฟต์แวร์เชิงพื้นที่และข้อมูลเชิงพื้นที่ โดยสามารถสร้างข้อมูลแผนที่ได้ทั้งในรูปแบบของ Point Map และ Choropleth Map (ภาพที่ 5) ที่รองรับกับข้อมูลสถานที่สำหรับประเทศไทยมากยิ่งกว่า Bing Map Engine และสามารถกำหนดว่าข้อมูลที่เอามาสร้างแผนที่นั้นเป็นของประเทศอะไร และ อยู่ในระดับไหน (ภาพที่ 6) อย่างไรก็ตามถึงแม้ว่าจะสามารถทำได้ดีกว่าแผนที่พื้นฐาน และสามารถรองรับชื่อระดับจังหวัดได้แต่ก็ยังไม่สามารถรองรับข้อมูลระดับอำเภอและตำบลของประเทศไทยได้อยู่ดี (ภาพที่ 7)

ภาพที่ 5 ตัวอย่างการ Point Map และ Choropleth Map โดยใช้ ArcGIS Maps for Power BI
ภาพที่ 6 การปรับแต่งสถานที่เพื่อเพิ่มความแม่นยำในการทำ geo-coding ใน ArcGIS Maps for Power BI
ภาพที่ 7 เปรียบเทียบการสร้าง Choropleth Map โดยใช้ข้อมูลของเทพเอ็กเซลที่ระดับจังหวัด อำเภอ และตำบลใน ArcGIS Maps for Power BI

นอกจากนี้ ArcGIS Maps for Power BI ยังรองรับการดึงข้อมูลจาก ArcGIS Online มาแสดงผลบน MS Power BI อีกด้วย (ในที่นี้จะเรียกว่า Reference Layer) ดังแสดงในภาพที่ 8

ภาพที่ 8 ตัวอย่างการใช้ข้อมูลแผนที่บน ArcGIS Online มาแสดงผลบน MS Power BI ผ่าน Reference Layer ใน ArcGIS Maps for Power BI

ยิ่งไปกว่านั้น ArcGIS Maps for Power BI ยังมีความสามารถอื่น ๆ อีก เช่น การวิเคราะห์ Clustering Buffer Drive time เป็นต้น ซึ่งสามารถศึกษาเพิ่มเติมได้ที่ Link

แต่อย่างไรก็ตามการใช้งาน ArcGIS Maps for Power BI ก็จะมีค่าบริการในการใช้งานอยู่นะครับ ซึ่งหากผู้อ่านมีการใช้งาน ArcGIS Online หรือ ArcGIS Enterprise อยู่แล้วก็อย่าลืมมาลองใช้งานดูนะครับ

Shape Map Visual

การใช้งาน Shape Map Visual นั้นจะมีกระบวนการทำงานที่แตกต่างจากการทำแผนที่พื้นฐานทั่วไปที่จะแสดง แต่ Visual นี้จะทำหน้าที่ในการนำเข้ารูปร่าง (Shpae) ในรูปแบบ TopoJSON ของขอบเขตต่าง ๆ เช่น ขอบเขตจังหวัด เทศบาล เขตเลือกตั้ง ฯลฯ ไปรอเอาไว้บน MS Power BI แล้วนำข้อมูลต่าง ๆ ที่เป็นลักษณะของตาราง ขึ้นไปแสดงผลบนแผนที่ โดยใช้ Key ในการเชื่อมโยงระหว่างข้อมูลและ Shape นั้น ๆ ดังแสดงใน ภาพที่ 9

สำหรับไฟล์ TopoJSON เป็นรูปแบบไฟล์ข้อมูลเชิงพื้นที่ที่ใช้เก็บข้อมูลแบบ topology โดยจัดเก็บข้อมูลแบบเชิงคณิตศาสตร์และช่วยลดขนาดไฟล์ได้มากกว่ารูปแบบไฟล์ข้อมูลเชิงพื้นที่อื่น ๆ เช่น GeoJSON หรือ Shapefile โดยโครงสร้างของ TopoJSON จะเก็บข้อมูลโดยการจับเป็นชุดของตัวเลขที่แทนค่าพิกัด ซึ่งช่วยลดขนาดไฟล์ได้มากกว่าการเก็บข้อมูลแบบจุดหรือเส้นของ GeoJSON ที่ใช้พิกัดแบบสามเหลี่ยม การใช้ TopoJSON จะช่วยลดเวลาในการโหลดและแสดงผลบนแผนที่

โดยใน BigData.go.th ของเราเคยเขียนบทความสอนการใช้งาน Shape Map เอาไว้สามารถศึกษาเพิ่มเติมได้ที่นี่ Link

ภาพที่ 9 ตัวอย่างการใช้งาน Shape Map Visual นำเข้า Shape ของ H3 ของเขตเลือกตั้ง

Azure Map Visual

Azure Map Visual มีการทำงานที่ใช้งานได้ง่ายสามารถแสดงผลได้ทั้งในรูปแบบของ Point Map และ Choropleth Map เช่นเดียวกับแผนที่พื้นฐาน ดังภาพที่ 10 นอกจากนี้ยังรองรับการแสดงผลบนแผนที่ในรูปแบบอื่น ๆ เช่น 3D Column Layer, Heat Map, Reference Layer, Custom Tile Layer หรือดึงข้อมูล Traffic Layer มาแสดงผลบน MS Power BI ได้ด้วยเช่นกัน ซึ่งการใช้งานในส่วนนี้หากมีโอกาสจะนำเสนอเป็นบทความในภายหลังนะครับ

ภาพที่ 10 ตัวอย่างการใช้งาน Azure Map Visual

Icon Map Visual

          สำหรับ Icon Map Visual นั้นเป็น Visual ที่สร้างโดยคุณ James Dales ที่เปิดให้โหลดใช้และติดตั้งได้ผ่าน AppSource ความพิเศษของ Visual ตัวนี้คือรองรับมาตรฐานทางภูมิสารสนเทศหลายตัว ซึ่งเราจะมาทำความเข้าใจไปทีละชนิดกันนะครับ

Icon Map Visual – WKT (Well-known text)

Well-known text (WKT) เป็นรูปแบบข้อมูลในด้านการแสดงพิกัดและรูปทรงของวัตถุภายในระบบพิกัดเชิงพื้นผิว โดยมักใช้กับข้อมูลภูมิศาสตร์ เช่น ข้อมูลเส้นทาง, พื้นที่หรือจุดบนแผนที่ เป็นต้น

WKT มีโครงสร้างแบบข้อความ (text-based) และมีรูปแบบการเขียนที่เป็นไปตามมาตรฐานขององค์กรสากล ที่เรียกว่า “Simple Feature Access” ซึ่งจะช่วยให้ผู้ใช้งานสามารถแลกเปลี่ยนข้อมูลที่เกี่ยวข้องกับภูมิศาสตร์ได้อย่างสะดวกสบาย โดย WKT สามารถแปลงเป็นรูปทรงภาพ (geometry) ได้ง่าย โดยรูปแบบการเก็บแบบ WKT จะแสดงดังภาพที่ 11

ภาพที่ 11 รูปแบบการเก็บข้อมูลรูปทรงในรูปแบบ WKT จาก Wikipedia
ภาพที่ 12 ตัวอย่างการใช้ WKT ใน Icon Map Visual

Icon Map Visual – GeoJSON

จุดเด่นของ Icon Map Visual อีกอันหนึ่งรองรับการนำเข้า ไฟล์ GeoJSON (เราได้อธิบายไปแล้วในหัวข้อ Shape Map Visual ด้านบน) หลายระดับ ทำให้เพิ่มความสามารถในการ Drill Down/Drill Up ข้อมูลลงไปในระดับที่ต่ำกว่าได้ เช่น จากระดับ จังหวัด <-> อำเภอ <–>  ตำบล ได้ดังแสดงในภาพที่ 13

ภาพที่ 13 การ Drill Down/Up ระหว่างข้อมูล จังหวัด อำเภอ และตำบลของจังหวัดราชบุรี โดยใช้ Icon Map

Icon Map Visual – WMS Layer

อีกมาตรฐานหนึ่งซึ่งสามารถเอามาใช้กับ MS Power BI ได้ก็คือ WMS (Web Map Service) เป็นเทคโนโลยีที่ใช้สำหรับการแสดงผลข้อมูลแผนที่บนเว็บไซต์ โดย WMS จะใช้โปรโตคอล HTTP เพื่อให้ผู้ใช้สามารถเข้าถึงและแสดงผลข้อมูลแผนที่จากเซิร์ฟเวอร์ โดย WMS จะเป็นเว็บเซอร์วิสที่ทำหน้าที่ส่งข้อมูลแผนที่กลับมายังผู้ใช้ เมื่อผู้ใช้เรียกข้อมูลแผนที่จาก WMS โดยปกติแล้ว WMS จะใช้ไฟล์รูปแบบ XML ในการส่งข้อมูลกลับมา ซึ่งจะประกอบไปด้วยข้อมูลเชิงพื้นที่ที่ระบุด้วยพิกัดและขนาดของแผนที่ พร้อมกับรายละเอียดต่างๆ เช่นชื่อเลเยอร์แผนที่ ค่าสี เป็นต้น (ดังภาพที่ 14) ซึ่งผมเคยได้เขียนเกี่ยวกับ WMS เอาไว้ในบทความ บทบาทของ Map Service ในโลกของ Big Data

อย่างไรก็ตามการเรียกใช้งาน WMS จะมีข้อจำกัดจุดด้วยอย่างหนึ่งก็คือ เราไม่สามารถ Interactive ระหว่างข้อมูลบนแผนที่กับ Object ต่าง ๆ บน MS Power BI ได้ ก็เป็นจุดหนึ่งที่จะต้องพิจารณาก่อนจะนำไปใช้งานนะครับ

ภาพที่ 14 ตัวอย่างการดึงข้อมูล WMS มาแสดงผลยัง MS Power BI

Icon Map Visual – Vector Tile Layer

Vector Tile Layer เป็นอีกเทคโนโลยีการแสดงผลแผนที่ซึ่งสามารถเรียกใช้งานผ่าน Icon Map Visual ในการแสดงผล โดย Vector Tile เป็นชิ้นส่วนของข้อมูลแผนที่ที่ถูกแปลงและเก็บเป็นฟอร์แมตข้อมูล Vector ซึ่งช่วยให้ผู้ใช้งานสามารถแสดงผลแผนที่ได้ด้วยความละเอียดสูงและเร็วกว่าการใช้แผนที่ Raster

การใช้งาน Vector Tile Layer นั้นสามารถช่วยลดปัญหาการโหลดแผนที่ช้าเนื่องจากขนาดของ Vector Tile จะเล็กกว่าแผนที่ Raster และสามารถแสดงผลได้อย่างราบรื่นและเร็วขึ้น นอกจากนี้ Vector Tile Layer ยังช่วยให้ผู้ใช้งานสามารถปรับแต่งและแสดงผลข้อมูลแผนที่ได้อย่างสวยงามและมีความละเอียดสูง ดังภาพที่ 15

ภาพที่ 15 การใช้งาน Vector Tile Layer บน MS Power BI

เปรียบเทียบความสามารถ Visual แผนที่บน MS Power BI

จะเห็นได้ว่าเรา MS Power BI มีความสามารถสร้างแผนที่ผ่าน Visual ที่หลากหลายและมีข้อดี ข้อเสีย และข้อจำกัด ที่แตกต่างกัน ดังนั้นจึงมาขอสรุปเพื่อเป็นแนวทางในการเลือกใช้ได้ง่ายยิ่งขึ้นดังตารางที่ 1

ตารางที่ 1  สรุปความสามารถ Visual แผนที่บน MS Power BI

ในฐานะคนที่ทำงานเกี่ยวกับแผนที่มา ก็จะเห็นได้ว่า MS Power BI ยังมีข้อจำกัดในการทำงานแผนที่อยู่อีกมากมายที่เห็นได้ชัดได้แก่

  • MS Power BI ยังไม่สามารถรองรับการทำแผนที่ที่มีรายละเอียดของข้อมูลสูง หรือต้องการนำเข้าข้อมูลภูมิสารสนเทศที่มีขนาดใหญ่มาก ๆ
  • MS Power BI ยังไม่สามารถรองรับการทำแผนที่เฉดสีในระดับ อำเภอ และตำบลได้อย่างสมบูรณ์
  • ยังมีปัญหาอื่น ๆ เช่น การใส่สีของแผนที่ หรือการทำ Label ก็ไม่สามารถทำได้สะดวกนักใน MS Powser BI

ทั้งหมดนี้เป็นเพียงประสบการณ์ของผมที่พบเจอมา ก็แนะนำว่าถ้าหากต้องการทำงานโดยเน้นแผนที่เป็นหลัก เราก็พอจะมีตัวเลือกในตลาดอื่น ๆ ที่รองรับงานทางด้านนี้มากกว่า อาทิ เช่น GISTDA Sphere, GeoNode, ArcGIS Portal และ Vallaris Map เป็นต้น ไว้ถ้าหากมีโอกาสผมก็จะหยิบขึ้นมาแนะนำผู้อ่านทุกท่านในโอกาสต่อไปนะครับ

เรียบเรียงโดย นววิทย์ พงศ์อนันต์

ตรวจทานและปรับปรุงโดย ปพจน์ ธรรมเจริญพร

Navavit Ponganan

Editor-in-Chief and Senior Data Scientist at Big Data Institute (Public Organization), BDI

Papoj Thamjaroenporn

Former-Editor-in-Chief at BigData.go.th and Senior Data Scientist at GBDi