SoftGanz By Little Bear.

Web & Software Developer Gang.

Geometric

Geometric - เก็บพิกัดกันยังไง เรื่องที่ผมยังไม่รู้

by Little Bear @August,01 2010 12.27 ( IP : 61...24 ) | Tags : Geometric , Google , Mysql

สงสัยอยู่นานแล้วว่า คนอื่นเขาเก็บพิกัดละติจูด ลองกิจูดกันยังไง เก็บเป็น 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`;

แหล่งเรียนรู้



แสดงความคิดเห็น

« 1562
หากท่านไม่ได้เป็นสมาชิก ท่านจำเป็นต้องป้อนตัวอักษรของ Anti-spam word ในช่องข้างบนให้ถูกต้อง
The content of this field is kept private and will not be shown publicly. This mail use for contact via email when someone want to contact you.
Bold Italic Underline Left Center Right Ordered List Bulleted List Horizontal Rule Page break Hyperlink Text Color :) Quote
คำแนะนำ เว็บไซท์นี้สามารถเขียนข้อความในรูปแบบ มาร์คดาวน์ - Markdown Syntax:
  • วิธีการขึ้นบรรทัดใหม่โดยไม่เว้นช่องว่างระหว่างบรรทัด ให้เคาะเว้นวรรค (Space bar) ที่ท้ายบรรทัดจำนวนหนึ่งครั้ง
  • วิธีการขึ้นย่อหน้าใหม่ซึ่งจะมีการเว้นช่องว่างห่างจากบรรทัดด้านบนเล็กน้อย ให้เคาะ Enter จำนวน 2 ครั้ง