STT Tên cột Kiểu Ràng buộc Ghi chú
1 MaTinh_TP Varchar(3) Khóa chính 2 TenTinh_TP Varchar(30)
5 MaKhuVuc Varchar(3)
3.3.3. Xây dựng biểu đồ Use - case
- Duyệt bản đồ.
Di chuyển bản đồ.
Phóng to, thu nhỏ bản đồ
Truy vấn thông tin trên bản đồ
Tìm vị trí một tỉnh, thành phố, địa danh trên bản đồ.
- Xem thời tiết các ngày trƣớc:
Xem thời tiết trong ngày và một vài ngày trƣớc.
Xem thời tiết các ngày trước
User
Thống kê tình hình bão, lũ trên các tỉnh Phóng to, thu nhỏ bản đồ
Di chuyển bản đồ
Tìm vị trí tỉnh, tp trên bản đồ
Hình 3.8. Biểu đồ Use – case
- Di chuyển bản đồ.
Mô tả: Use-case này mô tả cách thức ngƣời dùng di chuyển bản đồ để xem vùng không gian khác trên bản đồ
Luồng các sự kiện:
Luồng sự kiện chính: Use - case này bắt đầu khi ngƣời dùng muốn dịch chuyển bản đồ để xem vùng không gian khác trên bản đồ.
2. Hệ thống ghi nhận tình trạng nhấn chuột, thay đổi trạng thái button sang trạng thái đậm. Chuyển trạng thái các button nào đang ở trạng thái đậm vì đƣợc nhấn chuột trƣớc đó về trạng thái bình thƣờng. 3. Ngƣời dùng nhấn chuột lên bản đồ.
4. Hệ thống xác định vị trí nhấn chuột trên bản đồ, dịch chuyển bản đồ theo chiều ngƣợc lại
Các sự kiện khác: không có.
Post-condition: Nếu Use Case thực hiện thành công, hệ thống sẽ hiển thị vùng không gian bản đồ mới ra cho ngƣời dùng, ngƣợc lại trạng thái bản đồ không thay đổi.
- Phóng to, thu nhỏ bản đồ
Mô tả: Use-case này mô tả cách thức ngƣời dùng phóng to hay thu nhỏ bản đồ hiển thị.
Luồng các sự kiện
Luồng sự kiện chính: Use-case này bắt đầu khi có ngƣời dùng muốn phóng to, thu nhỏ bản đồ hiển thị.
1. Ngƣời dùng nhấn chuột lên button ZoomIn hay ZoomOut 2. Hệ thống xác định loại button đang chọn, tô đậm button
này để ngƣời dùng biết button đã đƣợc chọn. 3. Ngƣời dùng nhấn chuột lên trên bản đồ.
4. Hệ thống xác định vị trí nhấn chuột, sau đó sẽ tùy theo button đƣợc chọn là ZoomIn hay ZoomOut mà hệ thống sẽ phóng to hay thu nhỏ bản đồ tại vị trí đƣợc nhấn chuột. 5. Ngƣời dùng tiếp tục nhấn chuột lên bản đồ để tiếp tục
phóng to hay thu nhỏ bản đồ.
Các luồng sự kiện khác: không có.
Post - conditions: Nếu use case thực hiện thành công hệ thống sẽ hiển thị vùng không gian bản đồ đƣợc phóng to hay thu nhỏ ra cho ngƣời dùng, ngƣợc lại trạng thái bản đồ không gian thay đổi.
- Xem thông tin thời tiết các ngày trước
Mô tả: Use-case này cho phép một ngƣời dùng tìm kiếm thông tin thời tiết. Ngƣời dùng có thể tìm kiếm thông tin trong quá khứ hay trong tƣơng lai tùy thuộc vào thời gian tìm kiếm ngƣời dùng chọn lựa
Các luồng sự kiện:
Luồng sự kiện chính: Use case này bắt đầu khi ngƣời dùng muốn tim kiếm thông tin thời tiết
1. Ngƣời dùng xác định ngày, tháng, năm cần tìm 2. Ngƣời dùng nhấn chuột vào button tìm kiếm
3. Hệ thống sẽ xác định thời gian, sau đó hiển thị kết quả ra màn hình
1. Ngƣời dùng chọn thời gian tìm kiếm quá xa so với hiện tại (cách đây quá nhiều năm) hệ thống không tìm thông tin thời tiết, sẽ xuất hiện thông báo tới ngƣời dùng
2. Ngƣời dùng không chọn thời gian tìm kiếm, hệ thống sẽ xuất hiện thông báo tới ngƣời dùng
Post - conditions: Nếu use case thực hiện thành công, thông tin thời tiết cần tìm sẽ đƣợc hiển thị ra cho ngƣời dùng, ngƣợc lại hệ thống sẽ xuất thông báo tới ngƣời dùng.
- Tìm vị trí một tỉnh, thành phố, khu vực trên bản đồ
Mô tả: Use-case này mô tả cách ngƣời dùng tìm vị trí của một tỉnh, thành phố hay khu vực trên bản đồ. Bản đồ sẽ dịch chuyển tới vùng không gian chứa tỉnh đó cho ngƣời dùng, đồng thời phóng to một kích thƣớc cố định để nhìn rõ ranh giới của tỉnh, thành phố hay khu vực này.
Luồng các sự kiện;
Luồng sự kiện chính: Use case này bắt đầu khi ngƣời dùng muốn tìm vị trí của một tỉnh, thành phố hay khu vực trên bản đồ. Khi đó tỉnh đƣợc tìm kiếm sẽ đƣợc tô màu hiển thị.
1. Ngƣời dùng chọn tên tỉnh, thành phố hay khu vực cần tìm trong danh sách chứa các tỉnh, thành phố hay khu vực.
2. Chƣơng trình xử lý và dịch chuyển bản đồ đến vùng không gian chứa tỉnh, thành phố hay khu vực vừa chọn, đồng thời phóng to bản đồ một cách vừa phải để ngƣời dùng tiện quan sát.
- Các luồng sự kiện khác: Không có
Post - conditions: Nếu use case thực hiện thành công vùng không gian mới của bản đồ chứa tỉnh, thành phố hay khu vực sẽ đƣợc thể hiện, ngƣợc lại trạng thái bản đồ không thay đổi.
- Thống kê tình hình bão, lũ trên các tỉnh
Mô tả: Khi ngƣời dùng bấm nút “Thống kê”, hệ thống sẽ trả về kết quả các tỉnh có nguy cơ bị bão lũ bằng cách tô màu khác biệt cho các tỉnh đó.
Tiêu chí để xác định khả năng xảy ra lũ lụt: xác định khả năng lũ lụt chỉ đơn giản là thông tin về mức độ mƣa, nắng do module RSS của chƣơng trình thu thập đƣợc từ trang cung cấp thông tin thời tiết miễn phí MSN. Biểu tƣợng mƣa, mây và sấm chớp có tên hình ảnh là 4.gif đƣợc dùng làm tiêu chí xác định khả năng xảy ra lũ lụt.
Quy trình thực hiện của đoạn chƣơng trình thực hiện chức năng dự báo lũ lụt.
1. Thực hiện truy vấn bảng thông tin dự báo trong cơ sở dữ liệu để kiểm tra trong khoảng thời gian 3 ngày (từ hôm nay đến ngày kia) tên của các tỉnh nào, có mã loại thời tiết bằng 4. Nghĩa là trong 3
ngày đó, các tỉnh này có thông tin dự báo là sẽ có xảy ra hiện tƣợng mƣa giông và sấm chớp, hiện tƣợng đó đƣợc mô tả bằng hình ảnh: .
2. Với danh sách các tỉnh thành có khả năng lũ lụt trên, chƣơng trình tạo ra xâu expression (xâu biểu thức) là điều kiện để lọc ra các tỉnh có khả năng lũ lụt. Mapserver truy vấn dữ liệu không gian, sau đó vẽ bản đồ dựa vào kết quả truy vấn đó. Kết quả truy vấn đã đƣợc lọc bởi các xâu biểu thức.
3. Để thực hiện vẽ một tầng lên bản đồ, chƣơng trình sẽ đọc file thoitietVN.map, trong thƣ mục của phần mềm Mapserver (C:\ms4w\mapserver\mapfiles), file này dùng để định nghĩa cách phần mềm mapserver vẽ bản đồ nhƣ thế nào. Trong file thoitietVN.map, có định nghĩa 1 layer, trong layer này có 3 class: lần lƣợt có tên là luongmuabao, timkiem và binhthuong. Đoạn chƣơng trình dùng class luongmuabao trong file thoitietVN.map để vẽ ra các tỉnh đƣợc dự báo có khả năng lũ lụt.
3.3.4. Biểu đồ tuần tự
- Tìm kiếm thông tin trên bản đồ
Người dùng
Tìm kiếm tỉnh
Hiển thị
yêu cầu tìm kiếm
yêu cầu nhập tên tỉnh
Truy vấn thời tiết
(ngày)
yêu cầu tìm kiếm theo ngày
Chọn ngày
yêu cầu hiển thị tỉnh
Trả thông tin về tỉnh
yêu cầu hiển thị thông tin dự báo thời tiết
trả thông tin dự báo thời tiết
- Mô tả:
Tìm kiếm tên tỉnh: Ngƣời dùng nhập tên tỉnh vào form tìm kiếm kết quả trả về vùng không gian chứa tỉnh và hiển thị thông tin về thời tiết của tỉnh đó.
Truy vấn thời tiết theo ngày (trong quá khứ): Ngƣời dùng nhấp chọn ngày cần tìm, hệ thống sẽ hiển thị thông tin thời tiết các tỉnh trong ngày hôm đó.
- Thống kê tỉnh có nguy cơ về bão, lũ
Người dùng
Thống kê
Hiển thị
yêu cầu thống kê tỉnh có nguy cơ bão lũ
Kích hoạt thống kê
Trả thông tin thống kê các tỉnh nguy cơ bão, lũ
yêu cầu hiện thông tin
Reset
Hình 3.10. Biểu đồ tuần tự chức năng thống kê tình hình bão, lũ
- Mô tả:
Ngƣời dùng yêu cầu thông tin về cảnh báo nguy cơ bão, lũ. Hệ thống tổng hợp thông tin từ đài quan sát rồi xử lý thông tin đƣa ra các tỉnh có nguy cơ xảy ra bão, lũ.
3.3.5. Biểu đồ lớp
+get tentinh()
Chi tiết tìm kiếm tỉnh
+get thoitiet()
Chi tiet tìm thời tiết theo ngày
+get thongke() +get reset() Thống kê * 1 1 1 1 1 +hinhanh() -MaTinh_TP : Char -TenTinh_TP : Char -MaKhuVuc : Char Biểu đồ +hienthi() -Mabuoi : Integer -Tenbuoi : Char -Tenloai : Char -NhietdoMax : Integer -NhietdoMin : Integer -DoAmTB : Char -KhiApTB : Char -SucGio : Char -Luong_Mua : Char Thời tiết * 1 * 1 1 1 Hình 3.11. Biểu đồ lớp - Mô tả:
Class Biểu đồ cho biết thông tin:
Mã tỉnh, thành phố
Tên tỉnh, thành phố
Mã khu vực
Hiển thị hình ảnh bản đồ
Class Thời tiết cho biết thông tin:
Mã buổi Tên buổi
Tên loại thời tiết Nhiệt độ cao nhất
Nhiệt độ thấp nhất Sức gió
Lƣợng mƣa Độ ẩm trung bình
Áp suất trung bình
Class Chi tiết tìm kiếm tỉnh:
Trả về kết quả hình ảnh của tỉnh đó trên bản đồ
Class Chi tiết tìm thời tiết theo ngày:
Trả về kết quả thời tiết các tỉnh ngày tìm kiếm
Class Thống kê:
Thống kê tình hình thời tiết các tỉnh và hiển thị các tỉnh có nguy cơ bão, lũ
Reset để trả bản đồ về chế độ hiển thị thông tin thời tiết thông thƣờng.
3.4. Thiết kế một số màn hình chính
Hình 3.12. Giao diện chính bản đồ dự báo thời tiết
Hình 3.14. Giao diện truy vấn dự theo lớp tỉnh có hiển thị thông tin dự báo
KẾT LUẬN VÀ ĐỊNH HƢỚNG PHÁT TRIỂN KẾT LUẬN
Cơ sở thực tiễn về nhu cầu phát triển bản đồ trực tuyến từ cả hai phía: phía ngƣời sử dụng và phía những ngƣời tạo lập bản đồ đã đƣợc khảo sát và phân tích để thấy rõ sự cần thiết để hình thành và phát triển công nghệ bản đồ trực tuyến. Trọng tâm nghiên cứu của luận văn gồm 2 phần chính đƣợc trình bày trong chƣơng 2 và chƣơng 3.
Đó là tìm hiểu đƣợc các vấn đề sau:
- Các vấn đề về công nghệ mã nguồn mở vào việc xây dựng WebGIS: WebServer, MapServer và hệ quản trị cơ sở dữ liệu PostgreSQL
- ứng dụng phần mềm mã nguồn mở để biên tập bản đồ trực tuyến, xây dựng các chức năng tìm kiếm vị trí một tỉnh trên bản đồ, dựa vào các thông tin về thời tiết Việt Nam trên Internet cập nhật về trang web xử lý thông tin thu đƣợc đƣa ra thông tin về nhiệt độ, độ ẩm, sức gió, … trong 3 ngày tiếp theo; sau đó tổng hợp thông tin đƣa ra cảnh báo về bão, lũ trên các tỉnh.
- Nghiên cứu quy trình khảo sát hiện trạng, ứng dụng RSS cập nhật mới cơ sở dữ liệu cho bài toán dự báo thời tiết
Bản đồ hoàn toàn có thể phát hành đƣợc trên mạng Internet và đáp ứng đƣợc những yêu cầu tìm kiếm thông tin về thời tiết trong nền cơ sở dữ liệu PostgreSQL lên nội dung của website, các thông tin thuộc tính liên quan đến các đối tƣợng không gian dễ dàng đƣợc cập nhật và phát triển sau này. Trong suốt quá trình thực hiện luận văn, học viên đã bám sát vào các nội dung đã đăng ký và đƣợc duyệt. Đề tài đã hoàn thành các mục tiêu và các yêu cầu đã đề ra.
ĐỊNH HƢỚNG PHÁT TRIỂN
Do công nghệ thành lập và phát hành bản đồ trực tuyến mà luận văn tập trung nghiên cứu gồm MapServer và PostgreSQL là hai hệ phần mềm mã mở có nhiều tính năng mạnh, nên việc sử dụng hai công nghệ này để thành lập bản đồ trực tuyến sẽ có hƣớng phát triển rất khả quan. Phát triển thêm tính năng truy vấn dữ liệu trên cả dữ liệu không gian lẫn trên dữ liệu thuộc tính. Ngƣời dùng nhập dữ liệu từ bàn phím để thực hiện truy vấn những thông tin về môi trƣờng, các điểm dịch vụ và giá cả hiện thời, dự báo thời tiết, cảnh báo thiên tai, các tin tức về thiệt hại do thiên tai gây ra, v.v.
TÀI LIỆU THAM KHẢO Tiếng Việt
1. Đặng Văn Đức (2001), Hệ thống thông tin địa lý, NXB Khoa học Kỹ thuật Hà Nội, Hà Nội.
2. Dƣơng Anh Đức và Lê Đình Duy, Khoa Công nghệ Thông tin, trƣờng Đại học Khoa học Tự Nhiên thành phố Hồ Chí Minh, Báo cáo Hội nghị Khoa học lần II (2000), Nghiên cứu một số cách tiếp cận xây dựng hệ thống WebGIS.
3. Nguyễn Thế Thận (1999), Cơ sở hệ thống thông tin địa lý GIS, Nhà xuất bản Khoa Học Và Kỹ Thuật, Hà Nội.
4. Trần Quốc Vƣơng (2006), Nghiên cứu WebGis phục vụ du lịch, Luận văn Thạc sỹ, Đại học Quốc Gia TP Hồ Chí Minh, TP Hồ Chí Minh
5. A.M. Berliant, Phương pháp nghiên cứu bằng bản đồ (2004), Hoàng Phƣơng Nga, Nhữ Thị Xuân (biên dịch), NXB Đại học Quốc gia Hà Nội.
Tiếng Anh
1. Bill Kropla (2005), Beginning MapServer Open Source GIS Development, Berkeley, California.
2. Clarke P (2005), Dynamic web-mapping using Scaleable Veclor Graphic
(SVG), QinetiQ. Malvern Technology Centre, England.
3. Dixon E.R (2002), Cartographic Design Principles in Interactive Multimedia, Preloria, South Africa.
4. Doyle, A. (ed.) (2000), OpenGIS Web Map Service Implementation Specification 1.0.0, <http://www.opengis.org/techno/specs/>.
5. Kraak M.J. and Brown A (2001), Web Cartography Developmenls and Prospects, Taylor & Francis, London.
6. Stephen Potts and Mike Kopack (2003), Sams Teach Yourself Web Services in 24 Hours, Sams Publishing.