Visualization เขต และ ตำแหน่งสถานที่ ด้วย 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 และเลือกไฟล์ที่ต้องการจะเพิ่ม
หลังจากนั้นเมื่อเราต้องการเชื่อมข้อมูลสองส่วนเข้าด้วยกัน เราสามารถคลิกตรงกลางระหว่าง 2 ฐานข้อมูลและเลือกชนิดของการเชื่อมข้อมูลได้ โดยในตัวอย่างนี้เราจะเลือก Full Outer เพื่อนำเสนอข้อมูลพื้นที่ทั้งหมด และเลือกการเชื่อมแบบ Intersects
ในส่วนแรกนั้นเราจะทำการพลอทพื้นที่เขตในกรุงเทพก่อน ซึ่งสีพื้นที่ในแต่ละเขตนั้นจะเป็นจำนวนประชากรในพื้นที่ โดยเราจะใช้เป็น Column ที่ชื่อว่า No Male และ No Female มาบวกกัน โดยขั้นตอนคือ
- ดับเบิ้ลคลิกที่ Geometry ของ District เพื่อทำการพลอทพื้นที่ในเขตกรุงเทพ
- ทำการเลือก Dname E ลงมาไว้ในส่วนของ Detail เพื่อทำการแบ่งแยกแต่ละพื้นที่ในการลงสีจำนวนประชากร
- เลือกColumn No Male ลากไปไว้ในส่วนของ Color และทำการแก้ไขเพิ่มเติมโดยการดับเบิ้ลคลิกที่ Tab Color ที่เพิ่มเข้าไปและทำการพิมพ์ “ + Sum([No Female])” เพื่อทำการรวมจำนวนผู้หญิงเข้าไปด้วย ( หรือจะทำในรูปแบบของ Calculated Field ก็ได้เช่นกัน )
ต่อมา เราจะทำการพลอทตำแหน่งของโรงพยาบาลไว้บนแผนที่เขตกรุงเทพมหานคร ซึ่งเราจำเป็นจะต้องใช้วิธีเดียวกันกับบทความที่แล้ว โดยการลาก Latitude ไว้ที่ Rows และทำการคลิกขวาแล้วเลือก Dual Axis เพื่อให้แผนภาพมี 2 Layers ในการนำเสนอ
โดยในช่อง Marks นั้น จากที่เราได้ใส่ Latitude ไปในขั้นตอนที่ผ่านมา ให้เราเปลี่ยนชนิดของการนำเสนอ จาก Automatic ที่เป็น Map ให้เป็น Shape ( หรือ Circle ก็ได้ตามที่ต้องการ ) และลบ Pills ด้านล่างออกไป
หลังจากนี้ เราต้องการพลอทจุดของตำแหน่งโรงพยาบาล โดยแต่ละแห่งนั้น ความเข้มของสีและขนาดจะแสดงถึงจำนวนของเตียงที่มี รูปร่างของจุดจะแสดงถึงชนิดของโรงพยาบาล ( รัฐบาล/เอกชน) โดยเราเริ่มจากการลาก Geometry ของ Hospital และ Name ไปไว้ที่ Detail และทำการนำ Bed No (จำนวนเตียง) ไปไว้ที่ Color และ Size รวมถึงในส่วนของ Type ให้ลากไปไว้ที่ Shape
โดยเมื่อเราลาก Column ที่เราต้องการไปวางเสร็จเรียบร้อยแล้ว เราสามารถตั้งค่า เช่น สี, ขนาด, รูปร่าง ( Shape ) ได้เลยจากการคลิกที่ช่องใน Marks และเลือกค่าตามที่ต้องการ
ถึงขั้นตอนนี้เราได้การพลอทตำแหน่งของโรงพยาบาลในกรุงเทพมหานครเสร็จเรียบร้อยแล้ว ( อย่างไรก็ตาม เราจำเป็นจะต้องมีข้อมูลให้ครบก่อนที่จะแปลผลข้อมูลได้ ในบทความนี้ทางผู้เขียนต้องการแบ่งปันวิธีการพลอทข้อมูลลงบนแผนที่ โดยใช้ข้อมูลมาแค่บางส่วน ดังนั้นอย่าวิตกถ้าหากบางเขตนั้นไม่เห็นมีโรงพยาบาล ) ซึ่งเราสามารถนำไปต่อยอดในการสร้าง Dashboard ได้
สำหรับการพลอทตำแหน่งหรือสถานที่นั้น ถ้าผู้อ่านมีข้อมูลของจังหวัดอื่นๆ ก็สามารถนำมาพลอทได้เช่นกัน แต่จำเป็นจะต้องมี spatial file ในการนำเสนอข้อมูล โดยในบทความหน้าเราจะมาตั้งโจทย์เพิ่มเติมจากบทความนี้กันว่า ในรัศมีบ้านของเรานั้น มีโรงพยาบาลทั้งหมดกี่แห่ง ทั้งนี้ สามารถประยุกต์ใช้ได้กับข้อมูลของโรงเรียนหรือห้างสรรพสินค้าได้
Reference : http://www.bangkokgis.com/modules.php?m=download_shapefile