GeoJSON: คือ รูปแบบการจัดเก็บข้อมูลทางภูมิศาสตร์ (Geographic Data) โดยใช้โครงสร้างแบบ JSON เพื่อระบุตำแหน่งบนแผนที่ เช่น จุด (Point), เส้น (Line) หรือพื้นที่ (Polygon) พร้อมข้อมูลคุณลักษณะต่างๆ
เครื่องมือและฟังก์ชันจัดการ JSON ใน SQLite
ฟังก์ชันพื้นฐาน (Essential Functions)
ไวยากรณ์ลัด (Fast Access Syntax - SQLite 3.38+)
->: ส่งค่ากลับมาเป็น JSON string
->>: ส่งค่ากลับมาเป็น ข้อมูลดิบ (SQL value) เช่น ข้อความหรือตัวเลข
ฟังก์ชันสำหรับการรวมกลุ่ม (Aggregate Tools)
json_group_array(value): รวมข้อมูลจากหลายๆ แถว (Rows) ให้กลายเป็น JSON Array [...] (ใช้ทำ FeatureCollection)
json_group_object(name, value): รวมข้อมูลให้กลายเป็น JSON Object {"key": "value"}
ฟังก์ชันแบบตาราง (Table-Valued Functions)
json_each(json): แตกข้อมูล JSON ออกมาเป็นแถวเหมือนตาราง (เฉพาะชั้นบนสุด)
json_tree(json): แตกข้อมูล JSON ออกมาทุกชั้น (Recursive) เหมาะสำหรับการค้นหาข้อมูลที่ฝังอยู่ลึกๆ
บทความชุดนี้จะแสดงการเก็บข้อมูลใน SQLite ที่เหมาะสมกับข้อมูล GeoJSON ในสถานการณ์ต่างๆ ที่วิศวกรสำรวจและนักภูมิสารสนเทศอาจเคยประสบโดยแยกเป็น 2 กรณี กรณี 1 เก็บข้อมูลแบบปกติทั่วไป (text, number, ...) แล้วใช้คำสั่งเรียกมาประกอบกันเป็น GeoJSON เมื่อต้องการ กรณี 2 เก็บข้อมูลเป็นรูปแบบที่คล้าย GeoJSON มากที่สุด แล้วใช้ฟังก์ชันพิเศษช่วยแปลงเป็น GeoJSON ทั้งสองกรณีจะอยู่ใน blog ถัดไปตามลำดับ การใช้ฟังก์ชันจัดการ JSON จะมีแทรกอยู่ในขั้นตอนต่างๆ ของการทำงาน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น