Những kiểu dữ liệu Hình học

Một phần của tài liệu Phân tích dữ liệu không gian GIS-3D và xây dựng ứng dụng (Trang 42)

Những kiểu dữ liệu Hình học thể hiện những đối tượng không gian hai chiều. Bảng dưới đây cho thấy những kiểu hình học sẵn có bên trong Postgresql. Kiểu cơ bản nhất, POINT là cơ sở hình thành tất cả các kiểu khác.

Tên kiểu Lƣu trữ Khuôn dạng giá trị Mô tả

point 16 bytes (x,y) điểm trong không gian

line 32 bytes ((x1,y1),(x2,y2)) đường thẳng vô tận (chưa được triển khai đủ) lseg 32 bytes ((x1,y1),(x2,y2)) đoạn thẳng

box 32 bytes ((x1,y1),(x2,y2)) Hình chữ nhật

path 16+16n bytes ((x1,y1),...) Đường gấp khúc đóng (tương tự polygon) path 16+16n bytes [(x1,y1),...] Đường gấp khúc hở

polygon 40+16n bytes ((x1,y1),...) đa giác (tương tự đường gấp khúc đóng)

circle 24 bytes <(x,y),r> Vòng tròn (tâm và bán kính)

Bảng 2.1. Các kiểu Hình học

Một tập hợp phong phú các hàm và toán tử sẵn có sẵn thực hiện nhiều thao tác hình học như co giãn tỷ lệ, dịch chuyển, quay, phần giao nhau. Chúng được giải thích trong phần 6.9.

Điểm (Point)

Điểm là kiểu dữ liệu nguyên tố cơ bản để xây dựng những kiểu hình học hai chiều. Thể hiện điểm theo các cú pháp sau :

( x , y )

x , y Ở đây các đối số là

x - tọa độ trục x, là một số dấu chấm động y - tọa độ trục y, là một số dấu chấm động

Đoạn thẳng (Line Segment)

Đoạn thẳng được thể hiện bởi những cặp 2 điểm.. lseg được thể hiện theo các cách sau:

( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 , x2 , y2

Ở đây các đối số (x1,y1), (x2,y2) là các điểm đầu mút của đoạn thẳng

Hộp chữ nhật (Box)

Các hộp chữ nhật được đại diện bởi một cặp điểm là hai đỉnh đối diện của hình hộp. Cú pháp như sau:

( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 , x2 , y2

Ở đây các đối số (x1,y1), (x2,y2) là các đỉnh đối điện của hộp.

Hộp chữ nhật được xuất đầu ra sử dụng cú pháp đầu tiên. Khi nhập dữ liệu vào, thứ tự sẽ được sắp xếp lại để luôn lưu trữ theo khuôn dạng đỉnh trên - phải, sau đó là phía dưới-trái. Có thể nhập vào cặp đỉnh còn lại của hộp, nhưng hệ thống sẽ tự chuyển thành đỉnh góc phải - trên và phía trái-dưới để cất giữ.

Đường gấp khúc (Path)

Đường gấp khúc được đại diện bởi một tập hợp điểm được nối với nhau (các đỉnh). Đường gấp khúc có thể là mở, khi mà đỉnh đầu và đỉnh cuối cùng trong tập hợp không được nối với nhau. Đường gấp khúc là đóng, khi mà đỉnh đầu và đỉnh cuối cùng trong tập hợp được nối với nhau.

Các hàm popen(p) và pclose(p) sẽ làm cho một đường đi là mở hoặc đóng. Các hàm isopen(p) và Isclosed(p) kiểm tra một đường đi là đóng hauy mở. Đường đi được thể hiện sử dụng cú pháp sau :

( ( x1 , y1 ) , ... , ( xn , yn ) ) [ ( x1 , y1 ) , ... , ( xn , yn ) ] ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , yn

Ở đây các đối là (x,y), các đỉnh của đường gấp khúc. Dấu ngoặc vuông ([) thể hiện đường mở, dấu ngoặc tròn (() thể hiện đường đóng.

Các đường được xuất ra theo khuôn dạng thứ nhất.

Đa giác (Polygon)

Đa giác được đại diện bởi một tập hợp đỉnh. Các đa giác có lẽ phải xem là tương đương với các đường đi đóng, nhưng được lưu giữ khác nhau và có tập hợp những thủ tục hỗ trợ riêng của nó. Đa giác được thể hiện sử dụng cú pháp sau:

( ( x1 , y1 ) , ... , ( xn , yn ) ) ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , yn

Ở đây các đối là (x,y), các đỉnh của đa giác. Đa giác được xuất ra theo khuôn dạng thứ nhất.

Vòng tròn (Circle)

Vòng tròn được đại diện bằng tâm và bán kính. cú pháp thể hiện: < ( x , y ) , r >

( ( x , y ) , r ) ( x , y ) , r x , y , r Ở đây các đối là

(x,y) – tâm của vòng tròn r – bán kính

Một phần của tài liệu Phân tích dữ liệu không gian GIS-3D và xây dựng ứng dụng (Trang 42)

Tải bản đầy đủ (PDF)

(92 trang)