Định dạng VPF là một mô hình dữ liệu địa lý tổng quát, được thiết kế để sử dụng với các dữ liệu địa lý số hóa bằng định dạng vector. Định dạng này có thể được hiển thị lên bảng đồ số là các nút (nodes), cạnh (edges) và các mặt (faces).
VPF dựa trên mô hình quan hệ dữ liệu về mặt địa lý, địa hình học và tập lý thuyết. Một số khái niệm cơ bản của VPF :
13 trang |
Chia sẻ: vietpd | Lượt xem: 2064 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Định dạng vpf (vector product format) cho dữ liệu bản đồ số, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 2
ĐỊNH DẠNG VPF (VECTOR PRODUCT FORMAT)
CHO DỮ LIỆU BẢN ĐỒ SỐ
2.1 GIỚI THIỆU
Định dạng VPF là một mô hình dữ liệu địa lý tổng quát, được thiết kế để sử dụng với các dữ liệu địa lý số hóa bằng định dạng vector. Định dạng này có thể được hiển thị lên bảng đồ số là các nút (nodes), cạnh (edges) và các mặt (faces).
VPF dựa trên mô hình quan hệ dữ liệu về mặt địa lý, địa hình học và tập lý thuyết. Một số khái niệm cơ bản của VPF :
Vector : Chỉ ra một tập hợp các bộ tọa độ dùng định nghĩa một thực thể địa lý.
VPF : Là một định dạng chuẩn, là một cấu trúc và là một sự tổ chức cho những cơ sở dữ liệu địa lý lớn dựa trên mô hình dữ liệu quan hệ về mặt địa lý (Georelational data model) mà sẽ được sử dụng trực tiếp.
2.2 ĐẶC TÍNH VPF
VPF là mô hình cho các cơ sở dữ liệu (CSDL) địa lý mà có sự linh hoạt trong việc mã hoá, và cho phép ta truy xuất dữ liệu trực tiết từ nhiều chương trình ứng dụng chạy trên những hệ thống máy tính khác nhau. Sau đây là các đặc tính chủ yếu của VPF.
VPF được hỗ trợ bởi các CSDL không đơn lẻ, bằng cách cung cấp một sự liên tục về logic mặc cho thế trong CSDL các tập tin CSDL có thể bị chia nhỏ.
Cấu trúc của VPF cho phép truy vấn và rút trích dữ liệu để vượt qua các rào cản về tập tin có định dạng trung gian, mà có thể được sử dụng dụng với từng sản phẩm cụ thể tạo thành một sản phẩm hoàn chỉnh. Nó dược tổ chức để phù hợp với tất cả các cấp độ của quan hệ địa lý từ một danh sách đơn giản của các toạ độ đến các mô hình địa lý tầm vóc.
Hỗ trợ về mặt đặc tính, VPF sử dụng các bảng cho việc xử lý các thuộc tính.
Từ điển dữ liệu, giúp người dùng hiểu rõ được các đặc điểm và các thuộc tính của hệ thống.
Hỗ trợ văn bản và dữ liệu của dữ liệu (Metadata) có các thuộc tính.
Có các chỉ mục cho file để nâng cao hiệu quả truy cập thông tin trong CSDL địa lý, đây là lý do để sau này các nhà phát triển sẽ sử dụng cho các hệ quản trị CSDL (DBMS) để lưu trữ các thông tin địa lý theo định dạng VPF vào Database.
Cho phép truy cập trực tiếp bằng cách dùng trình ứng dụng và còn có thể chuyển đổi sang một định dạng khác.
Linh động và đa dạng. VPF có thể dữ liệu địa lý số bằng định dạng vector.
2.3 CÁC CẤU TRÚC PHÂN CẤP CỦA VPF
Có 5 cấp cao thấp khác nhau trong VPF được định nghĩa từ trừu tượng đến thấp lên cao
Hình 2.1 : Cấu trúc phân cấp của VPF
2.4 CÁC THÀNH PHẦN CỦA MÔ HÌNH DỮ LIỆU
VPF có thể được mô hình theo 4 cấp cấu trúc :
Hình 2.2 : Cấu trúc phân cấp của VPF
2.5 CÁC LỚP ĐỐI TƯỢNG
Có 3 thực thể địa lý theo VPF là:
các nút (Nodes)
các cạnh (Edges)
các mặt (Faces)
Hình 2.3 : Nội dung của các đối tượng trong VPF
Tuy nhiên, ta sẽ có tất cả là 5 loại đối tượng
Nút thực thể (Entity node )
Nút nối (Connected node)
Cạnh (Edge)
Mặt (Face)
Chữ (Text)
Trong đó, Node được chia làm hai loại là Entity Node và Connected Node, Text là loại đối tượng không tham gia vào mối quan hệ địa lý, còn các loại đối tượng khác thì có.
Hình 2.4: Thuật vẽ bản đồ theo chuẩn VPF
2.5.1 Nút ( Node )
Node là một đối tượng dùng để biểu thị một vị trí nào đó trên bản đồ, không thể có 2 nút khác biệt nhau mà có cùng toạ độ trên bản đồ. Có 2 loại nút:
Node thực thể (Entity node): biểu thị 1 vị trí riêng lẻ như địa danh, công trình kiến trúc...
Node nối (Connected node): thường xuất hiện như 2 đầu của một Cạnh (Edge) và chúng được nối với nhau theo một phương thức địa hình học nào đó để tạo nên cạnh. Các Node nối nhau thường được sử dụng trong 2 tình huống:
+ Dùng định nghĩa một cạnh theo địa hình học.
+ Dùng thể hiện sự tuyến tính của các đầu mút trên một cạnh.
Do đó, khi tổ chức lưu chứa thì ngoài chỉ số (khoá chính) ta cần lưu chứa thêm thuộc tính Cạnh đầu tiên mà nhận Node này làm nút khởi đầu (Start node).
2.5.2. Cạnh (Edge)
Edge là thực thể một chiều dùng để hiển thị các vị trí có tuyến tính như đường xe chạy hay là các đường viền của các Mặt (Face).
Edge được cấu trúc từ 2 hay nhiều các cặp tọa độ (coordinate tuples) và đương nhiên có ít nhất 2 cặp tọa độ không được trùng nhau. Phương hướng của một Edge có thể được nhận ra bằng thứ tự của các cặp toạ độ.
Như vậy ngoài Node bắt đầu (Start Node) và Node kết thúc (End Node) là bảng lưu trữ thông tin cho Edge, còn phải lưu thêm các thông tin về cạnh phải (Right Edge), cạnh trái (Left Edge), mặt phải (Right Face), mặt trái (Left Face) để hổ trợ thông tin tạo nên các mặt.
Chiều của một Edge được tính từ Start Node đến End Node. Mỗi Edge có thêm một khung bao chữ nhật để chứa vừa đủ cạnh đó (MBR : Minimum Bound Rectangle).
2.5.3 Mặt (Face)
Mặt là một đối tượng 2 chiều tạo nên từ nhiều Edge thành một vòng khép kín. Mặt dùng để thể hiện các vùng như nước, hồ, vùng mỏ khoáng sản, ...
Mặt có thể có đường bao ở trong và đường bao ở ngoài cho phép có những Face khác nhỏ hơn nằm bên trong nó. Do đó, mặt được cấu tạo từ một hay nhiều Vòng (Ring).
Mỗi mặt có một khung bao chữ nhật chứa vừa đủ cạnh đó (FBR : Face Minium Bound Rectangle).
2.5.4. Chữ (Text)
Dùng để chú giải hay hiển thị tên của một thực thể hoặc địa danh nào đó trên bảng đồ.
Vd: Tên đường Trần Hưng Đạo, sông Sài Gòn,….
CẤU TRÚC ĐỊA HÌNH HỌC CỦA VPF (VPF TOPOLOGY)
Có 4 cấp Topology trong định dạng VPF :
Cấp
Tên
3
2
1
0
Cấu trúc Địa hình học đầy đủ
Đồ thị hai chiều
Đồ thị không hai chiều
Dạng khung bao
Node thực thể và Edge
Node thực thể, Node nối và Edge
Node thực thể, Node nối và Edge
Node thực thể, Node nối Edge
và Face
Là một tập được phân chia bởi các Face, phần giao, có các Edge giao tại các Node
Là các tập Edge và Node được chiếu trên cùng một mặt, có các Edge giao tại các Node
Là một tập các Edge và các Node
giao nhau tại các Node
Là một tập các Node đơn và các Edge, Edge chỉ có toạ độ các đỉnh
Bao gồm
Mô tả
Ví dụ
Hình 2.5: mô tả các cấp thông tin VPF
Sau đây là mô tả chi tiết về các cấp Topology :
2.6.1 Cấp 0 :
Hình 2.6 : Topology cấp 0
2.6.2 Cấp 1 và 2 :
Hình 2.7 : Topology cấp 1 và 2
2.6.3 Cấp 3 :
Edge
Text
Tọa độ
Right Edge
Left Edge
Start Node
End Node
Connected Node
First Edge
Face
Right Face
Left Face
Ring
Start Edge
Face chứa
Con trỏ
Ring
Entity Node
Bảng phụ VPF
Tọa độ
Tọa độ
Tọa độ
Bảng đối tượng trong VPF
Thuộc tính hình học
Thuộc tính Topology
Chứa
Quan hệ Topo
Hình 2.8 : Topology cấp 3
2.7 TỔ CHỨC DỮ LIỆU CỦA VPF
Như đã được nhắc đến ở phần đầu ta có các loại đối tượng: Node đơn, Node nối, Edge, Face và cuối cùng là Text. Tuy nhiên, chỉ có 4 loại đối tượng đầu là tham gia và mối quan hệ topology, còn Text chỉ được dùng như một đối tượng vẽ như VPF cho phép chúng ta mô hình hoá đuợc các các hiện tượng địa lý bằng các vector hình học. Vậy nội dung lưu chứa thật sự bên trong là gì ? , ta hãy tìm hiểu sự tổ chức dữ liệu trong phần này và nguyên tắc nào mà hình thành nên một bảng đồ số với định dạng VPF trong phần tiếp theo.
2.7.1 Đối tượng Node :
Node đơn :
Tên cột
Mô tả
Kiểu dữ liệu
Loại khóa
Rỗng
ID
Mã Node
Số nguyên
Chính
PFT_ID
Khoá phụ
Số nguyên
X
CONTAINING_FACE
Mặt chứa Node này
Số nguyên
Ngoại
FIRST_EDGE
( Null )
Số nguyên
Ngoại
COORDINATE
Toạ độ của Node
Số thực
X
Node nối :
Tên cột
Mô tả
Kiểu dữ liệu
Loại khóa
Rỗng
ID
Mã Node
Số nguyên
Chính
PFT_ID
Khoá phụ
Số nguyên
X
CONTAINING_FACE
( Null )
Số nguyên
Ngoại
FIRST_EDGE
Cạnh nhận Node này làm Start Node
Số nguyên
Ngoại
COORDINATE
Toạ độ của Node
Số thực
2.7.2 Đối tượng Edge :
Tên cột
Mô tả
Kiểu dữ liệu
Loại khóa
Rỗng
ID
Mã Edge
Số nguyên
Chính
PFT_ID
Khoá phụ
Số nguyên
X
START_NODE
Mã Start Node
Số nguyên
Ngoại
END_NODE
Mã End Node
Số nguyên
Ngoại
RIGHT_FACE
Mã Right Face
Số nguyên
Ngoại
LEFT_FACE
Mã Left Face
Số nguyên
Ngoại
LEFT_EDGE
Mã Left edge từ Start Node
Số nguyên
Ngoại
COORDINATES
Tọa độ của Edge
Số thực
2.7.3 Đối tượng Face :
Tên cột
Mô tả
Kiểu dữ liệu
Loại khóa
Rỗng
ID
Mã Face
Số nguyên
Chính
AFT_ID
Khoá phụ
Số nguyên
X
RING_PTR
Mã Ring
Số nguyên
Ngoại
2.7.4 Đối tượng Ring :
Tên cột
Mô tả
Kiểu dữ liệu
Loại khóa
Rỗng
ID
Mã Ring
Số nguyên
Chính
FACE_ID
Mã Face
Số nguyên
Ngoại
START_EDGE
Mã Edge
Số nguyên
Ngoại
2.7.5 Đối tượng Text :
Tên cột
Mô tả
Kiểu dữ liệu
Loại khóa
Rỗng
ID
Mã Text
Số nguyên
Chính
TFT_ID
Khóa phụ
Số nguyên
X
STRING
Nội dung
Văn bản
SHAPE_LINE
Tọa độ
Số thực
2.7.6 Đối tượng Bound (Khung) :
Tên cột
Mô tả
Kiểu dữ liệu
Loại khóa
Rỗng
ID
Mã Bound
Số nguyên
Chính
XMIN
Toạ độ X nhỏ nhất
Số thực
YMIN
Toạ độY nhỏ nhất
Số thực
XMAX
Toạ độ X lớn nhất
Số thực
YMAX
Toạ độ Y lớn nhất
Số thực
2.8 CẤU TRÚC TOPO WINGED-EDGE (WINGED-EDGE TOPOLOGY)
Winged-edge topology là một phần rất quan trọng của mô hình dữ liệu VPF. Chức năng của cấu trúc này có thể tạo nên một mạng các đoạn thẳng và các Face địa hình học. Dĩ nhiên các thành phần của Winged-Edge topology không gì khác hơn 3 đối tượng chính của định dạng VPF là Node, Edge và Face. Tuy nhiên, tác giả cũng xin nhắc lại ở mức chi tiết hơn :
Thông tin về Node: mỗi Edge chứa một StartNode và một EndNode, thông tin này giúp ta định hướng được chiều của Edge là từ StartNode đến EndNode, dĩ nhiên là chiều số học.
Thông tin về Edge: RightEdge và LeftEdge nối một Edge đến các cạnh kề của nó (vì vậy mới có thuật ngữ là Winged-Edge). RightEdge là cạnh ta gặp đầu tiên khi ta đi ngược chiều kim đồng hồ (chiều (+)) tại EndNode, cũng tương tự như thế LeftEdge là cạnh đầu tiên ta gặp khi đi ngược chiều dương tại StartNode.
Hình 2.9 : Các thành phần của Winged-edge
Thông tin về Face: với cấu trúc topo cấp 3 thì mỗi Edge chứa một LeftFace và RightFace. LeftFace và RightFace được xác định là đối diện nhau có bờ là Edge, các thông tin này cho phép một Edge xác định được các Face chứa nó.
Vòng nội (Inner Ring)
Face được tạo thành từ các vòng nội (inner Ring) và vòng ngoại (outer Ring) theo luật Winged-Edge. Các Edge không bao giờ được xem là nằm trong Face mà các Edge thường là đường bao ngoài của Face. Các cạnh lửng bên trong Face thì được xem là một vòng nội.
Giải thuật Winged-Edge
Xác định Face nào cần được vẽ và vào bảng Ring để tìm các vòng (Ring) tương ứng cho Face sẽ được vẽ.
Xác định StartEdge trong bảng Ring
Đi theo LeftEdge để tìm LeftFace và RightEdge để tìm RightFace. Ví dụ: vì Face 3 là LeftFace của Edge 12 nên ta đọc mẫu tin về LeftEdge đó tức Edge 11, Edge 11 dẫn ra Edge 10, 10 ® 9, 9 ® 8, 8 ® 7, 7 ® 6, 6 ® 5, và cuối cùng 5 ® 12.
Edge 12 chính là StartEdge, do đó ta hoàn tất một Face.
Hình 2.10 : Minh họa Winged-Edge
Hình 2.10 minh họa cho giải thuật Winged-Edge : từ dữ liệu đã đuợc mã hóa giải thuật Winged-Edge hiển thị bản đồ theo đúng định dạng VPF.