Visualization เขต, ตำแหน่งสถานที่ โดยใช้ Tableau


Share this article

หลังจากในบทความที่แล้วเราได้ดูเรื่องของการนำเสนอแผนที่จังหวัดในประเทศไทยกันไป ในบทความนี้เราจะมาลงรายละเอียดในส่วนของเขต/อำเภอกันว่า มีวิธีการแสดงผลโดยใช้โปรแกรม Tableau อย่างไร

การสร้างพื้นที่สำหรับจังหวัดนั้น Tableau สามารถรองรับชื่อจังหวัด (ที่เป็นภาษาอังกฤษ) ได้อย่างไม่มีปัญหา แต่ถ้าเราต้องการแสดงผลพื้นที่ ที่เราสร้างเอง หรือพื้นที่ที่มีความละเอียดมากกว่านี้ ( เช่นต้องการพื้นที่เป็นเขต หรือ แขวง ) เราจำเป็นต้องมี Spatial File ก่อนสำหรับการพลอทพื้นที่เหล่านี้

แล้ว Spatial File คืออะไร?

เพื่อความเข้าใจอย่างง่าย Spatial File คือข้อมูลที่บอกเกี่ยวกับพื้นที่ที่ตั้งว่าสถานที่นั้นอยู่ที่ใด และสามารถแสดงออกมาในรูปแบบของ จุด, เส้น หรือพื้นที่ (Polygon) ได้ ตัวอย่างเช่น ถ้าเราต้องการแสดงผลสถานที่ในกรุงเทพฯ เราจำเป็นต้องมี Spatial File ของเขตในกรุงเทพเพื่อที่จะทราบว่าแต่ละเขตนั้นมีพื้นที่ตรงไหนบ้าง ซึ่ง BangkokGIS มีไฟล์พื้นที่ให้เราได้ดาวน์โหลดมาลองใช้งาน รวมถึงในเว็บไซต์นี้ได้บอกตำแหน่งโรงพยาบาลในกรุงเทพฯด้วย ดังนั้นโจทย์ในบทความนี้คือการนำเสนอการกระจายตัวของโรงพยาบาลในกรุงเทพฯว่าเป็นอย่างไร ( ผู้อ่านสามารถนำไปประยุกต์กับโจทย์อื่นๆที่ต้องการได้ )โดยเบื้องต้น เราสามารถแสดงผลเป็นพื้นที่เขตในกรุงเทพฯ โดยสีของแต่ละเขตจะขึ้นอยู่กับจำนวนประชากรในพื้นที่นั้น และจะมีจุดบนแผนที่แสดงถึงที่ตั้งของโรงพยาบาล ดังนั้นข้อมูลที่ใช้จะมีดังนี้

ข้อมูลพื้นที่ของเขตในกรุงเทพมหานคร โดย BangkokGIS นั้น มีตำแหน่งของแต่ละเขต รวมถึงจำนวนประชากรโดยแยกเป็นเพศหญิง (No Female) และเพศชาย (No Male) ดังนั้นจำนวนประชากรจะมาจากการบวกของ 2 Columns นี้ ( อย่างไรก็ตาม ผู้อ่านสามารถดึงข้อมูลประชากรในพื้นที่จากกรมการปกครองได้ซึ่งเป็นข้อมูลของปี 2561 )

ข้อมูลตำแหน่งที่ตั้งโรงพยาบาลรัฐบาลและเอกชนในพื้นที่เขตกรุงเทพมหานคร โดยจาก BangkokGIS จะมีข้อมูลแสดงว่าแต่ละโรงพยาบาลนั้นมีจำนวนเตียงเท่าไหร่ ซึ่งสามารถมานำเสนอบน Visualization ได้ (BangkokGIS ยังมีข้อมูลสถานพยาบาลอื่นๆอีกด้วย แต่สำหรับบทความนี้จะเลือกมาเฉพาะโรงพยาบาลรัฐบาลและเอกชน ดังภาพ)

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

ขั้นตอนแรกสำหรับการทำงาน เราจะเริ่มจากการอ่านไฟล์ ซึ่งชนิดของไฟล์จะแตกต่างกับบทความแรกโดยคราวนี้เราจะเลือก Spatial File ซึ่งเป็นสกุลไฟล์ที่เราจะอ่านกัน

หลังจากเลือกไฟล์ที่เราต้องการแล้ว เราจำเป็นจะต้อง Add อีกไฟล์ดังที่อธิบายข้างต้น โดยคลิกปุ่ม Add และเลือกไฟล์ที่ต้องการจะเพิ่ม

คลิก Add แล้วเลือกอีกไฟล์ ( ดังภาพ ได้เลือก District ไปในตอนแรก ในขั้นตอนนี้จึงเลือกไฟล์ Hospital )

หลังจากนั้นเมื่อเราต้องการเชื่อมข้อมูลสองส่วนเข้าด้วยกัน เราสามารถคลิกตรงกลางระหว่าง 2 ฐานข้อมูลและเลือกชนิดของการเชื่อมข้อมูลได้ โดยในตัวอย่างนี้เราจะเลือก Full Outer เพื่อนำเสนอข้อมูลพื้นที่ทั้งหมด และเลือกการเชื่อมแบบ Intersects

