Quản lý đất đai - Chương III: Cấu trúc dữ liệu thông tin địa lý

pdf 46 trang vanle 1580
Bạn đang xem 20 trang mẫu của tài liệu "Quản lý đất đai - Chương III: Cấu trúc dữ liệu thông tin địa lý", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfquan_ly_dat_dai_chuong_iii_cau_truc_du_lieu_thong_tin_dia_ly.pdf

Nội dung text: Quản lý đất đai - Chương III: Cấu trúc dữ liệu thông tin địa lý

  1. iCh−ơng III. cấu trúc dữ liệu thông tin địa lý. Dữ liệu địa lý gồm có dữ liệu không gian và dữ liệu thuộc tính. Mỗi phần mềm GIS có cách tổ chức xắp xếp dữ liệu riêng của mình. Khi sử dụng phần mềm nào để thực hiện công việc, ta phải tìm hiểu cách tổ chức dữ liệu do phần mềm đó tạo ra trong máy tính nh− thế nào để tiện sử dụng. Cuốn sách này trình bày vấn đề chung nhất trong việc tổ chức dữ liệu thông tin địa lý và sau đó điểm qua cách tổ chức của ArcInfo và MapInfo. 3.1. Cấu trúc chung của cơ sở dữ liệu thông tin địa lý. 3.1.1. Các kiểu cơ sở dữ liệu kinh điển. Cơ sở dữ liệu có 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ức dữ 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ớ. - Cấu trúc kiểu mạng: Trong hệ thống tầng bậc, đi qua cơ sở dữ liệu bị hạn chế bởi các đ−ờng đi lên đi xuống. Trong nhiều tr−ờng hợp, đòi hỏi sự liên kết lại. Đặc biệt trong cấu trúc dữ liệu của các đối t−ợng hình học, ở đó các cạnh, các bộ phận hình học trong bản đồ cần phải liên kết với nhau. Thực tế thì dữ liệu về toạ độ của các điểm có thể 52
  2. đ−ợc viết ở những phần khác nhau của cơ sở dữ liệu. Hệ thống mạng làm thoả mãn các yêu cầu liên kết đó. Trong hình 3.1 là hình ảnh của một bản đồ đơn giản gồm có 2 đa giác. Hình 3.1 (a) là cho thấy bản đồ theo hình ảnh xuất hiện trong bộ não của con ng−ời: đó là 2 đa giác đ−ợc xác định bởi một tập hợp các đ−ờng một trong các đ−ờng ấy đ−ợc dùng chung cho cả hai đa giác. Còn các đ−ờng lại đ−ợc định nghĩa bởi các cặp điểm có toạ độ, mỗi cặp điểm toạ độ lại đ−ợc dùng cho hai đ−ờng. Rõ ràng là cấu trúc dữ liệu kiểu tầng bậc cho bản đồ đó sẽ dẫn tới kết Hình 3.1. Cấu trúc dữ liệu quan hệ cho đa quả là biểu diễn vụng về và rất giác đơn giản, (a) Bản đồ M, (b) 2 đa giác thừa d− (hình 3.1 (b,e)). Mỗi cặp thành phần, (c) Network liên kết các đa giác toạ độ phải đ−ợc nhắc lại hai lần đ−ờng và điểm, (d) cấu trúc mạng vòng chỉ và toạ độ điểm 3, 4 phải nhắc điểm của M, (e) cấu trúc dữ liệu tầng bậc của M lại4 lần bởi vì cạnh c bị nhắc lại 2 lần. Cấu trúc tầng bậc không những lãng phí không gian, do r−ờm rà, mà còn nếu khi thao tác làm cho 2 đa giác I và II cùng tên, không dễ dàng loại bỏ việc biểu diễn cạnh c khi nó trở nên không cần thiết nữa. Những vấn đề vừa nêu sẽ tránh đ−ợc bằng cách liên kết theo cấu trúc mạng đ−ợc thể hiện ở hình 3.1 (c), ở đó mỗi cạnh và mỗi điểm chỉ xuất hiện một lần duy nhất. Với cấu trúc mạng huỷ bỏ việc in cạnh c khi 2 đa giác đ−ợc mạng cùng tên, dễ dàng tạo ra bản đồ mới. Khi thể hiện những đối t−ợng hình học, ng−ời ta rất hay sử dụng mạng vòng cấu trúc chỉ điểm. Mạng vòng cấu trúc chỉ điểm hình 3.1 (d) là ph−ơng pháp rât có ích đối với cấu trúc hình học. Hệ thống mạng cũng rất có lợi đối với liên hệ hoặc liên kết, nó tránh đ−ợc sự trùng lặp và dễ dàng cho việc cung cấp dữ liệu. Nh−ợc điểm của cấu trúc mạng là cơ sở dữ liệu bị mở rộng do sự tăng lên của các chỉ điểm , trong hệ thống phức tạp trở thành bộ phận lớn trong cơ sở dữ liệu. 53
  3. Những chỉ điểm này phải sửa chữa, cập nhật mỗi khi thay đổi, điều đó có thể làm cho trở nên chi phí của cơ sở dữ liệu lớn đáng kể. - Cấu trúc dữ liệu quan hệ: Cấu trúc kiểu quan hệ là cách tổ chức l−u giữ dữ liệu đơn giản nhất, không có chỉ điểm cũng không có tầng bậc. Thay vào đó, dữ liệu đ−ợc cất giữ trong các bảng ghi đơn giản đ−ợc hiểu là các tuples. Các bảng này chứa đựng tập hợp có trật tự các giá trị thuộc tính, chúng đ−ợc nhóm lại với nhau trong những bảng hai chiều, đ−ợc coi là những quan hệ. Mỗi một bảng th−ờng hay quan hệ th−ờng là một file riêng biệt. Hình 3.2 biểu thị mối quan hệ trong bản đồ M gồm hai đa giác I và II Dữ liệu đ−ợc rút ra từ cơ sở dữ liệu quan hệ thông qua thủ tục, ở đó ng−ời sử dụng có thể định rõ mối quan hệ thích hợp cho vấn tin (query) của mình. Quan hệ đó không nhất thiết đã đ−ợc biểu diễn trong file hiện có mà ch−ơng trình điều khiển sử dụng ph−ơng pháp quan hệ đại số xây dựng những bảng mới. Cơ sở dữ liệu quan hệ có một −u điểm rất lớn, cấu trúc của nó rất linh hoạt và nó thoả mãn đ−ợc yêu cầu của mọi vấn tin, có thể lập công thức sử dụng quy tắc logic và phép toán toán học. Nó cho phép nhiều loại dữ liệu khác nhau có thể tìm kiếm, kết hợp và so sánh. Việc ghép thêm hoặc loại bỏ dữ liệu thực hiện dẽ dàng do chỉ là thêm vào hay loại bỏ đi Hình 3.2. Cấu trúc dữ liệu quan hệ cho bản các tuples. Nh−ợc điểm của cơ sở đồ M dữ liệu quan hệ là nhiều thao tác tìm kiếm trên file để tìm đ−ợc dữ liệu cần thiết thoả mãn mối quan hệ, điều đó chiếm thời gian đáng kể khi cơ sở dữ liệu lớn, ngay cả đối với máy tính mạnh. Do vậy, những hệ thống cơ sở dữ liệu quan hệ th−ơng mại phải đ−ợc thiết kế một cách khôn khéo để hỗ trợ khả năng tìm kiếm với tốc độ hợp lý, chính vì vậy mà nó th−ờng đắt tiền. 54
  4. 3.1.2. Cách tiếp cận lớp (layer) của biểu diễn dữ liệu không gian. Trong rất nhiều cơ sở dữ liệu địa lý, thế giới thực đ−ợc mô hình hoá theo dạng của các layer riêng biệt, mỗi layer biểu diên một chủ đề riêng biệt (Ví dụ nh− layer sông, suói, layer đất, layer thực vật, layer công trình). Khái niệm layer đ−ợc áp dụng rộng rãi trong việc xây dựng bản đồ và là chỗ dựavững chắc cho cấu trúc cơ sở dữ liệu quan hệ. Layer đ−ợc nhiều công nghệ phần mềm GIS lựa chọn, trong đó nổi tiếng nhất là Viện nghiên cứu hệ thống môi tr−ờng (Environmental System Reseach Institute, Inc, (ESRI)). 3.1.3. Cách tiếp cận h−óng đối t−ợng. Thế gới thực đ−ợc mô hình hoá nh− một tập hợp của các đối t−ợng đ−ợc nhóm lại với nhau trong các lớp (classes) và có các loại khác nhau của các mối quan hệ giữa chúng. Cần phải phân biết lớp (layer) với thuật ngữ lớp (class). Tổ chức cơ sở dữ liệu hoà trộn các nguyên tắc của cả mô hình tầng bậc và mô hình mạng. Mọi đối t−ợngtrong cùng một class chia sẻ một tập hợp các thuộc tính, đó là đặc tính và phwơng thức. Điều đó có thể nói hoạt động đ−ợc áp dụng cho các đối t−ợng và nó là đặc tính của class. Thuộc tính bao phủ một phạm vi rộng lớn, bao gồm không những định l−ợng thông th−ờng thuộc tính định l−ợng (quantitative attributes), mà còn chữ, đồ thị, hình ảnh, âm thanh (text, chars, image, sounds) Các lớp thừa h−ởng thuộc tính và ph−ơng thức (method) của lớp cao hơn. Ví dụ nh− một lớp mang tên "Building" sẽ thừa h−ởng từ lớp "Polygon" những thuộc tính (bề mặt (surface), chu vi (perimer)), thừa h−ởng ph−ơng thức (kiểm tra đ−ờng chu vi có khep kín , tính toán diện tích của chúng). Mô hình này đ−ợc phát triển đầu tiên để trợ giúp thu dữ liệu trong quá trình trắc quang và nó đ−ợc một số công ty phần mềm lựa chọn, nổi tiếng nhất là Wild (nay đ−ợc Prime phát triển). Mô hình h−ớng đối t−ợng là lý thuyết có thể điều khiển đ−ợc các đối t−ợng phức tạp hơn mô hình quan hệ thực hiện và nó đáp ứng yêu cầu thực hiện trí tuệ nhân tạo. Tuy vậy nó còn cứng nhắc và ít linh hoạt so với mô hình quan hệ), khả năng phân tích còn nghèo, nó làm cho việc nhiệm vụ quản trị dữ liệu khó khăn. 3.2. Tiến trình của các kiểu dữ liệu địa lý. Mô hình dữ liệu địa lý là một kiểu trừu t−ợng hoá thế giới thực, nó sử dụng một tập hợp dữ liệu của đối t−ợng, hỗ trợ trình bày bản đồ, vấn tin, chỉnh sửa và phân tích. Trong các phần mềm GIS, ArcInfo 8 đ−a ra mô hình dữ liệu h−ớng đối t−ợng mới. Nó có khả năng biểu diễn những luật lệ của tự nhiên và mối quan hệ giữa các đối t−ợng địa lý. Để hiểu đ−ợc tác động của mô hình mới này, ta nhìn lại 3 thế hệ của mô hình dữ liệu địa lý. 55
  5. 3.2.1. Mô hình dữ liệu CAD (The CAD Data Model). Hệ thống vẽ bản đồ dạng vector sớm nhất bằng máy tính bằng các đ−ờng biểu diễn trên ống tia điện tử của màn hình máy tính và bản đồ raster. Vào những năm 60 và 70 của thế kỷ XX, với phần cứng máy tính và phần mềm xây dựng bản đồ tinh xảo đã cho những bản đồ với mức độ trung thực cao. Kỷ nguyên đó, bản đồ th−ờng đ−ợc tạo ra bởi phần mềm đa năng của CAD (computer-aid design). Mô hình dữ liệu CAD l−u dữ liệu địa lý trong file dạng nhị phân bằng cách biều diễn điểm , đ−ờng và diện tích. Một l−ợng thông tin ít ỏi về thuộc tính đ−ợc giữ trong những files này; Các lớp (layer) bản đồ và nhãn chú giải là biểu diễn ban đầu của thuộc tính. 3.2.2. Mô hình dữ liệu kết hợp (The Coverage Data Model). Năm 1981 ESRI giới thiệu phần mềm GIS th−ơng phẩm đầu tiên của họ - ArcInfo, đó là công cụ thứ hai tạo ra mô hình dữ liệu địa lý. Mô hình dữ liệu kết hợp còn đ−ợc coi là mô hình dữ liệu quan hệ. Mô hình này có 2 khía cạnh căn bản: Hình 3.3. Mô hình dữ liệu kết hợp • Dữ liệu không gian đ−ợc kết hợp với dữ liệu thuộc tính. Dữ liệu không gian đ−ợc cất trong file nhị phân chỉ mục, nó là cách tối −u để trình diễn và truy cập dữ liệu. Dữ liệu thuộc tính đ−ợc cất trong các bảng với số hàng t−ơng ứng với số đối t−ợng trên bảng nhị phân và nối bởi căn c−ớc chung. • Quan hệ hình học giữa các đối t−ợng vector đ−ợc l−u giữ. Điều đó có nghĩa là hồ sơ dữ liệu không gian của đ−ờng bao gồm thông tin về các nút xác định nên đ−ờng đó, đ−ờng đ−ợc nối từ các nút đó. Hồ sơ còn bao gồm thông tin về những đa giác nào ở bên phải và bên trái. Ưu điểm của mô hình dữ liệu kết hợp. Ng−ời sử dụng có thể tuỳ biến đ−ợc bảng đối t−ợng không những về tr−ờng mà cả cơ sở dữ liệu liên kết có thể đặt cho bảng dữ liệu bên ngoài. Bởi vì hạn chế của phần cứng máy tính và phần mềm tin học hiện tại, không thể thực hiện cất dữ liệu không gian trực tiếp trong cơ sở dữ liệu quan hệ. Hơn nữa, mô hình dữ liệu kết hợp kết hợp dữ liệu không gian trong những files liệt kê nhị phân với dữ liệu thuộc tính trong các bảng. Mặc dù có sự khác biệt giữa dữ liệu không gian và dữ liệu thuộc tính, sự kết hợp của hai loại dữ liệu này đã mang lại cho mô hình dữ liệu kết hợp trở thành mô 56
  6. hình dữ liệu có −u thế trongGIS. Điều đó giải thích lý do mô hình dữ liệu kết hợp tạo ra tính năng cao cho GIS, l−u giữ dữ liệu hình học một cách dễ dàng, nâng cao khả năng phân tích địa lý, tăng c−ờng độ chính xác của dữ liệu. Hạn chế của mô hình dữ liệu kết hợp. Tuy nhiên mô hình dữ liệu kết hợp có một điều bất cập cơ bản đó là các đối t−ợng đ−ợc kết hợp trong những tập hợp đồng nhất của điểm, đ−ờng và đa giác với cùng loài ứng xử (behavior). Thực tế, cũng là đ−ờng (line) biểu diễn một con đ−ờng sẽ phải có ứng xử khác line biểu diễn một con suối. ứng xử theo loài đ−ợc hỗ trợ bởi mô hình dữ liệu kết hợp bắt buộc tuân theo tính bảo toàn hình học của tập dữ liệu. Ví dụ nếu ta thêm một đ−ờng (line) cắt qua một đa giác (polygon), nó tự động chia thành 2 polygons. Tuy nhiên mong muốn cần hỗ trợ ứng xử đặc biệt đối với s−ối, đ−ờng và những đối t−ợng của thế giới thực. Ví dụ khi dòng suối chảy từ trên đồi xuống, hay khi 2 con suối hợp thành 1, dòng chảy của con suối hợp lại là sự hợp dòng của 2 dòng chảy. Ví dụ khác là khi 2 con đ−ờng cắt nhau, dòng giao thông nơi giao cắt phải là nối với nhau trừ khi giao v−ợt hoặc giao chui. Tuỳ biến đối t−ợng trong mô hình kết hợp. Với mô hình dữ liệu kết hợp, phần mềm ArcInfo có một số thành công đ−ợc ghi nhận trong việc thêm dạng ứng xử cho đối t−ợng thông qua vĩ mã (marco code) đ−ợc viết trong ARC Marco Language (AML TM). Nhiều thành công, tỷ lệ lớn (large-scale), đặc tính công nghiệp (industry-specific) cũng đ−ợc thiết lập. Tuy nhiên, ứng dụng trở nên phức tạp hơn, nó trở nên hiển nhiên rằng một cách tốt hơn kết hợp ứng xử với đối t−ợng cần phải có. Vấn đề là việc phát triển có nhiệm vụ giữ mã ứng dụng đồng bộ với lớp đối t−ợng (feature class) là nhiệm vụ không dễ dàng. Thời điểm cho ra đời một mô hình dữ liệu địa lý mới với hạ tầng kết hợp chặt chẽ ứng xử với đối t−ợng. 3.2.3. Mô hình dữ liệu cơ sở dữ liệu địa lý (The Geodatabase Data Model). ArcInfo 8 đ−a vào mô hình dữ liệu mới - mô hình dữ liệu h−ớng đối t−ợng và đặt tên là: Mô hình dữ liệu cơ sở dữ liệu địa lý (The Geodatabase Data Model). Yêu cầu định rõ của mô hình này là cho phép ng−ời sử dụng tạo ra những đối t−ợng (features) trong tập hợp dữ liệu GIS, kết hợp mau lẹ với ứng xử tự nhiên, và cho phép mọi loại quan hệ có thể đ−ợc kết hợp với đối t−ợng. Mô hình dữ liệu cơ sở dữ liệu địa lý mang mô hình dữ liệu vật thể gắn bó với mô hình dữ liệu logic. Dữ liệu đối t−ợng trong cơ sở dữ liệu địa lý hầu nh− là giống 57
  7. nh− những đối t−ợng ta xác định trong mô hình dữ liệu logic, nh− chủ sở hữu, công trình, thửa đất và đ−ờng xá. Hơn thế nữa, mô hình dữ liệu cơ sở dữ liệu địa lý cho phép ta thực hiện phần lớn ứng xử theo ý muốn, không cần phải viết bất kỳ một mã (code) nào. Phần lớn những ứng xử đ−ợc thực hiện thông qua domain (Lĩnh vực), validation rule (luật lệ hợp lý) và những chức năng khác của cơ cấu (fraimework) đ−ợc cung cấp trong ArcInfo. Việc viết mã phần mềm chỉ cần thiết đối với các ứng xử đặc biệt của đối t−ợng. 3.2.4. Kịch bản của những ảnh h−ởng lẫn nhau của đối t−ợng (Scenario of Object interactions). Để hiểu đ−ợc ý nghĩa vì sao mô hình dữ liệu h−ớng đối t−ợng lại quan trọng, hãy theo rõi kịch bản sau đây minh hoạ những nhiệm vụ chung ta phải thực hiện với đối t−ợng. Từ những kịch bản này, ta có thể chọn lọc ra những lợi ích của mô hình dữ liệu h−ớng đối t−ợng và sau đó xem xét một vài đặc tính đặc biệt của mô hình dữ liệu cơ sở dữ liệu địa lý. Thêm và chỉnh sửa đối t−ợng. Khi ta thêm vào cơ sở dữ liệu GIS một đối t−ợng địa lý, ta muốn chắc chắn rằng đối t−ợng đ−ợc đặt đúng theo luật lệ nh− sau: • Những giá trị ta đã ấn định cho thuộc tính phải rơi vào những giá trị cho phép. Một thửa đất chỉ có thể có những mục đích sử dụng xác định nh− đất ở, nông nghiệp hay công nghiệp (hình 3.4). • Đối t−ợng có thể đ−ơc đặt kề sát ngay Hình 3.4. Mục đích sử dụng đất bên hay nối tiếp với đối t−ợng khác, chỉ khi nào những sự ràng buộc đ−ợc đặt ra. Đặt quán r−ợu gần tr−ờng học không đ−ợc luật pháp cho phép. Đ−ờng phố không đ−ợc nối trực tiếp vào đ−ờng cao tốc mầ không có đ−ờng chuyển tiếp Hình 3.5. Luật lệ ràng buộc (hình 3.5). • Tập hợp của một số đối t−ợng tuân theo sự xếp đặt tự nhiên của chúng. Con suối luôn luôn chảy từ trên cao xuống. Dòng chảy của đoạn hợp dòng phải bằng tổng của dòng chảy các đoạn phía trên (hình Hình 3.6. Sự xếp đặt tự nhiên 3.6). 58
  8. • Hình dạng hình học của các đối t−ợng tuân theo sự xếp đặt logic. Tiếp tuyến và đ−ờng cong nằm của đ−ờng phải tiếp xúc với nhau. Góc của các công trình Hình 3.7. Sự xếp đặt hợp logic kiến trúc th−ờng là góc vuông (hình 3.7). Mối quan hệ giữa các đối t−ợng. Mọi đối t−ợng trên thế giới bị ràng buộc trong mối quan hệ với các đối t−ợng khác. Trong GIS các mối quan hệ đó có thể coi nh− thuộc 3 loại chính: quan hệ hình học topo, quan hệ không gian, quan hệ thông th−ờng. Sau đây là một số ví dụ của mỗi dạng quan hệ đó: • Khi ta sử chữa (edit) các đối t−ợng trên hệ thống sử dụng điện, ta muốn tin chắc rằng điểm kết thúc của tuyến thứ nhất và tuyến thứ 2 nối với nhau chính xác, và nh− vậy ta có có thể thực hiện dựa theo phân tích Hình 3.8. Quan hệ hình học mạng l−ới điện. Tập hợp của quan hệ hình học topo đ−ợc xác định cho ta khi ta nạp hoặc chỉnh sửa đối t−ợng. • Khi ta làm việc với bản đồ có các công trình, khối nhà, khu tr−ờng học, ta có thể muốn xác định khối nào chứa công trình, một tập hợp của các công trình chứa bên trong khu tr−ờng học và khối nào không Hình 3.9. Quan hệ không gian chứa công trình. Chức năng cơ bản của GIS là xác định liệu có đối t−ợng nào chứa bên trong, đụng chạm, nằm ngoài, hoặc chồng lên đối t−ợng khác. Quan hệ không gian đ−a ra kết luận về hình học của các đối t−ợng. • Một số đối t−ợng có mối quan hệ không đ−ợc thể hiện trên bản đồ. Thửa đất có mối quan hệ với chủ sở hữu, mà chủ sở hữu lại không là một đối t−ợng trên bản đồ. Thông th−ờng, mối quan hệ nối thửa đất với Hình 3.10. Quan hệ thông th−ờng chủ sở hữu. Một số đối t−ợng trên bản đồ có mối quan hệ, nh−ng mối quan hệ không gian không rõ ràng. Đồng hồ đo điện sử dụng (công tơ điện) thông th−ờng có mối liên hệ với trạm biến áp điện, nh−ng nó không đụng chạm tới trạm biến áp. Công tơ 59
  9. điện và trạm biến áp không có mối liên hệ xác thực về mặt không gian, nh−ng mối quan hệ thông th−ờng gắn bó hai đối t−ợng với nhau. Trình bày trên bản đồ. Phần lớn thời gian, ta vẽ các đối t−ợng trên bản đồ với các biểu t−ợng, nh−ng đôi khi ta muốn kiểm tra xem các đối t−ợng đ−ợc vẽ nh− thế nào. D−ới đây là một số ứng xử (behaviors) đặc biệt của hình vẽ: • Khi trình bày một đ−ờng đồng mức, ta muốn chú giải độ cao dọc theo đ−ờng với độ chênh cao giữa các đ−ờng xác định và số chú giải không che khuất các Hình 3.11. Đ−ờng đồng mức đối t−ợng khác. • Khi vẽ những con đ−ờng trên bản đồ chi tiết, ta muốn đ−ờng đ−ợc vẽ ra có biên luôn song song khi tới các nút giao thông (hình 3.12). Hình 3.12. Đ−ờng song song • Khi một số dây điện khác nhau đ−ợc căng trên cùng một cột điện, ta muốn mô tả chúng đ−ợc căng song song với nhau với một khoảng dãn cách nhất định (hình 3.13) Hình 3.13. Các đ−ờng dây điện Phân tích sự ảnh h−ởng lẫn nhau. Bản đồ động gây hứng thú cho ng−ời sử dụng giao tiếp với đối t−ợng, tìm thuộc tính và các mối quan hệ, và thực Hình 3.14. Kích hoạt form thuộc tính hiện phân tích. Sau đây là một vài ví dụ về những nhiệm vụ phân tích ta có thể muốn thực hiện trên việc lựa chọn đối t−ợng: • Giao tiếp với đối t−ợng trên bản đồ làm kích hoạt form để vấn tin và Hình 3.15. Lựa chọn một phần của mạng l−ới điện update thuộc tính của nó (hình 3.14). 60
  10. • Lựa chọn một phần của mạng l−ới điện ở đó đang có kế hoạch duy tu, tìm kiếm những hộ dùng điện nối với phần mạng l−ới này và tạo danh sách hòm th− thông báo tới khách hàng sử dụng điện (hình 3,15). 3.2.5. ích lợi của mô hình dữ liệu cơ sở dữ liệu địa lý. Xuyên suốt mô hình dữ liệu này là sự ích lợi của việc áp dụng mô hình dữ liệu h−ớng đối t−ợng. Mô hình dữ liệu h−ớng đối t−ợng cho phép ta mô tả đặc điểm đối t−ợng một cách tự nhiên hơn, tính chất, kiểu của đối t−ợng, bằng cách xác định hình học, không gian, và các quan hệ chung, và bằng cách nắm bắt quan hệ t−ơng tác của đối t−ợng này với các đối t−ợng khác. Một số lợi ích của mô hình dữ liệu cơ sở dữ liệu địa lý nh− sau: • Thống nhất hoá kho chứa dữ liệu: Mọi dữ liệu địa lý có thể cất giữ tập trung dữ liệu trong một cơ sở dữ liệu. • Dữ liệu đ−ợc tiếp nhận và sửa chữa chính xác hơn: Có ít lỗi vì đa số các lỗi đã đ−ợc phòng ngừa tr−ớc, nhờ có luật lệ cách ứng xử của đối t−ợng. Đối với nhiều ng−ời, đây là lý do hấp dẫn ng−ời ta lựa chọn mô hình dữ liệu này. • Ng−ời sử dụng làm việc với dữ liệu đối t−ợng trực giác: Đ−ợc thiết kế đúng, cơ sở dữ liệu bao gồm dữ liệu đối t−ợng t−ơng thích với mô hình dữ liệu của ng−ời sử dụng. Thay vì phải làm việc với điểm, đ−ờng, và diện tích, ng−ời ta sẽ làm việc với các đối t−ợng nh− trạm biến áp, con đ−ờng, và hồ n−ớc. • Đối t−ợng có phạm vi phong phú hơn: Với liên kết hình học, biểu diễn không gian, và mối quan hệ tổng thể, ta không những xác định đ−ợc tính chất mà còn xác định đ−ợc các tình huống quan hệ đối với các đối t−ợng khác. Điều đó cho phép ta chỉ rõ điều gì xảy ra với đối t−ợng khi đối t−ợng có quan hệ di chuyển, thay đổi, hoặc bị xoá đi. Các tình huống này cũng cho phép ta xác định vị trí và kiểm tra đối t−ợng trong mối quan hệ với các đối t−ợng khác. • Tạo ra đ−ợc các bản đồ tốt hơn: Nhiều kiểm tra xem đối t−ợng đã đ−ợc vẽ nh− thế nào, và ta có thể thêm vào những ứng xử cho đối t−ợng những ứng xử thông minh. Có thể sử dụng những ph−ơng pháp giả định trực tiếp trên bản đồ ArcInfo, ArcMap. Coó thể chuyển hoá ph−ơng pháp vẽbằng cách viết mã phần mềm. • Biểu diễn động các đối t−ợng trên bản đồ: Khi ta làm việc với các đối t−ợng trên MapInfo, chúng có thể tuân theo sự thay đổi của các đối t−ợng bên cạnh. Ta cũng có thể liên kết những vấn tin hay công cụ phân tích với đối t−ợng. 61
  11. • Dạng của đối t−ợng đ−ợc xác định tốt hơn: Mô hình dữ liệu cơ sở dữ liệu địa lý cho phép ta xác định hình dạng của đối t−ợng bằng các đ−ờng thẳng, đ−ờng cong tròn, đ−ờng cong elip và đ−ờng splines • Các tập hợp đôi t−ợng liên tục: Do đ−ợc thiết kế tr−ớc, cơ sở dữ liệu địa lý có thể xếp đặt nhiều tập hợp đối t−ợng rất rộng lớn mà không cần phân chia không gian. • Nhiều ng−ời sử dụng có thể chỉnh sửa đối t−ợng cùng một lúc: Mô hình dữ liệu cơ sở dữ liệu địa lý cho phép luồng làm việc cho nhiều ng−ời có thể chỉnh sửa đối t−ợng trong vùng sau đó làm cho hoà hợp tất cả các xung đột có thể xảy ra. Chắc chắn ràng chúng ta có thể thực hiện đ−ợc một số ích lợi nh− trên mà không cần tới mô hình dữ liệu h−ớng đối t−ợng, nh−ng chúng ta sẽ có những điểm bất lợi phải viết thêm mã dài dòng gắn với đối t−ợng phức tạp và dễ mắc lỗi. Ưu điểm chủ yếu của mô hình dữ liệu cơ sở dữ liệu địa lý là nó bao gồm một khung làm với khả năng dễ dàng tạocác đối t−ợng thông minh bắt ch−ớc những c− sử của các đối t−ợng của thế giới thực. 3.3. Cơ sở dữ liệu địa lý, l−u giữ dữ liệu địa lý. Một cơ sở dữ liệu địa lý có thể bao gồm 4 dạng dữ liệu: • Dữ liệu vector dùng để biểu diễn các đối t−ợng • Dữ liệu raster dùng để biểu diễn hình ảnh, dữ liệu chuyên đề l−ới, và bề mặt • Dữ liệu l−ới tam giác không đều (Tins) dừng để thể hiện bề mặt. • Địa chỉ và vị trí để tìm vị trí địa lý Cơ sở dữ liệu địa lý l−u giữ 4 loại dữ liệu này trong cơ sở dữ liệu quan hệ th−ơng mại. Điều đó có nghĩa là dữ liệu địa lý có thể đ−ợc quản trỉ trung tâm bởi công nghệ thông tin chuyên nghiệp và ArInfo có −u thế phát triển trong công nghệ cơ sở dữ liệu. 3.3.1. Biểu diễn các đối t−ợng bằng dữ liệu vector. Rất nhiều đối t−ợng trên mặt đát có hình dạng có thể xác định rõ ràng. Dữ liệu vector biểu diễn các hình dạng của đối t−ợng một cách chính xác, chắc chắn, tập hợp có trật tự các toạ độ, liên kết với các thuộc tính. Cách biểu diễn này hỗ trợ những thao tác địa lý nh− tính toán chiều dài và diện tích, xác định vùng che phủ vàgiao cắt, tìm kiếm các đối t−ợng kề liền hoặc gần gũi. Dữ liệu vevtor có thể phân loại theo kích th−ớc: 62
  12. • Điểm (point) không có kích th−ớc, biểu diễn các đối t−ợng quá nhỏ bé không thể mô tả bằng đ−ờng hau một diện tích đ−ợc. Điểm đ−ợc l−u trữ với một cặp toạ độ đơn X,Y với thuộc tính. • Đ−ờng (line) có một kích th−ớc nó biểu diễn các đối t−ợng địa lý quá hẹp không thể mô tả nh− một diện tích đ−ợc. Đ−ờng đ−ợc l−u giữ nh− một loạt các toạ độ có trật tự X,Y và thuộc tính. Phân đoạn của đ−ờng có thể là đoạn thẳng, cung tròn, cung elip, hoặc spline. • Đa giác có hai kích th−ớc, nó biểu diễn các đối t−ợng địa lý rộng đ−ợc l−u giữ nh− một loạt các phân đoạn khép kín và diện tích. Các phân đoạn này tạo nên tập hợp của những diện tích khép kín. Một dạng khác của dữ liệu vector là chú giải, nhãn mô tả liên kết với đối t−ợng để trình bày tên và thuộc tính. Dữ liệu vector trong một cơ sở dữ liệu có cấu trúc trực tiếp l−u giữ với đối t−ợng bởi kích th−ớc và quan hệ. Một tập hợp dữ liệu đối t−ợng (a feature dataset) là một container chứa các thực thể không gian (features), các thực thể phi không gian (objects) và các quan hệ giữa chúng. Sự liên kết topo biểu diễn bằng mạng hình học và sơ đồ topo. Cơ sở dữ liệu địa lý cũng l−u giữ những luật lệ hợp lệ (validation rules) và lĩnh vực (domains) đảm bảo chắc chắn rằng khi đối t−ợng đ−ợc tạo ra hay cập nhật, thuộc tính của chúng vẫn hợp lệ trong khung cảnh của sự liên hệ với các thực thể không gian và phi không gian. 3.3.2. Biểu diễn dữ liệu l−ới ô vuông bằng raster. Rất nhiều dữ liệu thu thập đ−ợc trong cơ sở dữ liệu địa lý có dạng l−ới. Sở dỹ nh− vậy các cameras và hệ thống thu dữ liệu ảnh theo dạng pixell với giá trị kích th−ớc l−ới 2 chiều hay raster. Một cell là bộ phận phần tử ảnh pixel của raster và giá trị của nó có thể mô tả dữ liệu khác nhau. Một cell có thể l−u giữ sự phản chiếu của ánh sáng quang phổ, giá trị màu sắc của bức ảnh, thuộc tính chuyên đề nh− dạng thực vật, giá trị bề mặt hay độ cao. 3.3.3. Biểu diễn bề mặt bằng tam giác không đều Tins. Mạng l−ới tam giác không đều TIN là một mô hình của bề mặt. Cơ sở dữ liệu địa lý l−u giữ TINs nh− một tập hợp các nút với độ cao và các tam giác với các cạnh. Giá trị độ cao Z có thể nội suy cho bất kỳ điểm nào. TINs có thể phân tích bề mặt ví dụ nh− xác định l−u vực, vùng nhìn thấy đ−ợc từ một điểm quan sát, phân tích 63
  13. bề mặt đối t−ợng nh− điểm cao, tụ thuỷ, phân thuỷ. TINs cũng có thể mô tả địa hình của khu đất. Ghi chú: ở phiên bản đầu của ArcInfo 8, cơ sở dữ liệu địa lý ch−a l−u giữ TINs hay raster. Tạm thời, TINs có thể đ−ợc l−u trong workspaces và raster trong th− mục (folder) hay workspaces. 3.3.4. Tìm kiếm địa chỉ với locators. Có thể là nhiều tr−ờng hợp nhiệm vụ là tìm kiếm địa chỉ. Cơ sở dữ liệu địa lý có thể l−u giữ địa chỉ và vị trí. Cơ sở dữ liệu địa lý còn l−u ranh giới (locator) chứa đựng thông tin cho phép tạo ra đối t−ợng cho những vị trí. 64
  14. Hình 3.16: Bên trong một cơ sở dữ liệu địa lý. 65
  15. 3.4. Đối t−ợng (feature) trong mô hình dữ liệu h−ớng đối t−ợng. ArcInfo 8 đ−ợc phân biệt với các phiên bản tr−ớc nó chính nhờ việc áp dụng mô hình dữ liệu h−ớng đối t−ợng. Sự phát triển với các đối t−ợng liên quan với nhau trong một khuôn khổ làm việc (framework) của các lớp phần mềm h−ớng đối t−ợng đ−ợc gọi là (geodatabase data access object) - Cơ sở dữ liệu địa lý tiếp cận đối t−ợng. Có 3 tiêu chuẩn chính của h−ớng đối t−ợng là: đa hình, gói gọn, và kế thừa: • Tính đa hình có nghĩa là sự ứng xử (hay ph−ơng thức) của một lớp đối t−ợng (object class) có thể làm thích ứng với sự biến đổi của các đối t−ợng khác. Ví dụ cốt lõi ứng xử của đối t−ợng, nh− là các thao tác vẽ, thêm vào, xoá đối t−ợng, giống nh− đối t−ợng trong cơ sở dữ liệu địa lý. • Tính gói gọn có nghĩa là đối t−ợng đ−ợc truy cập chỉ thông qua tập hợp xác định rõ, tổ chức thành giao diện. "Cơ sở dữ liệu địa lý tiếp cận đối t−ợng" che kín các chi tiết bên trong của dữ liệu đối t−ợng và cung cấp giao diện lập trình chuẩn. • Tính kế thừa có nghĩa là một lớp đối t−ợng có thể đ−ợc định nghĩa bao gồm ứng xử của lớp đối t−ợng khác và có các ứng xử đ−ợc thêm vào. Có thể tạo ra các kiểu đối t−ợng trong ArcInfo vvà thừa kế các ứng xử của những đối t−ợng tiêu chuẩn. Ví dụ, một đối t−ợng máy biến áp có thể đ−ợc mở rộng từ kiểu của đối t−ợng ArcInfo chuẩn nh− là đối t−ợng để nối đơn giản. 3.4.1. Mô hình dữ liệu hợp nhất. "Cơ sở dữ liệu địa lý tiếp cận đối t−ợng" bao gồm công nghệ phần mềm cho phép truy cập đồng nhất từ một vài nguồn dữ liệu nh− geodatabase, coverage, và shapefiles. ArcInfo tác động qua lại với dữ liệu địa lý thông qua tập hợp các khoản mục nh− các tables (bảng), feature classes (các lớp đối t−ợng bản đồ), rows (hàng), objects (đối t−ợng), features (đối t−ợng bản đồ). Những khoản mục này bao gồm chung và phù hợp với dữ liệu địa lý. Vì là mô hình dữ liệu hợp nhất, Ng−ời sử dụng ArcInfo có thể làm việc với geodatabases, coverages và shapefiles theo cùng một cách thức. Mô hình dữ liệu hợp nhất làm cho đơn giản sao cho ng−ời sử dụng làm việc với dữ liệu bởi sự nhấn mạnh đặc tính chung của dữ liệu. 66
  16. 3.4.2. Đối t−ợng bao quát. Một khía cạnh quan trọng của cơ sở dữ liệu địa lý là ta có thể tạo ra một cách tuỳ ý các đối t−ợng nh− kiểu trạm biến áp, đ−ờng, thay vì phải tạo ra các điểm và đ−ờng. Đối với ng−ời sử dụng ArcInfo điều đó có nghĩa là trạm biến áp hay đ−ờng có tất cả các yếu tố trình diễn, vấn tin, và chỉnh sửa các ứng xử của đối t−ợng điểm đ−ờng tiêu chuẩn nh−ng thêm vào các ứng xử mới. Ta có thể chỉ rõ rằng máy biến áp phải đ−ợc vẽ tiếp xúc với đầu cực của nguồn điện và trực giao với đ−ờng dây điện thông qua cột điện. Hoặc khi đ−ờng đ−ợc chỉnh sửa, mọi bộ phận của nó phải là tiếp tuyến. Ng−ời lập mô hình dữ liệu có thể sử dụng các kiểu đối t−ợng tiêu chuẩn để bổ xung cho mô hình phong phú. Đối với những ứng dụng cấp cao, ng−ời phát triển ứng dụng có thể mở rộng các kiểu đối t−ợng tiêu chuẩn và tạo ra các đối t−ợng theo ý mình sử dụng kỹ thuật h−ớng đối t−ợng của kiểu đ−ợc thừa kế. 3.4.3. Đối t−ợng bản đồ và h−ớng đối t−ợng. Đối t−ợng bản đồ (features) trong cơ sở dữ liệu địa lý đ−ợc thực hiện nh− một tập hợp các bảng quan hệ (relational tables). Một số trong những bảng này biểu thị sự thu thập các đối t−ợng bản đồ. Còn những bản khác biểu thị sự liên hệ giữa các đối t−ợng, luật lệ hợp pháp và lĩnh vực thuộc tính (attribute domain). ArcInfo quản lý điều hành cấu trúc và bảo toàn các bảng này và biểu thị mô hình dữ liệu địa lý h−ớng đối t−ợng thông qua dữ liệu địa lý tiếp cận đối t−ợng. Mọi ng−ời sử dụng hà hầu hết ng−ời phát triển sẽ không hiểu hoặc không quan tâm tới chi tiết cấu trúc bên trong của cơ sở dữ liệu địa lý. ứng dụng ArcCatalog là giao diện ng−ời dùng để thiết lập, thay đổi và tinh lọc cấu trúc cơ sở dữ liệu địa lý của mình. Quan sát đối t−ợng dữ liệu cho phép ta h−ớng nỗ lực vào xây dựng mô hình dữ liệu địa lý và che dấu hầu hết cấu trúc vật lý cơ sở dữ liệu. 67
  17. Hình 3.17: Các đối t−ợng trong cơ sở dữ liệu địa lý. 3.5. Sự cung cấp của dữ liệu địa lý. ArcInfo truy cập dữ liệu địa lý thông qua ArcSDETM, cỗ máy cơ sở dữ liệu Arc. ArcSDE là công nghệ phần mềm cho phép ta tạo ra cơ sở dữ liệu trong phạm vi từ nhỏ bé đến tập hợp rộng lớn của cơ sở dữ liệu địa lý, và cung cấp giao diện mở cho cơ sở dữ liệu quan hệ theo sự lựa chọn của mình. 68
  18. 3.5.1. Cơ sở dữ liệu địa lý mở rộng cơ sở dữ liệu. Có một vài khía cạnh của cơ sở dữ liệu địa lý tăng c−ờng công nghệ cơ sở dữ liệu quan hệ: • Cơ sở dữ liệu địa lý có thể trình bày dữ liệu địa lý theo 4 cách biểu hiện: các đối t−ợng riêng biệt nh− đối t−ợng vector, các hiện t−ợng liên tục nh− raster, bề mặt và tam giác không đều TINs, tham chiếu tới vị trí địa lý nh− địa điểm, địa chỉ. • Cơ sở dữ liệu địa lý l−u giữ hình dạng của đối t−ợng địa lý và ArcInfo cung cấp các hàm để thực hiện các thao tác không gian nh− tìm kiếm đối t−ợng nằm gần, nằm sát, hay cắt nhau. Cơ sở dữ liệu địa lý có khung làm việc để xác định và điều khiểm hệ thống toạ độ cho một tập hợp đối t−ợng. • Cơ sở dữ liệu địa lý có thể mô hình hoá các tập hợp đối t−ợng một cách thống nhất nh− giao thông hay sử dụng mạng và phân nhánh của đất dựa vào tài nguyên thiên nhiên hay chủ sở hữu đất. • Cơ sở dữ liệu địa lý có thể xác định toàn cục hoặc phân quyền mối quan hệ giữa các đối t−ợng. • Cơ sở dữ liệu địa lý có thể tăng c−ờng tính nguyên vẹn của thuộc tính thông qua domain và validation rules (luật hợp lệ). • Cơ sở dữ liệu địa lý có thể gắn ứng xử của đối t−ợng cho các bảng l−u trữ các đối t−ợng. • Cơ sở dữ liệu địa lý có thể trình bày d−ới nhiều versions để nhiều ng−ời sử dụng có thể chỉnh sửa cùng một dữ liệu. 3.5.2. Cơ sở dữ liệu địa lý cho cá nhân và cho nhiều đối t−ợng sử dụng. Cơ sở dữ liệu địa lý có hai biến thể: cơ sở dữ liệu địa lý cá nhân và cơ sở dữ liệu địa lý nhiều ng−ời sử dụng. Cơ sở dữ liệu địa lý cá nhân đ−ợc xây dựng trong ArcInfo và phù hợp với GIS h−ớng đối t−ợng. Cơ sở dữ liệu địa lý cá nhân đ−ợc thực hiện với cơ sở dữ liệu Microsoft Access. Khi ta cài đặt ArcInfo, Microsoft Jet cũng đ−ợc cài đặt, nó cung cấp dịch vụ cho ArcInfo tạo ra và cập nhật cơ sở dữ liệu Access. Ta không cần phải cài đặt Microsoft access. Đối với tổ chức lớn, ta có thể triển khai cơ sở dữ liệu địa lý cho nhiều ng−ời sử dụng bằng ArcSDE - dữ liệu truy cập mở rộng cho nhiều ng−ời sử dụng trong ArcInfo. ArcSDE cài đặt trên dữ liệu server, nó quản lý cơ sở dữ liệu quan hệ của cơ quan. Thông qua TCP/IP network, ArcSDE phục vụ những cơ sở dữ liệu trên 69
  19. ứng dụng ArcInfo chạy trên máy tính cá nhân. ArcSDE có thể chạy trên Windows NT hay UNIX. ArcSDE cho phép truy cập từ xa dữ liệu địa lý và cho phép nhiều ng−ời tham khảo và chỉnh sửa cùng một dữ liệu địa lý. ArcSDE đ−ợc hoà hợp và điều hành bởi ng−ời quản trị cơ sở dữ liệu. 3.5.3. Mở và thay đổi tỷ lệ dữ liệu trong server. ArcInfo cho phép định thể và triển khai một cơ sở dữ liệu nhỏ từ một cơ sở dữ liệu cực kỳ lớn. Nếu ta đang làm việc với tập hợp dữ liệu có kích th−ớc vừa phải, ta có thể triển khai những cơ sở dữ liệu cá nhân trong ArcCatalog. Hình thể này tạo ra đặc tính cho tập hợp dữ liệu tới 250,000 đối t−ợng và hỗ trợ một editor và nhiều ng−ời xem cùng một lúc. Để cho nhiều yêu cầu tập hợp dữ liệu hơn nữa và hỗ trợ nhiều editors đồng thời, ta phải triển khai ArcSDE cho việc cài đặt ArcInfo: • Ta phải vô hạn hoá tính linh hoạt trong thay đổi cơ sở dữ liệu. • Ta có thể triển khai cơ sở dữ liệu quan hệ theo sự lựa chọn của mình. • Ta có thể phục vụ dữ liệu địa lý từ UNIX hay Windows NT. • Ta có thể phục vụ dữ liệu tới những ứng dụng khác nh− MapObject*, ArcIMSTM (Arc Internet Map Server), ArcView* GIS, và khách hàng sử dụng CAD. • Ta có thể l−u trữ và quản trị cơ sở dữ liệu tập trung ở trung tâm. • Ta có thễây dựng Ngân hàng mở hệ thông tin địa lý (Open GIS Consortium - OGC) ứng dụng dùng chung. • Ta có thể xây dựng ngôn ngữ cấu trúc vấn tin (Structured Quyery Language - SQL) ứng dụng cho truy cập các bảng và hàng trong cơ sở dữ liệu. 70
  20. Hình 3.18: Mở cơ cấu của dữ liệu 3.6. Truy cập dữ liệu địa lý. Có thể truy cập dữ liệu trong cơ sở dữ liệu địa lý theo 3 mức độ cơ bản: • Thông qua dữ liệu cơ sở dữ liệu tiếp cận đối t−ợng, tập hợp thứ cấp của ArcObjectTM, phần mềm hợp thành nó là ArcMap và ArcCatalog xây dựng nên. 71
  21. • Đối với những đối t−ợng đơn giản không phải là địa hình học (simple nontopological features) thông qua ứng dụng ArcSDE giao diện lập trình. • Bằng hàng, cột, bảng thông qua giao diện vấn tin SQL. 3.6.1. Truy cập dữ liệu thông qua ArcObjects. Mức độ phong phú nhất trong truy cập dữ liệu là thông qua dữ liệu cơ sở dữ liệu địa lý tiếp cận đối t−ợng. ở mức độ này cấu trúc đầy đủ của cơ sở dữ liệu địa lý đ−ợc bộc lộ: topology(topo), relationships (mối quan hệ), integrity rules (luật bảo toàn), behavior (ứng sử) cũng nh− raster, bề mặt, và vị trí đ−ợc trình bày. Có thể truy cập dữ liệu bằng lập trình thông qua ArcObjects với Microsoft Visual Basic for Hình 3.19: Sơ đồ mô tả mô hình kết hợp Applications (VBA) hay Visual C++ hoặc với môi tr−ờng phát triển phù hợp khác. Hình 3.19 là sơ đồ đơn giản mô tả mô hình kết hợp (Unified Modeling Language UML) 3.6.2. Truy cập dữ liệu là đối t−ợng đơn giản. Đối với nhiều ứng dụng không gian, truy cập dữ liệu địa lý theo dạng những đối t−ợng đơn giản không phải là địa hình học (nontopological) là đáp ứng đầy đủ yêu cầu cần thiết. Cách tiếp cận này đặc biệt thích hợp với những vấn đề về xây dựng nh−ng không tập trung. Ví dụ nh− quản lý các tiện nghi đô thị và phân tích dòng giao thông. ArcSDE biểu hiện đối t−ợng đơn giản API trong C và JavaTM. Nó thích hợp với OGC đối t−ợng đơn giản. OGC là một cơ cấu điều hành việc bán dữ liệu không gian, và mục đích của nó là phát triển giao diện phần mềm tiêu chuẩn cho sự trao đổi tự do những thông tin không gian trong những hệ thông tin địa lý khác thể (heterogeneous GISs). 72
  22. Những cách tổ chức dữ liệu địa lý có định dạng khấc nhau trên mạng network có thể xây dựng những ứng dụng, nó tích hợp dữ liệu này theo dạng những đối t−ợng đơn giản. ESRI − Hoa Kỳ là viện đóng góp hàng đầu cho kỹ thuật OGC. 3.6.3. Truy cập dữ liệu thông qua SQL. GISn là kho chứa phong phú dữ liệu về các đối t−ợng tự nhiên hay các tiện nghi nh− giao thông hay mạng dịch vụ. Trong khi các dữ liệu đ−ợc tập hợp và quản lý nh− cơ sở dữ liệu địa lý, những ứng dụng cơ sở dữ liệu bên ngoài có thể truy cập một cách có hiệu quả và dùng chung dữ liệu cho những sử dụng ngoài phạm vi địa lý. Sử dụng giao diện SQL cơ sở dữ liệu quan hệ, ta có thể xây dựng những ứng dụng cho riêng mình từ cơ sở dữ liệu địa lý và sử dụng thực hiện các nhiệm vụ nh− quản lý môi tr−ờng, thao tác các công việc khác, hay thực hiện các phân tích thống kê. Theo cách nhìn nhận này thì cơ sở dữ liệu địa lý là một tập hợp các bảng, hàng, cột. Thông qua giao diện SQL ta có thể nhìn thấy cấu trúc bên trong cơ sở dữ liệu quan hệ. nó bao gồm những bảng metadata cho đối t−ợng nh− những mạng chẳng hạn. Cấu trúc này không thể nhìn thấy trực tiếp trong ArcInfo, nó đ−ợc quản lý thông qua giao diện của ArcCatalog. Ta có thể chỉnh sửa có lựa chọn các thuộc tính của hàng, cột, nh−ng ta cần cẩn thận để đừng làm h− hỏng cấu trúc của cơ sở dữ liệu. 73
  23. Hình 3.20: Truy cập dữ liệu địa lý 3.7. Xây dựng những mô hình dữ liệu. Thiết kế một cơ sở dữ liệu địa lý về cơ bản giống nh− việc thiết kế một cơ sở dữ liệu bất kỳ. Sở dỹ nh− vậy vì cơ sở dữ liệu địa lý là tr−ờng hợp cá biệt của cơ sở dữ liệu quan hệ. nó chứa đựng cấu trúc cho việc biểu diễn dữ liệu địa lý. Cơ sở dữ liệu địa lý mở rộng làm đơn giản hoá quá trình thiết kế, bằng cách trình bày cấu trúc dữ liệu h−ớng đối t−ợng, nó biểu diễn mối quan hệ không gian và 74
  24. hình học của các đối t−ợng địa lý. Bộ phận của cấu trúc này là đặc biệt dễ dàng cho biểu thị các tập hợp của đối t−ợng nh− những hệ thống đ−ợc hợp thành, nh− suối, mạng đ−ờng hay những tập hợp của những thửa đất. Cấu trúc này trong tập hợp của các đối t−ợng đ−ợc gọi là topology. Mô hình cơ sở dữ liệu địa lý là cầu nối giữa nhận thức của con ng−ời về những đối t−ợng xung quanh trong thế giới và các đối t−ợng đó đ−ợc cất giữ nh− thế nào trong cơ sở dữ liệu quan hệ. 3.7.1. Thiết kế cơ sở dữ liệu địa lý. Thiết kế cơ sở dữ liệu quan hệ truyền thống trải qua hai b−ớc cơ bản: khớp nối mô hình dữ liệu logic và những thực hiện vật lý (physical implementation) của những mô hình cơ sở dữ liệu (hay sơ đồ). Mô hình dữ liệu logic nắm bắt quan điểm của ng−ời sử dụng về dữ liệu còn mô hình cơ sở dữ liệu thực thi mô hình dữ liệu thông qua cơ cấu của công nghệ cơ sở dữ liệu quan hệ. 3.7.1.1. Thiết kế mô hình dữ liệu logic. Nhiệm vụ chủ yếu trong xây dựng mô hình dữ liệu logic là xác định chính xác tập hợp của các đối t−ợng quan trọng và nhận rõ mối quan hệ giữa chúng. Một vài ví dụ về đối t−ợng ta có thể quan tâm đến là đ−ờng phố, thửa đất, chủ sở hữu, công trình kiến trúc. Ví dụ về quan hệ của chúng là “định vị ở ”, “chủ nhân là ”, “là một bộ phận của ”. Một khi ta có mô hình dữ liệu logic ban đầu, ta phải làm cho nó có hiệu lực, đề phòng ng−ời sử dụng đ−a vào những đòi hỏi của họ, thay đổi và truy cập thử, thử nghiệm chống lại những thực hành và thủ tục của tổ chức (hay luật lệ th−ơng mại). Điều đặc biệt quan trọng xoay quanh vấn đề điển hình đáp ứng cho mỗi nhóm sử dụng trong t−ơng lai. Mô hình dữ liệu logic xây dựng cho tập hợp con của ng−ời sử dụng đ−ợc bảo đảm thiếu hụt do không l−ờng hết những ng−ời sử dụng. Xây dựng một mô hình dữ liệu logic là một qua trình t−ơng tác vầ một nghệ thuật.Nghệ thuật đó có đ−ợc thông qua kinh nghiệm. Không có chỉ một mô hình đúng mà có nhiều mô hình tốt và cũng có nhiều mô hình tồi. Thật khó xác định chính xác khi nào là mô hình đúng vầ đầy đủ nh−ng một biểu hiện là ta đã tới gần đích khi ta có thể trả lời “có” với những câu hỏi sau: • Mô hình dữ liệu logic của bạn có đầy đủ mà không bị trùng lặp không? • Mô hình dữ liệu logic hỗ trợ những điều lệ của cơ quan hay không? 75
  25. • Mô hình dữ liệu logic có thích hợp với công việc của các nhóm ng−ời sử dụng khác nhau hay không? 3.7.1.2. Biểu diễn mô hình dữ liệu logic. Tr−ớc đây mô hình dữ liệu logic th−ờng đ−ợc vẽ ra theo dạng những sơ đồ các thực thể quan hệ. Một số ng−ời dẫn đầu trong việc lập mô hình h−ớng đối t−ợng đã tiên phong trong việc thiết kế những ph−ơng pháp luận, sơ đồ ký hiệu. Những ph−ơng pháp luận này đã nhấn mạnh những khía cạnh khác nhau nh− là dòng dữ liệu (data flow), những kịch bản tr−ờng hợp sử dụng (use-case scenarios), nh−ng vấn đề sơ đồ quan hệ các thực thể là những dáng vẻ bề ngoài khác nhau đi cùng với thiết kế ph−ơng pháp luận. Gần đây hơn, hầu hết những nhà lập mô hình h−ớng đối t−ợng đã lựa chọn "Ngôn ngữ mô hình hợp nhất" (Unified Modeling Langguage - UML). "Ngôn ngữ mô hình hợp nhất" là hệ thống ký hiệu tiêu chuẩn để biểu diễn những mô hình đối t−ợng và sau đó đã nhận đ−ợc sự tán thành của lãnh đạo các công ty phần mềm và cơ sở dữ liệu. Điều quan trọng cần l−u ý là ULM không thiết kế ph−ơng pháp luận, mà hơn thế là hệ thống ký hiệu bằng sơ đồ. Với ULM, ta có thể lựa chọn ph−ơng pháp luận thiết kế h−ớng đối t−ợng và biểu diễn mô hình theo ph−ơng pháp tiêu chuẩn. Sử dụng ULM để vẽ mô hình đối t−ợng ArcInfo đ−ợc gọi là ArcObject, Và để vẽ mô hình đối t−ợng theo ý muốn, ta có thể tạo ra một cơ sở dữ liệu. 3.7.1.3. Xây dựng mô hình cơ sở dữ liệu vật lý. Mô hình cơ sở dữ liệu vật lý đ−ợc xây dựng từ mô hình dữ liệu logic. Điển hình là chuyên gia cơ sở dữ liệu quan hệ nhận đ−ợc mô hình dữ liệu logic từ ng−ời lập mô hình, dùng công cụ quản trị cơ sở dữ liệu để xác định sơ đồ cơ sở dữ liệu và tạo cơ sở dữ liệu mới sẵn sàng để chuyển tảI và nhập dữ liệu. Việc thiết kế cơ sở dữ liệu địa lý có một số điểm giống với mô hình dữ liệu logic, nh−ng có những sự khác biệt. Những lớp của đối −ợng (classes of objects) có thểcó thể bị tách ra hoặc nhập vào khi thực thi các bảng. Luật lệ và quan hệ có thể đ−ợc biểu thị bằng một vàI cách. Lợi ích quan trọng của cơ sở dữ liệu địa lý là sự thực thi vật lý của đối t−ợng, mà cho phép ta cấu trúc cơ sở dữ liệu của mình theo thời th−ợng gần gũi với mô hình dữ liệu logic. 3.7.1.4. Các thành phần của mô hình logic và mô hình cơ sở dữ liệu. Có những thành phần cơ bản của mô hình dữ liệu logic và các thành phần ủa cơ sở dữ liệu t−ơng ứng. 76
  26. Mô hình dữ liệu logic là sự trừu t−ợng hoá các đối t−ợng mà ta áp dụng. Sự trừu t−ợng hoá này đ−ợc chuyển đổi thành các thành phần của cơ sở dữ liệu. Một đối t−ợng có một tập hợp các thuộc tính. Các thuộc Hình 3.21: Những thành phần của mô hình dữ liệu logic và tính mô tả đặc điểm chất l−ợng của đối t−ợng nh− là tên cơ sở dữ liệu đối t−ợng, đơn vị đo l−ờng, phân loại, hoặc nhận dạng phân biệt với các đối t−ợng khác. Các thuộc tính đ−ợc l−u theo các cột (hay tr−ờng Fields). Lớp (class) là một tập hợp các đối t−ợng giống nhau. Mỗi đối t−ợng trong lớp có một tập hợp các thuộc tính nh− nhau. Một lớp đ−ợc l−u giữ trong cơ sở dữ liệu nh− một bảng. Các hàng và cột trong bảng tạo nên ma trận 2 chiều. 3.7.1.5. Quản lý dữ liệu phức tạp. Cơ sở dữ liệu quan hệ chiếm đ−ợc thế thống trị trong th−ơng mại vì nó đơn giản, hiệu quả, nguyên lý dễ hiểu. Tính đơn giản là đồng thời sức mạnh và sự thích nghi - đó là sự đơn giản có tính quan điểm trong việc xây dựng cơ sở dữ liệu quan hệ, nh−ng sự khó khăn là mô hình hoá dữ liệu phức tạp. Cơ sở dữ liệu địa lý chứa đựng dữ liệu phức tạp. Dạng của đ−ờng và diện tích đối t−ợng địa lý đ−ợc cấu trúc những tập hợp của toạ độ nó không dễ biểu diễn với kiểu tr−ờng tiêu chuẩn nh− số nguyên, số thực, và chuỗi ký tự. Hơn thế đối t−ợng đ−ợc tập hợp lại thành hệ thống có những quan hệ topo rõ ràng, những mối quan hệ không gian rõ ràng, hoặc những mối quan hệ thông th−ờng. Cơ sở dữ liệu quan hệ là sự sáng tạo cho cơ sở dữ liệu địa lý. Điều mấu chốt đòi hỏi ơ cơ sở dữ liệu địa lý là quản lý dữ liệu địa lý phức tạp với mô hình dữ liệu thống nhất không bị phụ thuộc vào cơ sở dữ liệu quan hệ ở bên d−ới. Hình 3.22: Liên hệ giữa thực tại, mô hình dữ liệu logic, thực hiện cơ sở dữ liệu 77
  27. 3.7.2. Đ−ờng dẫn cho việc thiết kế cơ sở dữ liệu địa lý. Cấu trúc của những cơ sở dữ liệu địa lý − tập hợp đối t−ợng (feature datasets), lớp đối t−ợng (featuer class), gom nhóm hình học (topological groupings), Mối quan hệ (relationships) và các thành phần khác − Cho phép ta thiết kế cơ sở dữ liệu địa lý sát với mô hình dữ liệu logic. Đối với ng−ời lập mô hình, đây là lý do cơ bản đ−a vào sử dụng ArcInfo8. Có những b−ớc cơ bản trong thực hiện thiết kế cơ sở dữ liệu địa lý. 1. Lập mô hình quan sát dữ liệu của ng−ời sử dụng. Thực hiện phỏng vấn những ng−ời sử dụng, hiểu cơ cấu của tổ chức, phân tich những yêu cầu của công việc cần thực hiện. 2.Xác định các đối t−ợng (objects) và các mối quan hệ giữa chúng. Xây dựng mô hình dữ liệu logic với một tập hợp các đối t−ợng, cần phải nắm đ−ợc chúng đ−ợc liên hệ với những đối t−ợng khác nh− thế nào. 3. Lựa ph−ơng pháp cách thể hiện đồ hoạ. Quyết định hặc là vector, raster, bề mặt (surface), hay vị trí sẽ thể hiện tốt dữ liệu mình đang quan tâm. 4. Làm cho t−ơng thích các thành phần của cơ sở dữ liệu địa lý. Làm cho phù hợp các đối t−ợng của mô hình dữ liệu logic vào với các thành phần của cơ sở 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. Hình 3.23: Các b−ớc tiến hành xây dựng cơ sở dữ liệu địa lý. 78
  28. 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 Hình 3.24: Sơ đồ các lớp (class diagrams) 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. 79
  29. 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 Hình 3.25: Sơ đồ liên kết xác định là vô số ở cả 2 đầu. 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
  30. 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) Hình 3.26: Kiểu kế thừa (type inheritance) 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. Trong hình 3.27 đối t−ợng cột điện (pole) có ph−ơng thức tạo ra Hình 3.27: Thuyết minh (instatiation) đối t−ợng máy biến áp (transformer). 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à Hình 3.28: Sự kết hợp (aggregation) các đối t−ợng của lớp khác đ−ợc coi là “bộ phận”. 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 Hình 3.29: Sự hợp thành (composition) thanh tay ngang (crossarms). Một tay ngang không thể phục hồi khi 81
  31. 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ọ. 82
  32. 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. 83
  33. 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. 84
  34. Ch−ơng IV. Hệ quản trị dữ liệu microsoft access. 4.1. Những khái niệm cơ sở. 4.1.1. Cơ sở dữ liệu là gì? Một cơ sở dữ liệu là tập hợp những thông tin có quan hệ tới một chủ đề riêng hay một yêu cầu nào đó, nh− theo rõi các đơn đặt hàng của khách hàng hay duy trì một s−u tập âm nhạc. Nếu cơ sở dữ liệu của ta không đ−ợc l−u trên máy tính hay các thiết bị nhớ, ta có thể phải theo rõi thông tin từ nhiều nguồn khác nhau, nh− vậy ta phải tự mình mã hoá và tổ chức dữ liệu. Sử dụng Microsoft Access, ta có thể quản lý tất cả các thông tin trong một file cơ sở dữ liệu duy nhất. Thông qua file này, phân chia dữ liệu của ta ra thành các ngăn chứa đ−ợc gọi là các bảng tables. Việc xem, bổ xung, cập nhật dữ liệu bảng sử dụng các biểu mẫu (forms) trực tuyến; tìm kiếm gọi ra các dữ liệu ta cần, bằng cách sử dụng queries; phân tích hoặc in dữ liệu theo trang in đặc tr−ng sử dụng báo cáo (reports) (hình 4.1) Chứa tất cả thông tin trong một bảng nh−ng lại quan sát ở nhiều hình thức khác nhau Hình 4.1: Table, Form, Query, Report trong Access L−u giữ dữ liệu, tạo ra một bảng cho mỗi kiểu thông tin ta theo rõi. Lấy dữ liệu từ nhiều bảng khác nhau hợp lại với nhau trong query, form, or report, ta xác định mối quan hệ giữa các bảng. Tìm kiếm và lấy dữ liệu cần thiết phù hợp các điều kiện đã đ−ợc chỉ định bao gồm các dữ liệu từ nhiều bảng khác nhau, tạo ra query. Query cũng có thể cập nhật học xoá các bản ghi cùng một lúc và thực hiện bên trong hoặc tính toán thao tác trên các dữ liệu theo ý muốn. 85
  35. Dễ dàng xem, đ−a vào, thay đổi dữ liệu trực tiếp trong bang, tạo ra form. Khi ta mở một form, Microsoft Access lấy ra dữ liệu từ một hay nhiều tables và biểu diễn trên màn hình sử dụng layout ta lựa chọn trong Form Wizard hay dùng layout do ta tạo ra. Phân tích dữ liệu hoặc biểu diễn chúng bằng một cách nào đó, tạo ra report. Ví dụ, ta có thể in một report hợp nhóm dữ liệu và tính toán tổng số, và một report khác với dữ liệu khác để in th− tín (hình 4.2) Tạo các nhãn th− Tính tổng, lập đTínhồ th ịt ổng số, vẽ đồ thị Giá trị tổng Hình 4.2: Các dạng báo cáo reportTable. 4.1.2. Bảng (Table). Một bảng - table là một tập hợp dữ liệu về một chủ đề nào đó nh− sả phẩm cung cấp. Sử dụng các bảng khác nhau cho mỗi một chủ đề, điều đó giúp ta quản lý có hiệu quả hơn và giảm bớt đ−ợc các lỗi khi nhập dữ liệu. Table đ−ợc tổ chức thành các cột đ−ợc gọi là các tr−ờng (fields) và hàng đ−ợc gọi là bản ghi (records) (hình 4.3) Bảng liệt kê các nguồn cung ứng vật t− Bảng theo rõi các sản phẩm Một tr−ờng chung tạo mối quan hệ giữa hai bảng - Supplier ID Hình 4.3: Cấu trúc của bảng - Table 86
  36. Field - Tr−ờng: Mỗi một tr−ờng trong bảng theo rõi các sản phẩm (Products table) chứa cùng một loại thông tin cho mọi sản phẩm nh− là tên sản phẩm (product's name). Record - Bản ghi: Mỗi một record trong Products table chứa đựng tất cả các thông tin về một sản phẩm, nh− là tên sản phẩm (product name), số chỉ danh nguồn cung cấp (supplier ID number), đơn vị trong kho (units in stock), và những thông tin khác nữa. Mối quan hệ giữa các bảng: Trong Bảng liệt kê các nguồn cung ứng vật t− (Suppliers table) ta đ−a vào supplier ID, company name, và các tr−ờng khác nữa cho mỗi một nguồn cung cấp. trong Products table ta đ−a cả tr−ờng SupplierID vào, nh− vậy khi ta đ−â một sản phẩm mới vào, ta có thể xác định đ−ợc nguồn cung cấp nó bằng cách đ−a vào số SupplierID duy nhất. Bằng cách khớp SupplierID trong bảng Products và bảng Suppliers, Microsoft Access có thể lấy dữ liệu từ hai bảng kết hợp với nhau để ta xem, chỉnh sửa, in ấn. Thây đổi cách nhìn Sắp xếp hoặc chọn lọc bảng ghi Thêm hoặc xoá các Chỉnh sửa hoặc in bản ghi Thay đổi layout Thêm vào, xoá, của bảng dữ liệu thay đổi tên cột Hình 4.4: Các công cụ thao tác trên bảng Trong bảng dữ liệu, ta có thể thêm vào, chỉnh sửa, hay xem dữ liệu. Ta còn có thể kiểm tra, in dữ liệu, lọc, xắp xếp các bản ghi, thay đổi hình thức thể hiện bảng dữ liệu, hay thay đổi cấu trúc của bảng bằng cách thêm vào hay xoá đi những cột (Hình 4.4). Trong table Design view, ta có thể tạo ra một table hoàn chỉnh từ việc lấy từ các bảng sẵn có, thêm vào, xoá bớt, hay thực hiện theo ý thích các tr−ờng. (Hình 4.5). 87
  37. Đặt kiểu dữ liệu cho tr−ờng Thêm hoặc đổi tên tr−ờng Chọn khoá chính cho tr−ờng Đặt thuộc tính cho tr−ờng Hình 4.5: Tạo ra một Table mới bằng Table Design View 4.1.3. Biểu mẫu (Form). Ta có thể sử dụng Form vào nhiều mục đích khác nhau nh−: Tạo ra Form nhập dữ liệu vào bảng, tạo ra form trung chuyển để mở form khác hoặc hoặc báo cáo, tạo ra hộp thoại cho ng−ời sử dụng nhập dữ liệu sau đó tạo ra các chức năng dựa theo dữ kiện đó (hình4.6) Tạo ra hộp thoại Tạo ra Form cho ng−ời sử dụng nhập dữ liệu nhập dữ liệu sau đó vào bảng tạo ra các chức năng dựa theo dữ kiện đó Tạo ra Form trung chuyển Hình 4.6: Sử dụng Form vào các mục đích khác nhau Hầu hết thông tin trong form có đ−ợc từ các nguồn ghi nằm nằm d−ới. Những thông tin khác trong form nằm ngay ở phần design của form (hình 4.7). 88
  38. Form View Các thành phần hình ảnh chứa trong phần Design của Form Số liệu có đ−ợc từ Các các tr−ờng trong các nhãn mô nguồn ghi nằm d−ới tả chứa trong Design Kết quả tính toán từ của công thức chứa trong Form Design của Form Hình 4.7: Những thông tin trong một Form Ta tạo ra và liên kết giữa form và nguồn ghi của nó bằng cách dùng các đối t−ợng đồ hoạ đ−ợc gọi là các điều khiển (controls). Kiểu thông dụng nhất của điều khiển hay đ−ợc dùng để biểu thị dữ liệu nhập vào là text box (hình 4.8). Những nhãn text Design View mô tả nội dung Những text boxes đ−ợc dùng để thể hiện dữ liệu đ−a vào tronng Product Table Text boxe dùng để thể hiện biểu thức tính toán ổ Hình 4.8: Tạo liên kết giữa Form và nguồn ghi nằm d−ới 4.1.4. Truy vấn (Query). Dùng queries để xem, thay đổi và phân tích dữ liệu theo nhiều cách khác nhau. Ta có thể dùngchúng nh− cac nguồn ghi cho các forms và reports. Dùng query để lấy dữ liệu từ nhiều bảng khác nhau và sắp xếp lại theo một trật tự theo yêu cầu. 89
  39. Làm các phép tính số học, tính toán tổng số số l−ợng, giá trị trung bình, sau đó nhóm các kết quả bằng 2 dạng thông tin một đ−ợc liệt kê từ trên xuống từ trái qua phải, cái kia chéo qua. lấy dữ liệu từ nhiều bảng khác nhau và sắp Thực hiện các tính toán xếp lại theo một trật tự theo yêu cầu trên các nhóm bản ghi Làm các phép tính số học, tính toán tổng số, số l−ợng, giá trị trung bình, sau đó nhóm các kết quả bằng 2 dạng thông tin một đ−ợc liệt kê từ trên xuống, cái kia Hình 4.9: Tạo các Queries Loại thông dụng nhất của Query là select query. Một select query chắt lọc dữ liệu từ một hay nhiều tables dùng tiêu thức do ta chỉ định, sau đó thể hiện nó theo trật tự ta mông muốn (hình 4.10). Khi ta thực hiện query, Access chắt lọc các bản ghi theo cách ta chỉ định sau đó thể hiện dữ liệu đã đ−ợc kết hợp theo trật tự nh− ta mong muốn Hình 4.10: Tạo Select Querie 90
  40. Ta tạo ra một query bằng cách dùng các h−ớng dẫn (wizard) có sẵn hoặc lấy dữ liệu hỗn hợp trong các biểu khung màn hình Design View. Trong khung màn hình Design View này, ta chọn lấy dữ liệu mà ta muốn xử lý, bằng cách thêm vào các tables hay những queries có chứa dữ liệu, và sau đó bằng cách điền chúng vào khung design (hình 4.11). Danh sach các tr−ờng cho thấy Đ−ờng nối báo cho Access các dữ liệu những tr−ờng trong các tables hay trong table hay query quan hệ với dữ liệu queries ta thêm trong query mới trong table và query khác Thêm các tr−ờng vào khung déign bằng Các tr−ờng, thứ tự và cách kéo tiêu thức ta thêm vào thả chúng từ khung design quyết định danh sách ta sẽ nhìn thấy những gì các tr−ờng trong kết quả query vào Hình 4.11: Tạo Select Querie trong Design View Điểm mạnh của query là chúng có khả năng kết hợp các dữ liệu từ nhiều bảng biểu hoặc các queries khác lại với nhau. Chẳng hạn chúng ta muốn xem thông tin của khách hàng đồng thời với những đơn đặt hàng của những khách hàng này. Để có thể xem các thông tin này, ta cần những dữ liệu từ hai tables Customers và Orders Khi ta thêm nhiều bảng biểu vào một query, ta phải đảm bảo là các danh sách của các tr−ờng đã đ−ợc kết hợp với nhau bằng một đ−ờng liên kết (join line), để Access biết cách liên kết những thông tin này. Đ−ờng liên kết giữa các tables hay queries báo cho Access dữ liệu quan hệ với nhau nh− thế nào. Kiểu của liên kết chỉ ra những bản ghi nào query sẽ lựa chọn hay thực hiện các thao tác. 4.1.5. Báo cáo (Report). Báo cáo là cách có hiệu quả để trình bày dữ liệu theo dạng in ấn. Bởi vì có thể điều chỉnh kích cỡ và trình bày bản báo cáo, ta có thể cho thông tin hiện ra theo ý muốn (xem hình 4.2). 91
  41. Đa số các thông tin trong report có đ−ợc từ table nằm d−ới, query, hay những câu lệnh SQL, đó là nguồn dữ liệu của báo cáo. Những thông tin khác đều đ−ợc chứa trong design của báo cáo. Tiêu đề và Ngày tháng lấy từ các biểu tên cột chứa thức chứa trong design trong design của báo cáo Dữ liệu lấy từ các tr−ờng của table, query, hay câu lệnh SQL Giá trị tổng lấy từ các biểu thức có trong design của báo cáo Hình 4.12: Thông tin có đ−ợc trong một bản báo cáo Ta tạo ra các liên kết giữa một báo cáo và nguồn bản ghi của chính nó bằng cách dùng các đối t−ợng đồ hoạ đ−ợc gọi là các điều khiển. Các điều khiển có thể là text boxes nó biểu thị các tên, các con số, nhãn biểu thị tiêu đề, và các đ−ờng trang trí kết hợp với dữ liệu làm cho báo cáo lôi cuốn hơn. Đ−ờng trang trí Nhãn tiêu đề Text Box dùng để biểu thị kết quả tính toán giá trị tổng Hình 4.13: Báo cáo và các điều khiển 92
  42. 4.1.6. Hàm lệnh (Macros) • Marcro là gì? Macro là một tập hợp của một hay nhiều hành động, mỗi hành động thực hiện một tác vụ riêng, nh− mở một form hay in một report. Macros giúp ta thực hiện tự động hoá những tác vụ thông dụng. Ví dụ, ta có thể điều hoạt một macro để in một báo cáo khi ta click và nút lệnh. Khi ta tạo một macro, ta nhập những công việc cần làm vào vị trí này Ta có thể gán các đối số cho các công việc vào vị trí này. Những đối số cung cập những thông tin về cách thực hiện công việc nh− là đối t−ợng hay dữ liệu nào đ−ợc dùng tới Hình 4.14: Macro in hoá đơn Một macro có thể là một lệnh tổng hợp những hành động nối tiếp nhau, hoặc nó có thể là một nhóm macro. Ta có thể dùng biểu thức điều kiện để xác định tr−ờng hợp liệu có hay không một hành động sẽ thực hiện khi macro chạy. Chuỗi hành động theo trình tự. Macro sau đây đ−ợc kết hợp một loạt các hành động. Access thực hiện những hành động này mỗi lần macro chạy. Để chạy macro này, ta phải gọi tên hàm Review Products. Hình 4.15: Macro Review Product • Nhóm hàm lệnh - macro group. Nếu ta có nhiều macros, kết nhóm các hàm lệnh có liên quan với nhau thành nhóm hàm lệnh sẽ giúp ta quản lý cơ sở dữ liệu một cách dễ dàng hơn. để hiện tên các macros trong cùng nhóm, click Macro Names trên View menu trong cửa sổ Macro. Ví dụ, macro group sau đây, mang tên Buttons, đ−ợc tạo bởi 3 macros có liên quan tới nhau: Employees, Products, và Reps. Mỗi macro tải một chức năng OpenForm, và Products macro còn tải Hình 4.16: Macro Buttons cả chức năng MoveSize. 93
  43. Tên ở cột Macro Name column nhận dạng mỗi macro. Khi ta điều hoạt một macro trong macro group, Access sẽ tải chức năng đó trong cột action và các chức năng khác bất kỳ theo sau mà tên của nó nằm trong cột Macro Name bỏ trống. Để điều hoạt một macro trrong macro group, tr−ớc hết ta đánh tên của macro group theo sau là dấu chấm rồi đến tên macro. Trong ví dụ trên, để điều hoạt, hàm lệnh Employees trong nhóm lệnh Buttons, ta phải gõ Buttons.Employees. • Những hành động có điều kiện - Conditional actions. Để hiện cột Condition column, ta click Conditions trên View menu trong cửa sổ Macro. Macro sau đây điều hoạt MsgBox và StopMacro chỉ khi biểu thức trong cột Condition mang giá trị TRUE (khi biểu thức trong tr−ờng SupplierID mang giá trị là Hình 4.17: Macro có điều kiện NULL). 4.1.7. Khối (Module). • Module là gì? Một module là tập hợp các khai báo (declarations) và thủ tục (procedures) của Visual Basic for Applications đ−ợc chứa chung với nhau nh− là một đơn vị. Khung Object Khung Procedure Các khai báo - Declarations Các thủ tục - Procedures Nút lệnh Procedure View Nút lệnh Full Module View Hình 4.18: Module Utility Function 94
  44. Có 2 kiểu modules cơ bản, đó là mdule cấp (class modules) và module chuẩn (standard modules). Mỗi thủ tục trong module có thể là thủ tục hàm (Function procedure) hay thủ tụcthứ cấp (Sub procedure). • Class modules. Các khối Form và report modules là các class modules nó đã đ−ợc liên kết với các form và report đặc biệt. Các khôi Form và report th−ờng chứa đựng những thủ tục sự kiện (event procedures) để đáp lại sự kiện trong form hay report đó. ta có thể sử dụng event procedures để kiểm soát cách hoạt động của forms và reports, và đáp ứng những hoạt động sau khi ng−ời sử dụng click chuột trên nút lệnh. Khi ta tạo ra event procedure thứ nhất cho form hay report, Access automatically tự động tạo ra một form hay report kết hợp. Để quan sát module cho một form hay report, click Code trên toolbar ở Design view. Để quan sát hay thêm một thủ tục form chọn một trong những đối t−ợng của form trong khung object sau đó chọn sự kiên trong khung procedure. các tên của những sự kiện đ−ợc in đâm. Hình 4.19: Khối cấp Để quan sát hay thêm một thủ tục form chọn một trong những đối t−ợng của form trong khung object, sau đó chọn sự kiên trong khung procedure. các tên của những sự kiện đ−ợc in đậm. Những thủ tục trong các khối form và report có thể gọi các thủ tục mà ta đã thêm vào trong khối chuẩn. Trong Access 95, class modules chỉ tồn tại khi đ−ợc kết hợp với form hay report. Trong Access 97, class modules có thể tồn tại độc lập đối với form hay report, và kiểu class module đ−ợc liệt kê trên bảng Modules trên cửa sổ Database. Ta có thể dụng class module trên Modules tab để nhận dạng đối t−ợng tuỳ chỉnh (custom object). • Khối chuẩn ( Standard modules). Standard modules chứa những thủ tục chung, nó không đ−ợc liên kết với bất kỳ đối t−ợng nào khác và th−ờng dùng những thủ tục để có thể đ−ợc điều hoạt ở bất kỳ đâu trong cơ sở dữ liệu. 95
  45. Để thêm thủ tục tuỳ chỉnh vào khối chuẩn, d−ới phần khai báo gõ Sub hoặc Function, theo sau là tên của thủ tục cùng các đối số rồi nhấn Sau đó gõ mã lệnh cho các thủ tục. Hàm Isloaded này có thể gọi từ thủ tục khác bất kỳ Hình 4.20: Khối chuẩn Ta có thể xem danh sách của các standard modules trong database bằng cách click vào Modules tab trong cửa sổ Database. Form, report, và standard modules đ−ợc thống kê trên Object Browser. 4.1.8. Sự kiện (Events): Làm cho các đối t−ợng của cơ sở dữ liệu làm việc cùng nhau. • Events là gì? Sự kiện (Events) là một hành động xảy ra trên hoặc cùng với một đối t−ợng nào đó. Access có thể đáp ứng những sự kiện khác nhau: click chuột, Thay đổi dữ liệu, mở hoặc đóng forms, và rất nhiều điều khác nữa. Sự kiện thông th−ờng là kết quả của hành động của ng−ời sử dụng. Sử dụng thủ tục sự kiện hay macro, ta có thể thêm những đáp ứng vào sự kiện nó xảy ra ở form, report, hay control. Giả thử ta muốn mở form Product Details form, lúc đó ta click lên nút lệnh Product Details trên Orders form. Ví dụ sau đây cho ta thấy làm thế nào với thủ tục sự kiện hay với macro. • Đáp ứng sự kiện Click bằng cách dùng thủ tục sự kiện by using. Khi ta tạ ra một thủ tục sự kiện cho một đối t−ợng, Access thêm vào khối form hay report một khuôn mẫu thủ tục sự kiện đ−ợc với tên cho sự kiện và đối t−ợng. Còn lại cần làm là thêm mã cho form hay report theo cách mà ta muốn khi sự kiện xảy ra. Để tạo cho thủ tục sự kiện khởi chạy khi ng−ời dùng click chuột vào nút lệnh, click vào thuộc tính OnClick của nút lệnh click nút Build, sau đó click Code Builder để thêm mã lệnh Víual Basic cho thủ tục sự kiện Hình 4.21. Tạo cho thủ tục khởi chạy 96
  46. Macro OpenProductDetails dùng hành động OpenForm để mở form ProductDetails Hình 4.22. Tạo cho thủ tục khởi chạy (tiếp theo) 97