Giáo trình Hệ thống thông tin địa lý (GIS) - Chương 3: Cấu trúc dữ liệu thông tin địa lý
Cơ sở dữ liệucó thể xem nh-tập hợp các thông tin đ-ợc nhóm vào các files. Để
có thể truy cậo dữ liệu trong một hay nhiều files một các dẽ dàng
Tuỳ theo cách thức các files đ-ợc tổ chức nh-thế nào để phân loại cấu trúc dữ
liệu. Có 3 kiểu cấu trúc chính: Cấu trúc tầng bậc, cấu trúc mạng, cấu trúc quan
hệ.
- Cấu trúc tầng bậc:
Khi dữ liệu có mối quan hệ kiểu cha con hoặc một hay nhiều mối quan hệ đ-ợc
thiết lập giữa các files, ví dụ một loại đất trong gia đình các loại đất, một diểm
trong một vùng. Cấu trúc tầng bậc cho phép truy cập vào dữ liệu một cách nhanh
chóng và thuận tiện. Hệ thống tầng bậc của tổ chứcdữ liệu là hệ thống đ-ợc sử
dụng nhiều. Những dữ liệu ở mức thấp hơn thừa h-ởng tất cả các thuộc tính của
dữ liệu cấp cao hơn. Chẳng hạn nh-điểm thuộc về các cung, thuộc về các đa
giác. hệ thống tầng bậc có -u điểm dễ hiểu dễ cập nhật, dễ phát triển. Dữ liệu
đ-ợc truy cập chèn thêm các thộc tính dễ dàng, nh-ng nh-ợc điểm của hệ thống
này là khó khăn trong việc liên kết các thuộc tính. Một nh-ợc điểm nữa của hệ
thống cấu trúc dữ liệu tầng bậc là có một số l-ợng lớn chỉ mục files phải quản lý,
và một số giá trị thuộc tính có thể phải nhắc đi nhắc lại nhiều lần, làm cho dữ liệu
bị r-ờm rà, điều đó làm cho tăng phí tổn bộ nhớ.
dữ liệu. 5. Tổ chức cấu trúc cơ sở dữ liệu. Xây dựng cấu trúc của cơ sở dữ liệu địa lý cân nhắc việc hợp nhóm chủ đề, liên kết topo, và bộ phận đảm trách dữ liệu. 78 Hình 3.23: Các b−ớc tiến hành xây dựng cơ sở dữ liệu địa lý. 3.8. H−ớng dẫn sử dụng biểu đồ đối t−ợng theo ngôn ngữ mô hình hợp nhất UML. Ta có thể tiếp cận ArcInfo theo 2 cách: hoặc là sử dụng các ứng dụng nh− ArcMap và ArcCatalog, hay là phát triển xây phần mềm ứng dụng theo ý thích. Ng−ời xây dựng mô hình dữ liệu có 2 thế giới để lựa chọn: ta có thể sử dụng các ứng dụng cho hầu hết các công việc tạo ra các cơ sở dữ liệu địa lý, nh−ng đôi khi lại viết các mã phần mềm, đặ biệt nếu ta đang thử tạo ra những mô hình dữ liệu phong phú để hỗ trợ những ứng dụng mạnh mẽ. Có 2 khái niệm mô hình hoá dữ liệu quan trọng, cả 2 đ−ợc ứng dụng trong ArcInfo Application và trong những thành phần phần mềm ArcInfo, đ−ợc gọi là ArcObjects. Ví dụ, chủ đề của cấu trúc cơ sở dữ liệu địa lý, tập hợp dữ liệu đối t−ợng (feature datasets), lớp đối t−ợng (feature classes) tr−ớc hết thảo luận trong cảnh nhìn bao quát của ng−ời sử dụng trong ArcCatalog. Sau đó, cảnh nhìn bao quát của ng−ời lập trình đ−ợc tóm tắt trong sơ đồcủa cơ sở dữ liệu địa lý tiếp cận đối t−ợng. Hai cách nhìn nhận có sự giống nhau, nh−ng cũng có sự khác nhau chút ít.Giao diện ng−ời sử dụng đôi khi giấu đi những chi tiết về các thành phần phần mềm, mà những thành phần này lại quan trọng đối với ng−ời lập trình. 3.8.1. Đọc sơ đồ lớp (class diagrams). Đây là chìa khoá cho việc lập sơ đồ mô hình đối t−ợng. Ký hiệu này này dựa trên ký hiệu của ngôn ngữ mô hình hợp nhất UML, lập sơ đồ tiêu chuẩn công nghêu phân tích và thiết kế h−ớng đối t−ợng. Sơ đồ mô hình đối t−ợng là phần bổ sung quan trọng cho thông tin ta nhận đ−ợc trong các bảng đối t−ợng. Môi tr−ờng phát triển là Visual Basic hay các ngôn ngữ lập trình khác. Thống kê tất cả các lợp và thành phần, nh−ng không giải thích cấu trúc của các lớp này. Những sơ đổ này làm hoàn chỉnh nhận thức của ta về các thành phần của ArcInfo. Hình 3.24: Sơ đồ các lớp (class diagrams) 79 3.8.2. Các lớp và các đối t−ợng. Có 3 kiểu lớp đ−ợc trình bày trong lập sơ đồ theo UML − Những lớp trừu t−ợng (abstract classes), những lớp khả tạo (createable classes), Lớp thuyết minh (instantiable classes). Lớp trừu t−ợng (abstract classes) không thể dùng để tạo ra đối t−ợng mới đ−ợc, nh−ng nó đ−ợc đặc biệt dùng phân lớp. Ví dụ là “line” có thể là lớp trừu t−ợng cho “primary line” và “secondary line” Lớp khả tạo (createable class) trình bày đối t−ợng, ta có thể trực tiếp tạo ra đối t−ợng dùng cú pháp khai báo trong môi tr−ờng phát triển của mình. Visual Basic, khai báo có thể viết theo cú pháp Dim As New hay CreateObject(). Lớp thuyết minh (instantiable classes) không thể tạo trực tiếp ra đối t−ợng mới, nh−ng những đối t−ợng của lớp này có thể đ−ợc tạo ra nh− thuộc tính của những lớp khác hay đ−ợc tạo ra bởi những hàm số từ lớp khác. Trong trình duyệt đối t−ợng (object browser), Visual Basic ta có thể duyệt tất cả các lớp khả tạo và lớp thuyết minh của ArcInfo, trừ lớp trừu t−ợng. 3.8.3. Mối quan hệ. Giữa các lớp trừu t−ợng, khả tạo, thuyết minh có một vài kiểu của mối quan hệ Liên kết (asociation) biểu thị mối quan hệ giữa các lớp. Chúng đ−ợc xác định là vô số ở cả 2 đầu. Hình 3.25: Sơ đồ liên kết Trong hình 3.25, ở sơ đồ này ng−ời chủ (owner) có thể sở hữu một hay một vài thửa đất (land parcels), và một thửa đất có thể do một chủ hoặc nhiều chủ. Vô số (multiplicity) là sự ràng buộc ở số l−ợng đối t−ợng có thể đ−ợc liên kết với đối t−ợng khác. 1 −Một và chỉ một. Sự thể hiện multiplicity ở đây là sự lựa chọn. Nếu không có cái nào đ−ợc đ−a ra, “1” là mặc nhiên (implied). 0..1 − Không hay một. M..N − Từ M đến N (những số nguyên d−ơng). * hay 0..* − Từ không tới số nguyên d−ơng bất kỳ. 1..* − Từ 1 tới số nguyên d−ơng bất kỳ. 80 Kiểu thừa kế (type inheritance) định nghĩa những lớp chuyên dụng chia sẻ thuộc tính và ph−ơng thức với lớp superclass và có thêm vào các thuộc tính và ph−ơng thức. Trong sơ đồ hình 3.26 cho thấy primary line (lớp khả tạo) secondary line (lớp khả tạo là kiểu (types) của line (lớp trừu t−ợng) Thuyết minh (instatiation) định rõ một đối t−ợng ở một lớp có ph−ơng thức. ph−ơng thức này tạo ra một đối tợng từ một lớp khác. Hình 3.26: Kiểu kế thừa (type inheritance) Trong hình 3.27 đối t−ợng cột điện (pole) có ph−ơng thức tạo ra đối t−ợng máy biến áp (transformer). Hình 3.27: Thuyết minh (instatiation) Sự kết hợp (aggregation) là sự liên kết không đối xứng. Trong sự liên kết này một đối t−ợng ở lớp này đ−ợc coi là “toàn thể”, và các đối t−ợng của lớp khác đ−ợc coi là “bộ phận”. Hình 3.28: Sự kết hợp (aggregation) Trong hình 3.28 tổ hợp biến áp (transformer bank) có chính xác là 3 máy biến áp (transformers).Trong sơ đồ này transformers liên kết với transformer bank, nh−ng có khả năng khi rời tổ hợp đi chỗ khác thì máy biến áp vẫn tồn tại. Sự hợp thành (composition) là dạng kết hợp mạnh mẽ hơn trong đó các đối t−ợng trong lớp “toàn thể” kiểm soát thời gian sống của các đối t−ợng ở lớp “bộ phận”. Cột điện (pole) chứa đựng nhiều thanh tay ngang (crossarms). Một tay ngang không thể phục hồi khi Hình 3.29: Sự hợp thành (composition) 81 82 cột điện bị chuyển đi nơi khác. Đối t−ợng pole điều khiển thời gian sống của các đối t−ợng crossarms 3.8.4. Biểu diễn mô hình với sơ đồ chú giải. Nếu ta không quen với kiểu sơ đồ chú giải, sau khi thực hành đọc ví dụ trên và vận dụng vào ví dụ của mình, ta sẽ dần dần nhận ra giá trị của sự thể hiện này. Nó mô tả mô hình đối t−ợng một cách đơn giản, và là cách nhanh chóng và dễ dàng hiểu những modul của phần mềm ArcInfo. Hiểu đ−ợc hệ thống ký hiệu này, ta tạo ra đ−ợc những đối t−ợng bằng cách mở rộng dữ liệu của cơ sở dữ liệu tiếp cận đối t−ợng. Với ArcCatalog, ta có thể bắt đầu công việc trong môi tr−ờng (computer-aided software engineering - CASE) trợ giúp của máy tính để tạo ra những mô hình dữ liệu với giao diện trực quan. Giao diện này đ−ợc dựa trên sự vận dụng ký hiệu trong ULM. 3.9. Những xu h−ớng công nghệ. Hệ thống thông tin về địa lý phần cơ bản trong hệ thống quản trị cơ sở dữ liệu, đ−ợc nâng cao sự l−u trữ, ghi bảng mục và biểu diễn dữ liệu địa lý. ArcInfo 8 là sự phát hành ra một công nghệ GIS mới. ArcInfo 8 khai thác những ph−ơng h−ớng công nghệ quan trọng vừa mới hoàn thành, đ−a vào th−ơng mại hoá. Những khuynh h−ớng đó thực hiện một cách tổng hợp sự thành công của GIS nh− một cơ sở dữ liệu địa lý đầy khả năng. Sau đây là ph−ơng h−ớng chính tạo ra cơ cấu công nghệ của ArcInfo 8. 3.9.1. Dữ liệu địa lý và cơ sở dữ liệu. Khi mô hình dữ liệu kết hợp (coverage data model) lần đầu tiên áp dụng, nó đ−ợc dùng vào các thành phần không gian của dữ liệu địa lý. Dữ liệu chứa đựngcác files nhị phân với những định danh (identifiers) thống nhất theo hàng trong các bảng cơ sở dữ liệu quan hệ, những bảng này ghi những thuộc tính của đối t−ợng. Với đặcc tính và chức năng tiên tiến trong công nghệ cơ sở dữ liệu, ngày nay có thể l−u toàn bộ dữ liệu không gian trực tiếp ở bên trong cùng bảng cơ sở dữ liệu nh− những dữ liệu thuộc tính. Lợi ích của việc l−u dữ liệu không gian trực tiếp bên trong các cơ sở dữ liệu th−ơng mại là nâng cao hiệu quả sự quản trị dữ liệu, truy cập sử dụng dữ liệu, điều hành các dịch vụ, hoà hợp gần gũi với các cơ sở dữ liệu khác. Ngoài ra, những ng−ời sử dụng ArcInfo có thể lựa chọn bất ký cơ sở dữ liệu quan hệ nào khác để liên kết với cơ sở dữ liệu địa lý của họ. 83 3.9.2. Giao diện ng−ời sử dụng. Các ứng dụng đ−ợc phát triển cho Microsoft Windows đã xắp đặt một tiêu chuẩn mới để dễ sử dụng và ổn định. Ng−ời sử dụng đã quen thuộc với các thao tác với chuột, thực đơn, hộp thoại, và những điểm t−ơng tự. Những tiêu chuẩn giao diện ng−ời sử dụng đã tạo ra những ứng dụng mạnh để ng−ời không phải là chuyên gia tin học có thể tiếp cận có thể sử dụng. ArcInfo 8 ứng dụng hoàn hảo tiêu chuẩn Windows tạo giao diện và ng−ời sử dụng và giữ vai trò là một mốc mới trong việc tạo ra phần mềm GIS dễ sử dụng. 3.9.3. Cấu trúc phần mềm. Phần mềm hiện đại đ−ợc xây dựng trong các cấu trúc các thành phần của phần mềm, ví dụ, Microsoft Component Object Model (COM), the Common Object Request Broker Architecture (CORBA), Java Rempte Methode Invocation (RMI) ý t−ởng cấu trúc các thành phần lầ chia các thành phần chức năng phần mềm thành những phần riêng rẽ, những mảng độc lập, đ−ợc thử nghiệm và kết hợp lại thành những ch−ơng trình. Với cách thiết kế này, các phần có thể đ−ợc dùng để xây dựng những ứng dụng bất lỳ không cần có sự thay đổi nào. Lợi ích của cấu trúc thành phần là chất l−ợng, đặc tính phần mềm tốt hơn và khả năng cập nhật phiên bản mới không phải cài đặt lại phần mềm. ArcInfo 8 đ−ợc xây dựng trên cấu Microsoft COM, bởi vì cấu trúc này là một tổ chức các phần vững chắc, hoạt động tốt. 3.9.4. Môi tr−ờng lập trình. Môi tr−ờng lập trình visual nh− Visual Basic đã trở thành tiêu chuẩn trong phát triển ứng dụng. Lợi ích của việc ứng dụng những ngôn ngữ này là có kinh nghiệm của các nhà lập trình đi tr−ớc, với môi tr−ờng mạnh mẽ nhất. Không còn cần tới những ngôn ngữ macro sở hữu riêng (proprietary macro langguages). ArcInfo 8 sử dụng Visual Basic fo Applications (VBA) nh− một ngôn ngữ macro nhúng để ng−ời sử dụng tuỳ biến những ứng dụng của mình, ArcMap, ArcCatalog. Những ngôn ngữ COM khác nh− Visual C++ có thể đ−ợc dùng để mở rộng mô hình dữ liệu của cơ sở dữ liệu. 3.9.5. Tóm tắt những chiều h−ớng. Những chủ đề chung của các chiều h−ớng công nghệ này là tiêu chuẩn mở và khả năng liên ứng dụng. 84 Lợi ích của việc đi theo những chiều h−ớng này là tận dụng những −u việt của những công nghệ khác, điều đó đã làm cho ESRI tập hợp những nghiên cứu của mình vầ phát triển công nghệ GIS.
File đính kèm:
- Giáo trình Hệ thống thông tin địa lý (GIS) - Chương 3 Cấu trúc dữ liệu thông tin địa lý.pdf