2.2.1. Khảo sát hiện trạng về tài nguyên nƣớc
Dữ liệu tài nguyên nước bao gồm các hạng mục dữ liệu như trình bày bảng dưới đây
STT Hạng mục dữ liệu Chi tiết hạng mục dữ liệu TÀI NGUYÊN NƢỚC
1 Dữ liệu tài nguyên nước mặt Hồ sơ hồ chứa Hồ sơ đập dâng Hồ sơ cống nước Hồ sơ trạm bơm
Hiện trạng hồ chứa Hiện trạng đập dâng Hiện trạng cống nước Hiện trạng trạm bơm Bản đồ thủy hệ Bản đồ lưu vực sông
Bản đồ hệ thống thoát nước tự nhiên Bản đồ hệ thống thuỷ lợi
Bản đồ hệ thống cung cấp nước sạch Bản đồ nuôi trồng thuỷ sản.
2 Dữ liệu quan trắc nước mặt Đợt quan trắc nước mặt Mẫu quan trắc nước mặt Kết quả quan trắc nước mặt 3 Dữ liệu tài nguyên nước
dưới đất Công trình khai thác nước dưới đất Hiện trạng công trình khai thác nước dưới đất
Bản đồ Địađịa chất thủy văn
Bản đồ mạng lưới quan trắc nước dưới đất.
Bản đồ hiện trạng khai thác nước dưới đất
Bản đồ chất lượng nước dưới đất. Ảnh Địađịa tầng và cấu trúc giếng 4 Dữ liệu quan trắc nước dưới
đất Đợt quan trắc nước dưới đất
Mẫu quan trắc nước dưới đất Kết quả quan trắc nước dưới đất 5 Dữ liệu danh mục sông
6 Dữ liệu nước xả công nghiệp
7 Các loại dữ liệu khác Bản đồ hành chính tỉnh Thông tin kinh tế xã hội tỉnh Các tài liệu khác
Bảng 2.2.Hạng mục dữ liệu tài nguyên nước
Dữ liệu tài nguyên nước ở Địa địa phương được lưu trữ dưới dạng hồ sơ, giấy tờ đối với dữ liệu phi không gian, còn dữ liệu không gian được lưu trữ dưới các định dạng tệp đồ họa ví dụ như là: *.shp, *.tab, *.xml …
Với dữ liệu phi không gian: Để để quản lý thông tin dữ liệu tài nguyên nước của Địa địa phương tác giả đề xuất xây dựng ứng dụng phần mềm desktop để quản lý các dữ liệu về hồ sơ nước mặt, nước dưới đất, dữ liệu quan trắc.
Với dữ liệu không gian: Để để chia sẻ, phân phối thông tin dữ liệu bản đồ tác giả đề xuất xây dựng ứng dụng WEBGIS web-gis để phân phối, trao đổi dữ liệu.
Các chức năng trên trang web bao gồmcủa hệ thống phần mềm web-gis bao gồm:
a) Danh mục dữ liệu: lưu trữ các danh mục dữ liệu về tài nguyên nước • Dữ liệu tài nguyên nước mặt
• Dữ liệu quan trắc nước mặt • Dữ liệu tài nguyên nước dưới đất • Dữ liệu quan trắc nước dưới đất • Dữ liệu danh mục sông
• Dữ liệu nước xả công nghiệp • Các loại dữ liệu khác
b) Bản đồ:
• Phóng to, thu nhỏ bản đồ • Di chuyển bản đồ
• Truy vấn thông tin trên bản đồ • Tìm kiếm trên bản đồ
Các bản đồ được đưa lên sẽ được biên tập dưới dạng tài liệu SLD, từ đó máy chủ sẽ xuất bản đồ thành các dịch vụ WFS, WMS, WCS cung cấp cho người sử dụng;
Lựa chọn công nghệ
a. Công nghệ phát triển ứng dụng web
Formatted: Numbered + Level: 1 +
Numbering Style: a, b, c, … + Start at: 1 + Alignment: Left + Aligned at: 0,06" + Indent at: 0,31"
Formatted: Numbered + Level: 1 +
Numbering Style: a, b, c, … + Start at: 1 + Alignment: Left + Aligned at: 0,06" + Indent at: 0,31"
Xét về yếu tố ưu nhược điểm tác giả đề xuất xây dựng website dựa trên công nghệ mã nguồn mở, sử dụng các thư viện mã nguồn mở để phát triển. Vì công nghệ nguồn mở thể hiện các ưu điểm chính sau:
• Tính kinh tế: sử dụng phần mềm nguồn mở (PMNM) thực sự đã tiết kiệm
được khoản tiền khổng lồ. Song đó không phải là tất cả, bởi đôi khi lựa chọn phần mềm, người ta không quá chú trọng duy nhất vào vấn đề kinh phí, cái mà họ quan tâm là tiện ích sử dụng, chất lượng phần mềm. Xét về mặt này PMNM có những ưu việt đáng kể như: tính an toàn, tính ổn định đáng tin cậy; Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp; Giảm phụ thuộc vào nhập khẩu; Phát triển năng lực ngành công nghiệp của địa phươngtỉnh Bắc Giang; Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ; tính tuân thủ WTO; nội Địađịa hoá…
• Về tính an toàn: Thực tế cho thấy không hề tồn tại một hệ điều hành nào
mà tính an toàn của nó được hoàn hảo. Song, so với phần mềm nguồn đóng (PMNĐ) thì PMNM ưu việt hơn hẳn về độ an toàn.
• Về tính ổn định / đáng tin cậy: Các PMNM nổi tiếng là ổn định và đáng
tin cậy. Đây là kết luận rút ra sau khi các nhà nghiên cứu đã tiến hành thử nghiệm so sánh với các PMNĐ khác. Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp: Đặc biệt, khi sử dụng các sản phẩm PMNM, người sử dụng không còn phải lệ thuộc vào nhà cung cấp nữa. Tuy nhiên chúng cũng có những nhược điểm:
• Thiếu các ứng dụng kinh doanh đặc thù: Mặc dù có rất nhiều dự án PMNM đang được tiến hành, vẫn còn nhiều lĩnh vực chưa có một sản phẩm phần mềm hoàn thiện, đặc biệt là trong kinh doanh. Đó là do thiếu những người vừa giỏi về kỹ thuật lại vừa thạo về kinh doanh.
• Tính tương hỗ với các phần mềm đóng: Các PMNM nhất là khi cài trên máy để bàn, thường không hoàn toàn tương thích với PMNĐ. Đến lúc nào đó, khi các công ty đã chuyển từ hệ thống chuẩn đóng sang chuẩn mở thì vấn đề này sẽ được khắc phục.
• PMNM thiếu mất tính tiện dụng vốn là đặc trưng của phần mềm thương mại. Ngoài việc thiếu vắng một hệ thống hỗ trợ có chất lượng cao thì
giao diện đồ họa với người sử dụng (GUI – Graphical User Interface) của PMNM cũng không thân thiện.
Rất nhiều sản phẩm phần mềm, công cụ, mã mở ngày nay đã chú trọng đến việc hỗ trợ GIS và CSDL không gian như MapServer, PostGIS, Grass, SharpMap, …. Mỗi thư viện nguồn mở đều có những ưu điểm riêng nhưng qua nghiên cứu và tìm hiểu tác giả lựa chọn các thư viện nguồn mở GeoServer và Openlayer để sử dụng cho ứng dụng phân phối thông tin dữ liệu không gian tài nguyên nước.
Geoserver là một phần mềm máy chủ trên nền Java (Java based server) trợ giúp chúng ta thực hiện các thao tác chỉnh sửa và xem thông tin bản đồ số. Được thiết kế trên cơ sở các chuẩn của Hiệp hội không gian Địa lý mở (Open Geospatial Consortium – OGC), Geoserver cung cấp các tính năng chuẩn về hiển thị và thao tác với bản đồ số như: hiển thị thông tin từ nhiều nguồn dữ liệu đầu vào khác nhau (ERSI Shapefile, PostGIS table…), hiển thị cách trình bày bản đồ (Style Layer Descriptor – SLD), các công cụ zoom in, zoom out,…Geoserver cho phép xuất bản dữ liệu từ nhiều nguồn, nhiều định dạng khác nhau, sau khi đã được biên tập thành các chuẩn dịch vụ bản đồ như WMS, WFS, WCS, … cung cấp cho người sử dụng.
Openlayer là bộ thư viện bản đồ hoàn toàn miễn phí, được tích hợp cùng GeoServer giúp cho công việc tạo bản đồ trở nên đơn giản hơn bao giờ hết.bao gồm một tập các hàm, các phương thức trên nền tảng Javascript, giúp cho người sử dụng dễ dàng trong việc tạo ra các ứng dụng hiển thị, quản lý và phân phối bản đồ (web-gis) trên nền web-base.
Ngoài hai công nghệ trên, tác giả đã sử dụng các ngôn ngữ lập trình Sử dụng mô hình ngôn ngữ lập trình trên nền tảng .Net Framework, và javascripts để lập trình xây dựng website của hệ thống thử nghiệmvà các công cụ để kết hợp,.
b. Công nghệ số hóa, biên tập bản đồ
Nguồn dữ liệu thử nghiệm lấy từ Địa địa phương chủ yếu dưới dạng *.dgn (định dạng của hệ thống phần mềm microstation), tác giả sử dụng bộ dữ liệu lấy tại Sở Tài nguyên và Môi trường tỉnhcủa tỉnh Thái Nguyên;
c. Công nghệ chuyển đổi dữ liệu vào cơ sở dữ liệu
Dữ liệu nguồn DGN chuyển sang dạng shape file, và các dạng khác bằng hệ thống phần phềm ArgGIS của hãng Esri (Mỹ) sau đó chuyển vào lưu trữ trong CSDL;
Sử dụng hệ quản trị cơ sở dữ liệu SQL Server 2005 của Microsoft;
e. Công nghệ lập trình
Công cụ lập trình chính được sử dụng trong cài đặt thử nghiệm WEBGIS web- gis của đề tài là bộ Microsoft Visual Studio 2008.Đây là bộ công cụ phát triển các ứng dụng chuyên nghiệp của Microsoft đang được nhiều nhà phát triển phần mềm lựa chọn sử dụng;
Lựa chọn kiến trúc
Hình 2.3.Mô hình kiến trúc ứng dụng tài nguyên nước Địa phương
Tầng client
Người sử dụng dùng trình duyệt web (Internet Explorer, Mozilla Firefox ...) truy cập đến các trang web theo URL được định sẵn để yêu cầu về dịch vụ bản đồ: xem bản đồ tài nguyên nước, xem thông tin thuộc tính bản đồ về mạng lưới quan trắc, hiện trạng khai thác tài nguyên nước … người dùng cũng có thể trình bày bản đồ rồi gửi yêu cầu lên server xử lý.
Tầng giao dịch
Tầng giao dịch được tích hợp trong geoserver, nó có nhiệm vụ tiếp nhận các yêu cầu từ người sử dụng, lấy dữ liệu từ cơ sở dữ liệu theo yêu cầu người sử dụng, trình bày dữ liệu theo cấu hình định sẵn hoặc theo yêu cầu của người sử dụng và trả kết quả về theo yêu cầu. Tùy theo yêu cầu của người sử dụng mà kết quả về khác nhau, có thể là một hình ảnh dạng bimap (jpeg, gif, png) hay dạng vector được mã hóa như SVG, KML, GML,…Một khi dạng vector được trả về thì việc trình bày hình ảnh bản đồ được đảm nhiệm bởi người sử dụng, thậm trí người sử dụng có thể xử lý một số bài toán về không gian. Thông thường các response và request theo chuẩn HTTP POST hoặc GET.
Tầng cơ sở dữ liệu
Tầng cơ sở dữ liệu lưu trữ các dữ liệu tài nguyên nước bao gồm các dữ liệu không gian và phi không gian.Các dữ liệu này được quản trị bởi các hệ quản trị cơ sở dữ liệu như ORACLE, MS SQL SERVER, ESRI SDE, POSGRESQL … hoặc là các file dữ liệu dạng flat như shapefile, tab, XML …
CHƢƠNG 3: XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM PHÂN PHỐI DỮ LIỆU KHÔNG GIAN
3.1. Xây dựng mô hình Use-Case
3.1.1. Tác nhân
Tác nhân hệ thống: hệ thống gồm tác nhân như sau
uc Actors
Người dùng
Người tra cứu - khai thác chuyên môn kỹ thuật người quản trị
Hình 3.1. Sơ đồ Tác các tác nhân tham gia hệ thống tài nguyên nước
Nhóm ngƣời quản trị: Là người quản lý các tư liệu tài nguyên nước và các
hoạt động của tư nhân, doanh nghiệp và tổ chức hoạt động trong lĩnh vực tài nguyên nước cũng như các nghiệp vụ chuyên nghành như quản lý ... Đối với phần mềm quản lý tài nguyên nước, họ có quyền quản trị người dùng, quyền cập nhật các tư liệu trong CSDL, quyền quản lý các quy trình nghiệp vụ và quyền tra cứu các tư liệu.
Nhóm chuyên môn kỹ thuật: Nhóm nhập, cập nhật dữ liệu có quyền cập nhật
các dữ liệu trong CSDL, quyền tra cứu các tư liệu.
Nhóm ngƣời tra cứu – khai thác: là những người sử dụng như người dân có
quan tâm đến tài nguyên nước của Địa phương với mục đích khác nhau như sử dụng, khai thác, xem thông tin …
uc Mô hình ch?c nang
Hệ thống tài nguyên nước
Quản lý người dùng Quản lý danh mục dữ liệu TNN Quản lý bản đồ Người dùng (from Tác nhân)
Hình 3.2. Sơ đồ Tổng tổng quan các chức năng hệ thống tài nguyên nước
Chức năng quản lý bản đồ: bao gồm việc nhập bản đồ, hiển thị, chỉnh sửa bản đồ, tra cứu, tìm kiếm, kết xuất dữ liệu theo khuôn dạng người dùng yêu cầu.
uc Quản lý bản đồ
Quản lý bản đồ
Quản lý cơ sở dữ liệu bản đồ Nhập bản đồ
Hiển thị v à thao tác v ới bản đồ Người cập nhật
(from Tác nhân)
Hình 3.4. Sơ đồ Chi chi tiết chức năng quản lý bản đồ
Đặc tả Use-Case
Tác nhân Người dùng
Điều kiện tiên quyết Người dùng phải đăng nhập với quyền tương ứng. Điều kiện bảo đảm
Mối quan hệ includes Mối quan hệ extends
Các luồng sự kiện STT Người thực hiện Hành động
1 Người dùng Xây dựng bản đồ, xuất dữ liệu theo yêu cầu
2 Hệ thống Kiểm tra tính hợp lệ của dữ liệu đầu vào.
3 Hệ thống Thông báo cập nhật dữ liệu thành công.
4 Người dùng Thao tác bản đồ (di chuyển, phóng to, thu nhỏ)
5 Hệ thống xác định loại nút đang chọn là phóng to, thu nhỏ, hay di chuyển bản đồ
6 Người dùng Click chuột lên bản đồ
7 Hệ thống Tùy theo lựa chọn người dùng mà thực hiện thao tác phóng to, thu nhỏ hay di chuyển 8 Người dùng Truy vấn thông tin trên bản đồ 9 Người dùng Nhập thuộc tính cần tìm kiếm
và click chuột vào nút tìm kiếm
10 Hệ thống Thực hiện tìm kiếm và trả kết quả
11 Người dùng Click chuột vào kết quả 12 Hệ thống Hiển thị kết quả trên bản đồ Các ngoại lệ STT Người thực hiện Hành động
2a Hệ thống Thông báo lỗi: Dữ liệu nhập vào không hợp lệ.
10a Hệ thống Thông báo không tìm thấy dữ liệu theo yêu cầu
Các yêu cầu đặc biệt khác Bảng 3.2.Đặc tả Use-Case quản lý bản đồ Quan hệ thực thể c la s s Quả n lý bả n đồ « b o u n d a ry» frmBa nDo - L o p B D_ ID: l o n g - K V HC_ ID: l o n g + B a tT a tL o p B D_ Cl i ck(l o n g ) : vo i d + T h e m L o p B D_ Cl i ck() : vo i d + X o a B D_ Cl i ck(l o n g ) : vo i d + P h o n g T o B D_ Cl i ck() : vo i d + T h u Nh o B D_ Cl i ck() : vo i d + Di Ch u ye n B D_ Cl i ck() : vo i d + X e m to a n b o B D_ Cl i ck() : vo i d + Ch o n Do i T u o n g B D_ Cl i ck() : vo i d + B o Ch o n Do i T u o n g B D_ Cl i ck() : vo i d + X e m T T Do i T u o n g B D_ Cl i ck() : vo i d + T i m K i e m Do i T u o n g B D_ Cl i ck() : vo i d + T i m K i e m Do i T u o n g T h u o cT i n h _ Cl i ck() : vo i d + L o cT h e o K V HC_ Cl i ck(l o n g ) : vo i d + X u a tB D_ Cl i ck() : vo i d + X a yDu n g B D_ Cl i ck() : vo i d « co n tro l » c trBa nDo - L o p B D_ ID: l o n g - K V HC_ ID: l o n g + B a tT a tL o p B D(l o n g ) : vo i d + T h e m L o p B D() : vo i d + X o a B D(l o n g ) : vo i d + P h o n g T o B D() : vo i d + T h u Nh o B D() : vo i d + Di Ch u ye n B D() : vo i d + X e m T o a n B o B D() : vo i d + Ch o n Do i T u o n g B D() : vo i d + B o Ch o n Do i T u o n g B D() : vo i d + X e m T T Do i T u o n g B D() : vo i d + T i m K i e m Do i T u o n g B D() : vo i d + T i m K i e m Do i T u o n g T h u o cT i n h () : vo i d + L o cT h e o K V HC(l o n g ) : vo i d + X u a tB D() : vo i d + X a yDu n g B D() : vo i d
Hình 3.5. Sơ đồ Quan quan hệ thực thể
Chi tiết thực thể
ctrBando
Thuộc tính
Tên thuộc tính Kiểu LopBD_ID Private long KVHC_ID Private long Bảng 3.3.Thuộc tính thực thể ctrBando
Hành động
Phƣơng thức Mô tả Các tham số
BatTatLopBD() void
Public
Bật tắt lớp bản đồ long [in] LopBD
ThemLopBD() void
Public
Thêm lớp bản đồ
XoaBD() void
Public
Xóa bản đồ long [in] LopBD
PhongToBD() void Public Phóng to bản đồ ThuNhoBD() void Public Thu nhỏ bản đồ DiChuyenBD() void Public Di chuyển bản đồ XemToanBoBD() void Public Xem toàn bộ bản đồ ChonDoiTuongBD() void Public Chọn đối tượng bản đồ BoChonDoiTuongBD() void Public Bỏ chọn đối tượng bản đồ XemTTDoiTuongBD() void Public
Xem thông tin đối tượng bản đồ
Phƣơng thức Mô tả Các tham số
Public bản đồ
TimKiemDoiTuongThuocTinh()
void Public
Tìm kiếm đối tượng thuộc tính bản đồ
LocTheoKVHC() void
Public
Lọc theo đơn vị hành chính
long [in] KVHC_ID
XuatBD() void Public Xuất bản đồ XayDungBD() void Public Xây dựng bản đồ Bảng 3.4.Hành động thực thể ctrBando frmBanDo Thuộc tính
Tên thuộc tính Kiểu LopBD_ID Private long KVHC_ID Private Bảng 3.5.Thuộc tính thực thể frmBando Hành động
Phƣơng thức Mô tả Parameters
BatTatLopBD_Click() void
Public
Bật, tắt lớp bản đồ
Phƣơng thức Mô tả Parameters ThemLopBD_Click() void Public Thêm lớp bản đồ XoaBD_Click() void Public
Xóa bản đồ long [in] LopBD
PhongToBD_Click() void Public Phóng to bản đồ ThuNhoBD_Click() void Public Thu nhỏ bản đồ DiChuyenBD_Click() void Public Di chuyển bản đồ XemtoanboBD_Click() void Public Xem toàn bộ bản đồ ChonDoiTuongBD_Click() void Public Chọn đối tượng bản đồ BoChonDoiTuongBD_Click() void Public Bỏ chọn đối tượng bản đồ XemTTDoiTuongBD_Click() void Public
Xem thông tin đối tượng bản đồ
TimKiemDoiTuongBD_Click() void
Public
Tìm kiếm đối tượng bản đồ