ทำการเชื่อมข้อมูลไว้ด้วยกัน

ในส่วนแรกนั้นเราจะทำการแสดงผลพื้นที่เขตในกรุงเทพก่อน ซึ่งสีพื้นที่ในแต่ละเขตนั้นจะเป็นจำนวนประชากรในพื้นที่ โดยเราจะใช้เป็น Column ที่ชื่อว่า No Male และ No Female มาบวกกัน โดยขั้นตอนคือ

ดับเบิ้ลคลิกที่ Geometry แล้วลาก Dname E มาไว้ที่ Detail

1. ดับเบิ้ลคลิกที่ Geometry ของ District เพื่อทำการพลอทพื้นที่ในเขตกรุงเทพ

2. ทำการเลือก Dname E ลงมาไว้ในส่วนของ Detail เพื่อทำการแบ่งแยกแต่ละพื้นที่ในการลงสีจำนวนประชากร

3. เลือกColumn No Male ลากไปไว้ในส่วนของ Color และทำการแก้ไขเพิ่มเติมโดยการดับเบิ้ลคลิกที่ Tab Color ที่เพิ่มเข้าไปและทำการพิมพ์ “ + Sum([No Female])” เพื่อทำการรวมจำนวนผู้หญิงเข้าไปด้วย (หรือจะทำในรูปแบบของ Calculated Field ก็ได้เช่นกัน)

เปลี่ยนสีให้แต่ละเขตขึ้นอยู่กับจำนวนประชากร

ต่อมา เราจะทำการแสดงผลตำแหน่งของโรงพยาบาลไว้บนแผนที่เขตกรุงเทพมหานคร ซึ่งเราจำเป็นจะต้องใช้วิธีเดียวกันกับบทความที่แล้ว โดยการลาก Latitude ไว้ที่ Rows และทำการคลิกขวาแล้วเลือก Dual Axis เพื่อให้แผนภาพมี 2 Layers ในการนำเสนอ

โดยในช่อง Marks นั้น จากที่เราได้ใส่ Latitude ไปในขั้นตอนที่ผ่านมา ให้เราเปลี่ยนชนิดของการนำเสนอ จาก Automatic ที่เป็น Map ให้เป็น Shape ( หรือ Circle ก็ได้ตามที่ต้องการ ) และลบ Pills ด้านล่างออกไป

เปลี่ยนจาก Map ให้เป็น Shape เนื่องจากต้องการนำเสนอในส่วนของตำแหน่งที่ตั้งเป็นจุด

หลังจากนี้ เราต้องการแสดงผลจุดของตำแหน่งโรงพยาบาล โดยแต่ละแห่งนั้น ความเข้มของสีและขนาดจะแสดงถึงจำนวนของเตียงที่มี รูปร่างของจุดจะแสดงถึงชนิดของโรงพยาบาล (รัฐบาล/เอกชน) โดยเราเริ่มจากการลาก Geometry ของ Hospital และ Name ไปไว้ที่ Detail และทำการนำ Bed No (จำนวนเตียง) ไปไว้ที่ Color และ Size รวมถึงในส่วนของ Type ให้ลากไปไว้ที่ Shape

ลาก Column ที่ต้องการนำเสนอไปไว้ที่ Marks

โดยเมื่อเราลาก Column ที่เราต้องการไปวางเสร็จเรียบร้อยแล้ว เราสามารถตั้งค่า เช่น สี, ขนาด, รูปร่าง ได้เลยจากการคลิกที่ช่องใน Marks และเลือกค่าตามที่ต้องการ

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

สำหรับการแสดงผลตำแหน่งหรือสถานที่นั้น ถ้าผู้อ่านมีข้อมูลของจังหวัดอื่นๆ ก็สามารถนำมาพลอทได้เช่นกัน แต่จำเป็นจะต้องมี spatial file ในการนำเสนอข้อมูล โดยในบทความหน้าเราจะมาตั้งโจทย์เพิ่มเติมจากบทความนี้กันว่า ในรัศมีบ้านของเรานั้น มีโรงพยาบาลทั้งหมดกี่แห่ง ทั้งนี้ สามารถประยุกต์ใช้ได้กับข้อมูลของโรงเรียนหรือห้างสรรพสินค้าได้

Reference

(Resource) ShapeFile ข้อมูลสารสนเทศภูมิศาสตร์ (แผนที่มาตราส่วน 1:20,000)

READ  U-Net: Convolutional Networks for Biomedical Image Segmentation

(Article) Perform advanced spatial analysis with spatial join—now available in Tableau


ลงทะเบียนรับข่าวสาร

ไม่พลาดทุกการอัพเดทจาก Big Data Experience Center

Big Data Experience Center (BX)

ชั้น 14 อาคาร Knowledge Exchange Center (KX)
110/1 ถนนกรุงธนบุรี, แขวงบางลำภูล่าง เขตคลองสาน กรุงเทพฯ 10600
อีเมล์: [email protected]

ABOUT

SERVICES