7. Bố cục của luận văn
2.3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.3.1. Phân loại người sử dụng
- User (Người sử dụng gồm các cơ quan nhà nước, nhân dân và các đối tượng quan tâm dữ liệu tài nguyên đất tại khu vực huyện Đức Phổ): Tương tác với bản đồ và yêu cầu hệ thống cung cấp thông tin thuộc tính thửa đất như số thửa, số tờ bản đồ, diện tích, mục đích sử dụng, người sử dụng.
- Editor: Cập nhật lại thông tin thửa đất khi có sự biến động như chuyển quyền sử dụng đất, chuyển mục đích sử dụng,…
- Admin: Người quản trị có toàn quyền sử dụng và cập nhật thông tin, chỉnh lý biến động như: thêm, xóa thửa đất và sửa vùng đất tại khu vực khi có sự thay đổi; phát triển hệ thống.
2.3.2. Phân tích hệ thống
Xuất phát từ mục đích và yêu cầu đặt ra là hệ thống quản lý thông tin đất đai huyện Đức Phổ, Quảng Ngãi, sau khi tiến hành khảo sát sơ bộ và khảo sát chi tiết hệ thống thực, chúng tôi rút ra được các yêu cầu cụ thể của ứng dụng phải đảm bảo thực hiện được các chức năng sau:
- Đăng nhập: Cho phép người dùng đăng nhập vào hệ thống.
- Phóng to, thu nhỏ bản đồ: Cho phép người dùng phóng to hay thu nhỏ bản đồ được hiển thị.
- Di chuyển bản đồ: Cho phép người dùng di chuyển bản đồ để xem các vùng không gian khác trên bản đồ.
- Bật, tắt các lớp có sẵn: Cho phép người dùng bật/tắt lớp địa phận và thửa đất trên bản đồ.
thuộc tính của từng thửa đất khi kích chuột vào thửa đất muốn xem.
- Tìm kiếm thông tin thửa đất: Cho phép người dùng tìm kiếm thửa đất theo thuộc tính thửa đất.
- Sửa thông tin thửa đất: Cho phép người dùng cập nhật lại thông tin thửa đất khi có sự biến động như chuyển quyền sử dụng đất, chuyển đổi mục đích sử dụng,… - Thêm thửa đất: Cho phép người dùng vẽ thêm thửa đất và nhập thông tin thuộc tính của thửa đất đó trên bản đồ.
- Xóa thửa đất: Cho phép người dùng xóa thửa đất trên bản đồ.
- Sửa vùng đất: Cho phép người dùng chỉnh sửa vùng đất trên bản đồ.
2.3.3. Thiết kế hệ thống
a. Đặc tả Use case
* Biểu đồ ca sử dụng
* Đặc tả các Ca sử dụng Ca sử dụng: Đăng nhập
Các tác nhân: User, Editor và Admin
Mô tả: Ca sử dụng này bắt đầu khi tác nhân đăng nhập vào hệ thống. Hệ thống sẽ nhận dạng, kiểm tra CSDL và kết nối vào hệ thống. Chức năng này kết thúc khi tác nhân click “Thoát” hoặc rời khỏi trang giao diện chính của hệ thống.
Ngoại lệ: Nếu đăng nhập không thành công thì hệ thống thông báo lỗi và yêu cầu đăng nhập lại.
Ca sử dụng: Phóng to, thu nhỏ bản đồ
Các tác nhân: User, Editor và Admin
Mô tả: Ca sử dụng này được bắt đầu khi người dùng muốn phóng to hay thu nhỏ bản đồ được hiển thị. Để phóng to bản đồ, chọn nút , muốn thu nhỏ bản đồ chọn nút . Nếu chức năng này thực hiện thành công hệ thống sẽ hiển thị không gian bản đồ được phóng to hay thu nhỏ, ngược lại trạng thái bản đồ không thay đổi.
Ca sử dụng: Di chuyển bản đồ
Các tác nhân: User, Editor và Admin
Mô tả: Ca sử dụng này được bắt đầu khi người dùng muốn di chuyển bản đồ để xem các vùng không gian khác nhau trên bản đồ. Người dùng kích chuột lên nút khi muốn di chuyển bản đồ. Sau đó, kích chuột lên bản đồ và giữ chuột để di chuyển. Nếu chức năng này thực hiện thành công, hệ thống sẽ hiển thị vùng không gian bản đồ mới, ngược lại trạng thái bản đồ không thay đổi.
Ca sử dụng: Bật/tắt các lớp bản đồ
Các tác nhân: User, Editor và Admin
Mô tả: Ca sử dụng này được bắt đầu khi người dùng muốn bật/tắt các lớp trên bản đồ. Người dùng kích vào nút , bản đồ hiển thị menu như sau:
Muốn bật/tắt lớp bản đồ nào thì kích chuột vào chức năng tương ứng. Nếu chức năng này thực hiện thành công hệ thống sẽ hiển thị các lớp bản đồ theo tùy chọn, ngược lại trạng thái bản đồ không thay đổi.
Ca sử dụng: Hiển thị thông tin thuộc tính thửa đất
Các tác nhân: User, Editor và Admin
Mô tả: Ca sử dụng này thực hiện khi người dùng đang sử dụng hệ thống. Người dùng kích chuột vào buttom trên hệ thống. Sau đó, kích chuột lên thửa đất muốn hiển thị thông tin chi tiết trên bản đồ.
Ca sử dụng: Tìm kiếm thông tin thửa đất
Các tác nhân: User, Editor và Admin
Mô tả: Ca sử dụng này bắt đầu khi người dùng đang sử dụng hệ thống. Người dùng nhập tên thuộc tính cần tìm kiếm (ví dụ: số thửa, số tờ bản đồ, người sử dụng, mục đích sử dụng là gì?) và kích vào nút . Hệ thống sẽ tìm và trả lại kết quả ở khung bên dưới nút tìm kiếm nếu tìm thấy. Muốn hiển thị trên bản đồ, người dùng kích chuột vào kết quả tìm thấy đó.
Ca sử dụng: Sửa thông tin thửa đất Các tác nhân: Editor và Admin
Mô tả: Ca sử dụng này được bắt đầu khi tác nhân kích hoạt chức năng Sửa
thông tin thửa đất. Người dùng kích chuột vào menu QUẢN LÝ BẢN ĐỒ, chọn
chức năng Sửa thông tin thửa đất. Hệ thống hiển thị trang cho phép sửa thông tin thửa đất. Người dùng chọn thửa đất cần sửa thông tin, cập nhập lại thông tin và kích chuột lên nút để lưu.
Ca sử dụng: Thêm thửa đất Các tác nhân: Admin
Mô tả: Ca sử dụng này được bắt đầu khi tác nhân kích hoạt chức năng Thêm, xóa thửa đất. Người dùng kích chuột vào menu QUẢN LÝ BẢN ĐỒ, chọn chức
năng Thêm, xóa thửa đất. Hệ thống hiển thị trang cho phép thêm thửa đất được thực thi trực tiếp ngay trên hệ thống. Người dùng kích chuột lên nút , hệ thống ghi
nhận tình trạng kích chuột, thay đổi sang trạng thái nút đậm . Người dùng vẽ thửa đất vào tạo độ không gian xác định và kích chuột lên nút để lưu. Người dùng kích chuột lên buttom , nhập thông tin thửa đất và kích chuột lên nút để lưu. Nếu chức năng này thực hiện thành công hệ thống sẽ hiển thị thông báo lưu dữ liệu thành công, thửa đất mới được thêm vào trong CSDL và được hiển thị trên bản đồ, ngược lại trạng thái bản đồ không thay đổi.
Ca sử dụng: Xóa thửa đất Các tác nhân: Admin
Mô tả: Ca sử dụng này được bắt đầu khi tác nhân kích hoạt chức năng Thêm, xóa thửa đất. Người dùng kích chuột vào menu QUẢN LÝ BẢN ĐỒ, chọn chức
năng Thêm, xóa thửa đất. Hệ thống hiển thị trang cho phép sửa vùng đất được thực thi trực tiếp ngay trên hệ thống. Người dùng kích chuột lên nút , hệ thống ghi nhận tình trạng kích chuột, thay đổi sang trạng thái nút đậm . Người dùng kích chuột lên đối tượng cần xóa và kích chuột lên nút để lưu. Nếu chức năng này thực hiện thành công hệ thống sẽ hiển thị thông báo lưu dữ liệu thành công, thửa đất được xóa khỏi bản đồ và thông tin thửa đất được xóa trong cơ sở dữ liệu.
Ca sử dụng: Sửa vùng đất Các tác nhân: Admin
Mô tả: Ca sử dụng này được bắt đầu khi tác nhân kích hoạt chức năng Thêm, xóa thửa đất. Người dùng kích chuột vào menu QUẢN LÝ BẢN ĐỒ, chọn chức
năng Thêm, xóa thửa đất. Hệ thống hiển thị trang cho phép xóa thửa đất được thực thi trực tiếp ngay trên hệ thống. Người dùng kích chuột lên nút , hệ thống ghi nhận tình trạng kích chuột, thay đổi sang trạng thái nút đậm . Người dùng chỉnh sửa hình dạng thửa đất và kích chuột lên nút để lưu. Nếu chức năng này thực hiện thành công hệ thống sẽ hiển thị thông báo lưu dữ liệu thành công, vùng đất được chỉnh sửa, lưu lại trong CSDL và được hiển thị thay đổi trên bản đồ, ngược lại trạng thái bản đồ không thay đổi.
b. Biểu đồ hoạt động
- Biểu đồ hoạt động cho ca sử dụng Đăng nhập
- Biểu đồ hoạt động cho ca sử dụng Di chuyển bản đồ
- Biểu đồ hoạt động cho ca sử dụng Sửa thông tin thửa đất
- Biểu đồ hoạt động cho ca sử dụng Sửa vùng đất
c. Biểu đồ tuần tự
Biểu đồ tuần tự mô tả cách thức hoạt động của các ca sử dụng. Trong 9 ca sử dụng trong mô hình User case, trong phần này giới thiệu biểu đồ tuần tự của ca sử dụng Đăng nhập và Sửa thông tin thửa đất như sau:
Hình 2.4. Biểu đồ tuần tự của ca sử dụng Đăng nhập
2.4. KẾT LUẬN CHƯƠNG
Trong chương này, luận văn tập trung mô tả ứng dụng, đề xuất giải pháp để xây dựng hệ thống quản lý thông tin đất đai. Ngoài ra, còn đặc tả các biểu đồ ca sử dụng cho từng yêu cầu, từng chức năng cụ thể và biểu đồ hoạt động cũng được miêu tả. Dựa trên những biểu đồ, người xây dựng hệ thống sẽ có một cái nhìn đầy đủ, đúng đắn và chính xác về hệ thống quản lý thông tin đất đai mà đang muốn hướng tới xây dựng.
CHƯƠNG 3
XÂY DỰNG CHƯƠNG TRÌNH VÀ THỬ NGHIỆM
3.1. XÂY DỰNG CHƯƠNG TRÌNH
3.1.1. Quy trình hoạt động của WebGIS
Hệ thống sử dụng trực tiếp nguồn dữ liệu từ một máy chủ cố định (Data server), nên hệ thống sẽ bỏ qua Data Exchange center (Cleaning House). Như vậy, GIS server sẽ truy vấn và lấy dữ liệu trực tiếp từ Data server thay vì phải qua trung gian Data Exchange center.
Các bước xử lý trong xây dựng ứng dụng WebGIS:
Hình 3.1. Quy trình hoạt động của WebGIS [20]
- Client gửi yêu cầu người dùng thông qua giao thức HTTP đến Web server. - Web server nhận yêu cầu của người dùng gửi đến từ phía client, xử lý và chuyển tiếp yêu cầu đến ứng dụng trên GIS server.
- GIS server (GeoServer) nhận yêu cầu dữ liệu và tìm kiếm vị trí của những dữ liệu này sau đó gửi yêu cầu dữ liệu đến server chứa dữ liệu (GIS database server) tương ứng cần tìm.
- GIS database server (PostgreSQL) tiến hành truy vấn lấy ra dữ liệu cần thiết và trả dữ liệu về cho GIS server.
- GIS server sắp xếp dữ liệu lại theo logic của yêu cầu dữ liệu, sau đó đưa chúng đến các hàm cần sử dụng, xử lý chúng tại đây và kết quả được trả về cho Web Server. - Web Server nhận kết quả xử lý, thêm vào các ngữ cảnh web để có thể hiển thị trên trình duyệt và cuối cùng gửi trả kết quả về cho trình duyệt dưới dạng các trang web.
3.1.2. Quy trình hiển thị bản đồ trong GeoServer lên giao diện WebGIS
Hình 3.2. Quy trình hiển thị bản đồ trong GeoServer [8]
- Workspaces: Workspace là một không gian làm việc, giống như một thư mục chứa các nhóm lớp có tính chất giống nhau.
- Stores: Nơi chứa nguồn dữ liệu GIS để hiển thị lên bản đồ. GeoServer hỗ trợ chúng ta khá nhiều loại data bao gồm cả các nguồn dữ liệu Vector và Raster.
- Layers: Lớp dữ liệu hiển thị trên bản đồ. Khi chúng ta nhập các thông số cho
store của chúng ta thành công GeoServer sẽ tự động load các layer và đưa chúng ta sang trang layer, chúng ta có thể chọn public để public luôn layer cần thiết. Ở đây chúng ta cần khai báo các thông số hệ tọa độ trong GeoServer cho giống với hệ tọa độ trong cơ sở dữ liệu, kiểu dữ liệu, các thuộc tính được hiển thị lên bản đồ...
- Layer Groups: Chúng ta có thể tạo các group để nhóm các layers lại với nhau
để hiển thị cùng nhau trên một bản đồ. Layer Groups cho phép chúng ta chồng các layer lên nhau theo thứ tự được sắp xếp trên cùng một bản đồ.
layer groups hiển thị trên GeoServer trong mục layer preview này.
- Styles: Về cơ bản, bản chất dữ liệu không gian không phải là thành phần
trực quan, sinh động. Để nhìn thấy dữ liệu thì nó cần phải được định dạng kiểu dáng (Style). Điều này có nghĩa là phải chỉ định màu sắc, độ rộng và các thuộc tính trực quan khác cho nó. Trong GeoServer, việc định kiểu này được thực hiện bằng cách sử dụng một ngôn ngữ được gọi là Styled Layer Descriptor (SLD). SLD là một ngôn ngữ dựa trên XML.
Dữ liệu mà GeoServer có thể hỗ trợ thường là các hình dạng: Điểm (Points), đường (Lines) và đa giác (Polygons). Đường là dạng đơn giản nhất, chúng chỉ có một đường để định dạng kiểu (Thuộc tính được biết như “Stroke”). Đa giác, có một đường và một vùng bên trong (Như thuộc tính “Fill”), cả hai có thể được định dạng khác nhau. Điểm, có cả đường viền và vùng bên trong. Để lấp đầy vùng thì màu sắc có thể được quy định; cho nét, màu và độ dày cũng có thể được chỉ định.
3.1.3. Hiển thị các lớp dữ liệu trên Geoserver
Sử dụng công cụ GeoServer để hiện thị các lớp (Layer) của bản đồ (địa phận, thửa đất) trên nền GIS.
Hình 3.4. Kết quả hiển thị layer Địa phận "DiaphanLayer"
3.1.4. Các bước triển khai xây dựng hệ thống
- Tạo Databases trong PostgreSQL để lưu trữ cơ sở dữ liệu. Nhấp chuột phải vào Databases trong Browser, chọn Create Database… xuất hiện hộp thoại như hình 3.6.
Hình 3.6. Hộp thoại tạo Databases
+ Tại mục Database: Gõ tên CSDL muốn tạo là DucPhoDB. + Tại mục Owner: Chọn postges
Sau đó, nhấp chuột vào nút Save để tạo một database mới với tên DucPhoDB.
- Đưa CSDL trong postgreSQL lên GeoServer và tạo kiểu hiển thị (style) cho các lớp dữ liệu.
Tạo không gian lưu trữ dữ liệu lấy từ Databases DucPhoDB trong PostgreSQL: Trong mục Data trên giao diện của GeoServer chọn Workspaces chọn Add new workspaces xuất hiện hộp thoại:
Hình 3.8. Hộp thoại tạo Workspace
Nhập tên Workspaces vào mục Name là DucPhoWKS và chọn Submit.
Tạo kho (Store) lấy dữ liệu từ PostgreSQL và phải nằm trong Workspaces DucPhoWKS: Trong mục Data trên giao diện của GeoServer chọn Stores chọn Add new store xuất hiện hộp thoại:
Chọn PostGIS – PostGIS Database xuất hiện hộp thoại:
Hình 3.10. Hộp thoại thông tin về kho dữ liệu
Chọn Workspaces là DucPhoWKS (tên của Workspaces trong GeoServer) và schema là DucPhoDB (tên của Databases trong postgreSQL).
Tạo các lớp dữ liệu (layers) từ kho dữ liệu (store) DucPhoStore: Trong mục Data trên giao diện của GeoServer, chọn Layers, chọn Add a new layer. Tại mục Add layer from, chọn DucPhoWKS: DucPhoStore (tên của Workspaces và Store), xuất hiện hộp thoại:
3.2. XÂY DỰNG CƠ SỞ DỮ LIỆU
Chúng tôi lựa chọn hệ quản trị CSDL PostgreSQL và PostGIS để quản lý dữ liệu cho hệ thống.
3.2.1. Thiết kế các bảng nhập liệu
Bảng 3.1. Bảng dữ liệu Địa phận "Diaphan"
Tên thuộc tính Kiểu dữ liệu Mô tả
id Double Id
mavung QString Mã vùng
tenvung QString Tên vùng
Bảng 3.2. Bảng dữ liệu Thửa đất "Thuadat"
Tên thuộc tính Kiểu dữ liệu Mô tả
id Double Mã thửa
sothua QString Số thửa
sotobando QString Số tờ bản đồ
dientich QString Diện tích thửa đất
nguoisudung QString Người sử dụng
mucdichsudung QString Mục đích sử dụng
3.2.2. Nhập dữ liệu
Để dễ dàng trong nhập liệu chúng tôi đã thiết kế sẵn bảng nhập liệu trên giao diện của hệ thống.
Người biên tập hay Người quản trị nhập dữ liệu bằng cách chọn buttom và chọn thửa đất cần nhập dữ liệu trên bản đồ. Sau đó, kích chuột vào