ภาควิชาวิทยาการคอมพิวเตอร์ GIS & PostgreSQL ภาควิชาวิทยาการคอมพิวเตอร์
Datatypes (ชนิดข้อมูล) PostgreSQL สนับสนุน Geometric Types ชนิดข้อมูล point (x,y) เป็นข้อมูลขั้นพื้นฐาน point line และ lseg box path polygon circle
จุด : point ชนิด : point เป็นพื้นฐานในระนาม 2-D ของ geometric type Point on the plane Syntax ( x , y ) x , y ขนาด 16 bytes
เส้น : Line & Line Segments ชนิด : lseg หรือ line แทนด้วยคู่หนึ่งของ points Syntax ( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1, y1 , x2 , y2 ขนาด 32 bytes
กล่อง : Boxes ชนิด : box แทนด้วยคู่หนึ่งของ point บนมุมที่อยู่ตรงข้ามกัน Syntax ( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1, y1 , x2 , y2 ขนาด 32 bytes
เส้นทาง : Paths ชนิด path แทนด้วย sets ของ points ที่ต่อเนื่องกัน Syntax [ ] = open path ( ) = close path [ ( x1 , y1 ) , . . . , ( xn , yn ) ] ( ( x1 , y1 ) , . . . , ( xn , yn ) ) เป็น output syntax ด้วย ( x1 , y1 ) , . . . , ( xn , yn ) x1, y1 , . . . , xn , yn ขนาด 16 + 16n bytes
พื้นที่ : Polygons ชนิด polygon แทนด้วย sets ของ points ถือว่าเป็น close paths Syntax ( ( x1 , y1 ) , . . . , ( xn , yn ) ) เป็น output syntax ด้วย ( x1 , y1 ) , . . . , ( xn , yn ) x1, y1 , . . . , xn , yn ขนาด 40 + 16n bytes
วงกลม : Circles ชนิด circle แทนด้วยจุดศูนย์กลาง และ รัศมี Syntax < ( x , y ) , r > เป็น output syntax ด้วย ( ( x , y ) , r ) ( x , y ) , r x , y , r ขนาด 24 bytes
Geometric Operators เป็นเครื่องหมายที่ใช้กับ objects ที่เป็น geometric data type ตัวอย่างเช่น <-> หมายถึง Distance between SELECT ‘(1,1)’::point <-> ‘(2,2)’::point ดูรายละเอียดในตาราง 9-28: Geometric Operators
Geometric Functions เป็น functions ที่ใช้กับ object แบบ geometric types ตัวอย่างเช่น area(object) return type : double precision SELECT * FROM tempbox; (8,9),(1,3) SELECT area(fieldname) FROM tempbox; ได้ผลลัพธ์ 42 ดูตารางที่ 9-29 : Geometric Functions
Geometric Type Conversion Functions เป็น functions ที่ใช้แปลง objects ที่มี data type ต่างกัน ตัวอย่างเช่น box(point, point) points to box return type box box(point ‘(0,0)’, point ‘(1,1)’) SELECT box(point '(0,0)', point '(1,1)'); box (1,1),(0,0)
ข้อแนะนำ ในบทเรียนนี้ท่านควรจะมีความรู้เกี่ยวกับการใช้ functions บน SQL มาก่อน ดังนั้นอาจยังไม่เข้าใจ ให้ศึกษาทบทวนกับ functions ทั่วๆ ไปก่อน ในกรณีที่มี text file ของ vector information แล้ว เราสามารถเขียนโปรแกรมเพื่อ insert ข้อมูลคราวละมาก ๆ