7. Bố cục của luận văn
2.1. ĐẶC TẢ HỆ THỐNG
2.1.1. Đặc tả hệ thống
Xây dựng hệ thống quản lý thông tin trƣợt lở đất tỉnh Quảng Ngãi bao gồm các yêu cầu chức năng sau:
a. Phục vụ cán bộ quản lý
Hiển thị bản đồ địa lý tỉnh Quảng Ngãi.
Tìm kiếm thông tin trƣợt lở đất và thiệt hại theo yêu cầu.
Cập nhật và quản lý thông tin trƣợt lở và thiệt hại tỉnh Quảng Ngãi. Thống kê và in báo cáo theo biểu mẫu để phục vụ nghiệp vụ chuyên môn.
b. Phục vụ cộng đồng
Hiển thị bản đồ địa lý tỉnh Quảng Ngãi.
Tìm kiếm thông tin trƣợt lở đất và thiệt hại theo yêu cầu.
2.1.2. Yêu cầu dữ liệu
a. Dữ liệu không gian
(Nguồn dữ liệu đƣợc lấy từ các báo cáo của văn phòng thống kê của tỉnh Quảng Ngãi).
-Dữ liệu không gian mô tả các lớp bản đồ hành chính địa phận xã.
-Dữ liệu không gian mô tả vị trí của các đối tƣợng. Đối tƣợng ở đây là: Trƣợt lở đất (điểm).
b. Dữ liệu thuộc tính
Thông tin về trượt lở đất cần những thông tin sau:
- Thông tin trƣợt lở đất theo năm. - Địa điểm xảy ra trƣợt lở theo xã.
- Thông tin thiệt hại do trƣợt lở đất gây ra:
Thông tin về thiệt hại do trượt đất gây ra cần những thông tin sau:
- Loại hình thiệt hại (Ngƣời, nhà cửa, nông nghiệp, thủy sản, giao thông, ƣớc tổng thiệt hại).
- Hạng mục thiệt hại. - Số lƣợng.
- Đơn vị (Ngƣời, cái, ha, tấn, con, km, triệu đồng).
2.1.3. Yêu cầu hệ thống
Bảng 2.1. Yêu cầu hệ thống
Chức năng Yêu cầu hệ thống
Hiển thị bản đồ địa lý tỉnh Quảng Ngãi
Hiển thị bản đồ GIS cho phân vùng xã đến ngƣời dùng trên nền bản đồ google map. Tìm kiếm thông tin trƣợt lở
đất thiệt hại theo yêu cầu.
- Cho phép ngƣời dùng tìm kiếm thông tin trƣợt lở đất và thiệt hại tổng quát theo khoảng thời gian.
- Cho phép ngƣời dùng tìm kiếm thông tin trƣợt lở đất và thiệt hại chi tiết theo khoảng thời gian.
- Hiển thị các mức độ màu khác nhau của Xã trƣợt lở đất tìm kiếm đƣợc trên bản đồ GIS. Cập nhật và quản lý thông
tin trƣợt lở đất tỉnh Quảng Ngãi.
Cho phép ngƣời sử dụng nhập mới, xóa, sửa thông tin thiệt hại.
Thống kê và in báo cáo theo biểu mẫu để phục vụ nghiệp vụ chuyên môn.
- Cho phép ngƣời sử dụng xem báo cáo thông tin và thiệt hại do trƣợt lở đất gây ra theo kết quả tìm kiếm.
2.1.4. Mô tả lớp dữ liệu
Bảng 2.2. Mô tả lớp dữ liệu "diaphantinh" (Địa phận tỉnh)
Tên thuộc tính Mô tả Kiểu giá trị
gid Mã tỉnh integer
objectid Mã tỉnh integer
name_2 Tên tỉnh character
geom Thông tin dữ liệu không gian của tỉnh Geometry (MultiPolygon)
Bảng 2.3. Mô tả lớp "diaphanxa" (Địa phận xã)
Tên thuộc tính Mô tả Kiểu giá trị
gid Mã xã integer
diadanh Tên xã character
dientich Diện tích xã numeric
geom Thông tin dữ liệu không gian kiểu đa giác của xã
Geometry (MultiPolygon) huyen_id Mã huyện chứa xã này
thongtinthiethai_id Nếu thiệt hại có khóa này xảy ra trong khu vực huyện có chứa xã này, thì trên bản đồ GIS sẽ hiển thị điểm thông tin thiệt hại tại xã này
character
Bảng 2.4. Mô tả lớp "diadiemthientai" (Địa điểm trượt lở đất)
Tên thuộc tính Mô tả Kiểu giá trị
id Mã địa điểm trƣợt lở đất. integer
thongtinthientai_id Mã thông tin trƣợt lở đất. integer diadiem_id Mã xã xảy ra trƣợt lở đất integer
Bảng 2.1. Mô tả lớp "loaihinhthiethai" (Loại hình thiệt hại)
Tên thuộc tính Mô tả Kiểu giá trị
id Mã loại hình thiệt hại integer
ten Tên loại hình thiệt hại character
khoa Khóa phân biệt cho từng loại hình thiệt hại character
mo_ta Mô tả text
Bảng 2.6. Mô tả lớp dữ liệu "diaphanhuyen" (Địa phận huyện)
Tên thuộc tính Mô tả Kiểu giá trị
gid Mã huyện integer
name_2 Tên tỉnh chứa huyện này character
varname_3 Tên huyện character
geom Thông tin dữ liệu không gian kiểu đa giác của huyện
Geometry (MultiPolygon)
tinh_id Mã tỉnh chứa huyện này Integer
Bảng 2.7. Mô tả lớp hangmucthiethai (Hạng mục thiệt hại)
Tên thuộc tính Mô tả Kiểu giá trị
id Mã hạng mức thiệt hại Integer
loaihinhthiethai_id Mã loại hình thiệt hại chứa hạng mức này. Integer hang_muc Tên mô tả hạng mức thiệt hại Text don_vi Đơn vị của hạng mức thiệt hại Character khoa Khóa phân biệt cho từng hạng mức thiệt
hại
Character
2.2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.2.1. Xây dựng sơ đồ quan hệ 2.2.1. Xây dựng sơ đồ quan hệ
Từ các yêu cầu về dữ liệu đƣợc mô tả ở trên, ta xây dựng mô hình quan hệ cơ sở dữ liệu nhƣ sau:
Hình 2.1. Sơ đồ quan hệ
2.2.2. Biểu đồ ca sử dụng
a. Biểu đồ ca sử dụng
Biểu đồ ca sử dụng tổng quát
Biểu đồ ca sử dụng tìm kiếm phân rã
Hình 2.3. Biểu đồ ca sử dụng tìm kiếm phân rã
Biểu đồ ca sử dụng xem thông tin trượt lở đất phân rã
Biểu đồ ca sử dụng tải dữ liệu về thông tin trượt lở đất và thiệt hại phân rã
Hình 2.5. Biểu đồ ca sử dụng Xuất dữ liệu phân rã
Biểu đồ ca sử dụng nhập thông tin thiệt hại phân rã
b. Đặc tả ca sử dụng
Ca sử dụng: Tìm kiếm thông tin trượt lở đất
Bảng 2.8. Đặc tả ca sử dụng tìm kiếm thông tin thiệt hại về trượt lở đất
Tìm kiếm thông tin thiệt hại tổng quát
Tìm kiếm thông tin thiệt hại chi tiết Các tác nhân Ngƣời sử dụng Ngƣời sử dụng Điều kiện trƣớc Ngƣời sử dụng chọn tìm kiếm tổng quát theo năm trên trang giao diện tìm kiếm.
Ngƣời sử dụng chọn tìm kiếm chi tiết theo năm trên trang giao diện tìm kiếm.
Điều kiện sau
Giao diện hiển thị thông tin thiệt hại toàn tỉnh trên bản đồ GIS.
Giao diện hiển thị thông tin thiệt hại tƣơng ứng với trên bản đồ GIS.
Mô tả Ngƣời sử dụng chọn năm để tìm kiếm thông tin thiệt hại tổng quát. Hệ thống sẽ hiển thị các thông tin thiệt hại trên bản đồ GIS.
Ngƣời sử dụng chọn năm và xã để tìm kiếm thông tin thiệt hại chi tiết. Hệ thống sẽ hiển thị các thông tin thiệt hại tƣơng ứng mức xã trên bản đồ GIS.
Ca sử dụng: Xem thông tin thiệt hại do trượt lở đất gây ra Bảng 2.9. Đặc tả ca sử dụng xem thông tin trượt lở đất và thiệt hại
Xem thông tin thiệt hại
tổng quát Xem thông tin thiệt hại chi tiết
Các tác nhân Ngƣời sử dụng Ngƣời sử dụng Điều kiện trƣớc Ngƣời sử dụng chọn xem thông tin thiệt hai tổng quát theo năm trên giao diện tìm kiếm.
Ngƣời sử dụng chọn tìm kiếm chi tiết theo năm trên trang giao diện tìm kiếm.
Xem thông tin thiệt hại
tổng quát Xem thông tin thiệt hại chi tiết
Điều kiện sau
Giao diện hiển thị thông tin thiệt hại toàn tỉnh trên bản đồ GIS
Giao diện hiển thị thông tin thiệt hại tƣơng ứng với xã trên bản đồ GIS
Mô tả Ngƣời sử dụng chọn năm để tìm kiếm thông tin thiệt hại tổng quát. Hệ thống sẽ hiển thị các thông tin thiệt hại trên bản đồ GIS
Ngƣời sử dụng chọn năm và xã để tìm kiếm thông tin thiệt hại chi tiết. Hệ thống sẽ hiển thị các thông tin thiệt hại tƣơng ứng mức xã trên bản đồ GIS.
Ca sử dụng: Xuất dữ liệu báo cáo thông tin trượt lở đất và thiệt hại Bảng 2.10. Đặc tả ca sử dụng tải thông tin trượt lở đất và thiệt hại
Tìm kiếm trƣợt lở đất tổng quát Tìm kiếm trƣợt lở đất chi tiết Các tác nhân Ngƣời sử dụng Ngƣời sử dụng Điều kiện trƣớc
Ngƣời sử dụng xem thông tin thiệt hại tổng quát và click vào nút tải về.
Ngƣời sử dụng xem thông tin thiệt hại chi tiết và click vào nút tải về.
Điều kiện sau
Tải và lƣu báo cáo thông tin trƣợt lở đất và thiệt hại tổng quát dƣới dạng Excel.
Tải và lƣu báo cáo thông tin trƣợt lở đất và thiệt hại chi tiết dƣới dạng Excel.
Mô tả Ngƣời sử dụng click vào nút tải về trên cửa sổ thông tin thiệt hại tổng quát, hệ thống tự động tải và lƣu file báo cáo trƣợt lở đất và thiệt hại tổng quát dƣới dạng Excel.
Ngƣời sử dụng click vào nút tải về trên cửa sổ thông tin thiệt hại chi tiết, hệ thống tự động tải và lƣu file báo cáo trƣợt lở đất và thiệt hại chi tiết dƣới dạng Excel.
Ca sử dụng: Nhập thông tin trượt lở đất và thiệt hại
Bảng 2.2. Đặc tả ca sử dụng nhập thông tin
Nhập thông tin trƣợt lở đất và thiệt hại tổng quát
Nhập thông tin trƣợt lở đất và thiệt hại chi tiết
Các tác nhân Ngƣời sử dụng Ngƣời sử dụng Điều kiện
trƣớc
Ngƣời sử dụng click vào tab nhập dữ liệu.
Ngƣời sử dụng đã nhập thông tin trƣợt lở đất và hiển thị cửa sổ thông tin thiệt hại cho từng địa điểm.
Điều kiện sau
Hiển thị cửa sổ mới để nhập thông tin thiệt hại do trƣợt lở đất gây ra cho từng địa điểm.
Hiển thị message thông báo bạn đã nhập thông tin thiệt hại thành công hoặc không thành công
Mô tả Ngƣời sử dụng click vào tab nhập dữ liệu, hệ thống hiển thị ra form các thuộc tính. Sau đó ngƣời sử dụng chọn xã để nhập thông tin thiên hại về trƣợt lở đất.
Ngƣời sử dụng nhập thông tin số lƣợng thiệt hại ở từng hạng mục cho từng địa điểm xảy ra trƣợt lở đất, rồi click vào button lƣu để lƣu dữ liệu trƣợt lở đất và thiệt hại vào database.
2.2.3. Biểu đồ hoạt động
Biểu đồ hoạt động cho ca sử dụng Xuất dữ liệu trượt lở đất và thiệt hại
Bắt đầu
Tìm kiếm theo năm
(Xem biểu đồ hoạt động tìm kiếm)
Xuất dữ liệu và lƣu dữ liêu dƣới dạng Excel file Hiển thị thông tin trƣợt
lở đất và thiệt hại
Biểu đồ hoạt động cho ca sử dụng tìm kiếm và hiển thị thông tin trượt lở đất
Bắt đầu
Tìm kiếm theo năm
Chọn thời gian
Click vào button tìm kiếm
Kiểm tra thời gian có hợp lệ không
Hiểm thị kết quả trƣợt lở đất tìm kiếm trên bản đồ GIS
Đúng
Nếu kết quả tìm kiếm có giá trị trả về
Hiểm thị thông tin trƣợt lở đất và thiệt hại chi tiết Hiểm thị thông báo
lỗi thời gian Sai
Sai
Biểu đồ hoạt động cho ca sử dụng nhập dữ liệu trượt lở đất và thiệt hại
Bắt đầu
Nhâp dữ liệu
Kiểm tra ngƣời sử dụng chọn ít nhất 1 địa điểm
Kiểm tra thông tin thiệt hại đúng không
Click button lƣu Hiểm thị thông báo chọn
địa điểm xảy ra trƣợt lở đất Sai
Chọn địa điểm xảy ra trƣợt lở đất
Sai
Nhập thông tin trƣợt lở đất Đúng
2.3. KẾT CHƢƠNG
Nội dung chƣơng, mô tả các yêu cầu của hệ thống quản lý thông tin trƣợt lở đất và thiệt hại. Trong chƣơng có nêu ra những yêu cầu về dữ liệu và hệ thống cơ sở dữ liệu, xác định các bảng thuộc tính cần xây dựng và mối quan hệ giữa các bảng với nhau. Ngoài ra, các biểu đồ đặc tả các 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ả. Biểu đồ hoạt động mô tả toàn bộ các hoạt động và luồng hoạt động có thể xảy ra trong hệ thống. 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 trƣợt lở đất mà đang muốn hƣớng tới xây dựng.
CHƢƠNG 3
CÀI ĐẶT VÀ THỬ NGHIỆM CHƢƠNG TRÌNH
3.1. CÀI ĐẶT CHƢƠNG TRÌNH
3.1.1. Các bƣớc thực hiện cài đặt chƣơng trình
Do hiện tại 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). Vậy nên 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. Sau đây là các bƣớc xử lý để xây dựng chƣơng trình.
Hình 3.1. Các bước thực hiện xây dựng chương trình[10]
Phần Presentation tier (Client side): Sử dụng Spring MVC để xây dựng website, ngƣời dùng sẽ tƣơng tác với giao diện web để gửi yêu cầu thông qua các phƣơng thức HTTP request, response đến Web server.
Phần Logical tier (Server side): Web server (Tomcat 7) và GIS server (GeoServer).
Phần Data tier (Database): Sử dụng PostgreSQL và POSTGIS. Các bƣớc xử lý:
- 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 về kết quả xử lý, thêm vào các ngữ cảnh web để có thể hiển thị đƣợc 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. Qui trình hiển thị bản đồ trong Geoserver lên giao diện WebGis
a. Các thành phần dữ liệu trong quy trình hiển thị bản đồ lên GeoServer
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 1 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 Preview
Chúng ta có thể xem qua các bản đồ từ các layers và các 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. [11]
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.
Dƣới đây là một ví dụ đơn giản minh họa cho việc định dạng kiểu dáng cho một lớp dữ liệu có kiểu Line:
<?xml version="1.0" encoding="ISO-8859-1"?> <StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <NamedLayer> <Name>default_line</Name> <UserStyle> <Title>Default Line</Title>
<Abstract>A sample style that draws a line</Abstract> <FeatureTypeStyle>
<Rule>