Topic List
โดย Little Bear on 1 ส.ค. 53 12:27
สงสัยอยู่นานแล้วว่า คนอื่นเขาเก็บพิกัดละติจูด ลองกิจูดกันยังไง เก็บเป็น text เป็น numeric แยกฟิลด์ไหม ลองเก็บมาหลายรูปแบบจนเริ่มมั่ว ก็เลยลองหาดูว่าคนอื่นเขาเก็บค่าพิกัดกันอย่างไร
เลยเห็น MySql data typa ตัวใหม่ คือ SPATIAL ซึ่งจะเก็บเป็น GEOMETRY , POINT , LINESTRING , MULTIPOINT, MULTILINESTRING , MULTIPOLYGON , GEOMETRYCOLLECTION
เริ่มเข้าเค้า งั้นเลยลองเก็บแบบนี้ดู เห็นบอกว่าสามารถคำนวณพิกัด ระยะทาง ได้เลย
ลองสร้างตารางดู
CREATE TABLE `place` ( `name` varchar(100) DEFAULT NULL, `location` point DEFAULT NULL, PRIMARY KEY (`name`) ) ENGINE=MyISAM;
เวลา add record ต้องระบุ location เป็น POINT(7.10,100.6) เช่น
INSERT INTO `place` (`name`,`location`) VALUES ("สงขลา",PointFromText("POINT(7.122219 100.59288)"));
เวลา query ก็ใช้
SELECT `name`,AsText(`location`),X(location),Y(`location`) FROM `place`;
แหล่งเรียนรู้
10083 reads | เขียนความคิดเห็น | อ่านเพิ่มเติม navigate_next
tags version 4.00.00 release 18.9.21. ช่วยเหลือ