Định dạng vpf (vector product format) cho dữ liệu bản đồ số

Đị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 :

doc13 trang | Chia sẻ: vietpd | Lượt xem: 1956 | Lượt tải: 1download
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.