สร้างแอปพลิเคชัน 3D โลกจำลองเหตุการณ์แผ่นดินไหวแบบเรียลไทม์บน iOS ด้วยข้อมูลจาก USGS
นักพัฒนาแอปพลิเคชันเผยเบื้องหลังการสร้าง Earthquake: Live Seismic Monitor แอปพลิเคชัน iOS ที่ดึงข้อมูลพิกัดแผ่นดินไหวจาก USGS มาแสดงผลบนลูกโลกสามมิติแบบไม่ต้องพึ่งพาเซิร์ฟเวอร์ส่วนตัว

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- สร้างแอปพลิเคชัน iOS แสดงผลแผ่นดินไหวแบบเรียลไทม์บนลูกโลก 3 มิติ
- ดึงข้อมูลพิกัด ขนาด และความลึกตรงจากฟีด GeoJSON ของ USGS โดยไม่ใช้เซิร์ฟเวอร์
- ใช้ขนาดและสีของจุดมาร์กเกอร์เพื่อสื่อถึงขนาดและความลึกของแผ่นดินไหว
- เชื่อมต่อข้อมูลโดยตรงจากอุปกรณ์ไปยังแหล่งข้อมูลสาธารณะโดยไม่ต้องผ่านพร็อกซี
แนวคิดในการมองเห็นเหตุการณ์แผ่นดินไหวเกิดขึ้นในลักษณะที่มันเกิดขึ้นจริงบนดาวเคราะห์ที่กำลังหมุนวน ในแบบเกือบจะเรียลไทม์ ได้นำไปสู่การพัฒนาแอปพลิเคชันที่มีชื่อว่า Earthquake: Live Seismic Monitor ซึ่งเป็นแอปพลิเคชันบนระบบปฏิบัติการ iOS ทำหน้าที่เรนเดอร์ลูกโลกสามมิติแสดงผลเหตุการณ์แผ่นดินไหวล่าสุดโดยดึงข้อมูลตรงมาจากฟีดของ USGS และไม่มีความจำเป็นต้องสร้างระบบหลังบ้านของตนเอง อาศัยเพียงข้อมูลสาธารณะและตัวอุปกรณ์เท่านั้น
ทางด้านองค์กร USGS ทำหน้าที่เผยแพร่ข้อมูลแผ่นดินไหวออกมาในรูปแบบฟีด GeoJSON ซึ่งมีการอัปเดตอย่างต่อเนื่องตามช่วงเวลาและระดับความรุนแรงต่างๆ เช่น ข้อมูลในรอบชั่วโมงที่ผ่านมา รอบวัน หรือกลุ่มที่มีขนาดความรุนแรงตั้งแต่ 2.5 ขึ้นไป และ 4.5 ขึ้นไป โดยในแต่ละฟีเจอร์จะมีข้อมูลพิกัดทางภูมิศาสตร์ ขนาดความรุนแรง ความลึก และเวลา ซึ่งเป็นองค์ประกอบทั้งหมดที่จำเป็นสำหรับการระบุตำแหน่งแผ่นดินไหวลงบนลูกโลกโดยไม่ต้องพึ่งพา API เฉพาะตัวแต่อย่างใด

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
การดึงข้อมูลพิกัดทางภูมิศาสตร์แบบ GeoJSON มาประมวลผลบนฝั่งไคลเอนต์โดยตรง (Client-side rendering) ช่วยลดต้นทุนในการพัฒนาและดูแลระบบหลังบ้านได้อย่างมหาศาล สถาปัตยกรรมแบบไร้เซิร์ฟเวอร์ (Serverless) ในลักษณะนี้เหมาะอย่างยิ่งกับแอปพลิเคชันที่บริโภคข้อมูลสาธารณะที่มีรูปแบบมาตรฐานอยู่แล้ว เช่น ข้อมูลสภาพอากาศหรือรายงานภัยพิบัติ
ตัวแอปพลิเคชันจะทำการดึงข้อมูลจากฟีดที่เหมาะสม ทำการเปรียบเทียบความแตกต่างกับข้อมูลชุดเดิมที่มีอยู่ แล้วจึงอัปเดตฉากการแสดงผล เนื่องจากทาง USGS เป็นผู้รับภาระในการประมวลผลข้อมูลหนักๆ ทั้งหมด ส่งผลให้ตัวระบบฝั่งของผู้พัฒนาแทบจะไม่มีเซิร์ฟเวอร์เกี่ยวข้องเลย
โจทย์สำคัญทางด้านการทำแผนที่คือการแปลงค่าละติจูดและลองจิจูดให้กลายเป็นจุดบนทรงกลม เมื่อทำได้แล้ว แผ่นดินไหวแต่ละจุดจะกลายเป็นหมุดที่ขนาดและสีสื่อความหมายถึงขนาดและความลึก ทำให้ผู้ใช้งานสามารถมองปราดเดียวก็เข้าใจได้ทันทีว่าเหตุการณ์ใดมีขนาดใหญ่แต่ตื้น หรือมีขนาดเล็กแต่ลึก
ทุกแอปพลิเคชันที่ต้องพึ่งพาเครือข่ายจะต้องตอบคำถามให้ได้ว่า เมื่อออฟไลน์จะเกิดอะไรขึ้น และคำว่าเรียลไทม์นั้นสดใหม่แค่ไหน ซึ่งทางผู้พัฒนาเลือกที่จะให้แอปพลิเคชันติดต่อสื่อสารกับแหล่งข้อมูลโดยตรง หลีกเลี่ยงการใช้เซิร์ฟเวอร์ตัวกลางเพื่อควบคุมข้อมูล เนื่องจากมองว่า USGS มีความน่าเชื่อถือ เป็นข้อมูลสาธารณะ และถูกออกแบบมาเพื่อการนี้อยู่แล้ว การตัดเซิร์ฟเวอร์ตัวกลางออกไปช่วยให้ไม่ต้องดูแลระบบ ไม่ต้องกังวลเรื่องการขยายขนาด และไม่มีจุดที่ทำให้ข้อมูลเกิดความล่าช้า
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น