Geometric - เก็บพิกัดกันยังไง เรื่องที่ผมยังไม่รู้
สงสัยอยู่นานแล้วว่า คนอื่นเขาเก็บพิกัดละติจูด ลองกิจูดกันยังไง เก็บเป็น 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`;
แหล่งเรียนรู้
Relate topics
- MySql backup
- การเก็บ JSON ใน MySQL ด้วย PHP
- ปรากฏการณ์ติดอันดับ Search engin
- Update table with incremented value grouped by column
- Material Design : นำเสนอหลักการและวิธีการออกแบบ Material Design ผ่าน Slide
- ต้องลองซะหน่อย - กูเกิลเสนอ "No CAPTCHA reCAPTCHA" ผู้ใช้ไม่จำเป็นต้องกรอก CAPTCHA อีกต่อไป
- ย้ายบ้านให้ MySql
- Google Search Timeline
- Google map - หันมาใช้ GMaps (gmaps.js)
- Google+ Sign in : Testing
- UPDATE multiple tables in MySQL using LEFT JOIN
- Google Adsense celebrates ten year easter egg
- Column value swap
- Google Maps Icons
- my.cnf
- Map overlay
- Google Doodle zip
- Make Ubuntu to be a web server (LAMP)
- Google Translate Tools Support
- Reset password root ใน mysql