Những đóng góp khác bao gồm Giao diện quản trị Web và hỗ trợ nhiều định dạng dữ liệu xuất ra. Nhƣ một GeoWeb mở rộng, GeoServer luôn không ngừng phát triển, từng bƣớc hỗ trợ: Google Earth, NASA World Wind, Google Maps, Windows Live Local và Yahoo Maps trong các dịch vụ desktop truyền thống và trong nền tảng GIS.
b. Quy trình hiển thị bản đồ trên GeoServer
Workspace Stores Layer Preview Style Layers PostgreSQL/ PostGIS .SLD Bả đồ trên GeoServer
Theo sơ đồ trên, ở trong GeoServer, ta tiến hành tạo một không gian làm việc (Worksoace), và trong Workspace tiếp tục tạo một kho dữ liệu (Stores, Stores lấy dữ liệu từ hệ quản trị cơ sở dữ liệu PostgreSQL/PostGIS). Kích hoạt các layers trong Stores, chọn Layer Preview để hiển thị bản đồ (bản đồ đƣợc hiển thị thông qua dịch vụ WMS). Các Layers có thể đƣợc hiển thị theo định dạng mặc định trong GeoServer hoặc hiển thị theo các kiểu hiển thị (style) đƣợc xây dựng từ tập tin có phần mở rộng là SLD.
CHƢƠNG 3: XÂY DỰNG DỊCH VỤ WEBGIS VÀ ỨNG DỤNG PHÂN TÍCH SỒ LIỆU THỐNG KÊ THÀNH PHỐ
ĐỒNG HỚI TỈNH QUẢNG BÌNH
3.1 Phân tích
3.1.1 Hiện trạng và nhu cầu thông tin
Trong thời đại ngày nay, số liệu thống kê kinh tế - xã hội đóng vai trò rất lớn vào việc hoạch định chính sách nghiên cứu, các nhà đầu tƣ, các công ty sản xuất, và cả ngƣời dân đều có nhu cầu sử dụng các thông tin dựa trên số liệu thống kê. Đối với mỗi nghành nghề, mỗi lĩnh vực khác nhau thì các loại số liệu và thông tin cần quan tâm cũng khác nhau Vì vậy, quản lý số liệu thống kê nhƣ thế nào để có thể cung cấp thông tin chính xác và nhanh chóng, theo các yêu cầu sử dụng khác nhau là điều rất quan trọng. Cần phải có một nơi lƣu trữ tốt, một phần mềm với nhiều công cụ hỗ trợ thích hợp để tập hợp các số liệu thống kê kinh tế - xã hội thành một hệ thống.Với cách quản lý hiện nay thì số liệu đƣợc cung cấp dƣới dạng các bảng biểu cố định mà chƣa chú ý khai thác khía cạnh không gian của dữ liệu. Sự kết hợp giữa dữ liệu thuộc tính và dữ liệu không gian là một hƣớng giải quyết hợp lý nhằm nâng cao khả năng thống kê hiện nay lên nhiều lần.
Qua qua trình khảo sát các trang web cung cấp thông tin của thành phố Đồng Hới, tỉnh Quảng Bình, tôi thấy chƣa có trang web nào cung cấp số liệu thống kê kinh tế - xã hội bằng hệ thông tin địa lý GIS mặc dù nhu cầu sử dụng về thống kê kinh tế - xã hội đƣợc nhiều cá nhân và tổ chức quan tâm. Vì vậy, tôi quyết định xây dựng ứng dụng thống kê kinh tế - xã hội của thành phố Đồng Hới nhằm phục vụ nhu cầu thống kê của cá nhân và các tổ chức quan tâm.
3.1.2. Phân tích hệ thống và định hƣớng công nghệ
Cùng với sự phát triển của công nghệ thông tin thì công nghệ GIS cũng có những bƣớc tiến dài trên toàn thế giới. Dƣ̃ liê ̣u GIS đã đƣợc các cơ quan , các tổ chức, các cá nhân quan tâm thu thâ ̣p , lƣu trƣ̃ và xây dƣ̣ng thành các hê ̣ thống GIS . Trong tƣơng lai, dƣ̃ liê ̣u sẽ đƣợc chia sẻ để dùng chung dƣới da ̣ng các di ̣ch vu ̣ cung cấp bản đồ và dƣ̃ liê ̣u. Ngƣời dùng có thể kết nối đến các máy chủ cung cấp các di ̣ch vu ̣ bản đồ và dƣ̃ liê ̣u này để tìm hi ểu các thông tin mà mình cần quan tâm . Vì thế, viê ̣c xây dƣ̣ng ứng dụng công nghệ GIS trên nền Web phu ̣c vu ̣ nhu c ầu tìm kiếm thông tin về thống kê sẽ nhắm vào viê ̣c tích hợp các nguồn dƣ̃ liê ̣u này . Hê ̣ thống trong pha ̣m vi đề tài sẽ tiến hành giả lập máy chủ cung cấp dữ liệ u dƣới đi ̣nh da ̣ng thống nhất GML (WFS), đồng
thời xây dƣ̣ng ƣ́ng du ̣ng truy câ ̣p , tích hợp dữ liệu từ máy chủ này để tạo thông tin thống kê cung cấp cho ngƣời dùng.
Trong phạm vi của đề tài này ứng dụng đƣợc xây dựng theo các bƣớc sau:
Bước 1:Tạo dữ liệu bản đồ
- Lấy dữ liệu từ nhiều nguồn khác nhau( Từ niên giám thống kê, từ trang web của thành phố Đồng Hới)
- Chỉnh sửa bản đồ bằng các công cụ ARC GIS
Bước 2:Cài đặt và sử dụng PostgresSQL+PostGIS
- Cài đặt và sử dụng PostgresSQL
- Cài đặt Plugin PostGIS và sử dụng nó để lấy dữ liệu vào PostgresSQL từ dữ liệu bản đồ
- Tạo database bản đồ trong PostgresSQL+Kết nối lấy dữ liệu vào bảng từ dữ liệu bản đồ
Bước 3:Tạo Stype cho bản đồ bằng công cụ uDig
- Tải uDig và cài đặt
- Sử dụng uDig để tạo stype cho bản đồ
Bước 4:Cài đặt và sử dụng Geoserver
- Tạo Workspaces
- Tạo Stores(Kết nối đến PostgresSQL)
- Tạo Styles(Import từ file XML đã tạo bằng công cụ uDig) - Tạo Layers
- Xem trƣớc bản đồ bằng Layer Preview
Bước 5:Xây dựng website bằng ASP.NET
- Xây dựng trang web
- Bố trí vùng để đặt bản đồ trong website
Bước 6: Sử dụng thư viện Openlayers
- Download thƣ viện
- Đẩy bản đồ đã xây dựng lên trang web bằng thƣ viện Openlayers
3.3. Mô hình hệ thống
Hệ thống sử dụng các phƣơng pháp thống kê, phân tích xác định các thông tin về kinh tế - xã hội để xây dựng dữ liệu các lớp bản đồ mang thông tin cả về không gian lẫn thuộc tính. Dữ liệu không gian là dữ liệu về ranh giới hành chính của các xã, phƣờng trong thành phố Đồng Hới. Dữ liệu thuộc tính đƣợc thu thập số liệu từ niên
giám thống kê của thành phố Đồng Hới và từ trang Web http://donghoi.gov.vn/front-
end/index.asp của thành phố Đồng Hới, tỉnh Quảng Bình.
Quá trình nghiên cứu và xây dựng hệ thống đƣợc thực hiện nhƣ sơ đồ dƣới đây:
3.4. Thiết kế
3.4.1. Thiết kế kiến trúc hệ thống
WebGIS thống kê kinh tế - xã hội nhắm đến ngƣời sử dụng là những ngƣời truy cập web bình thƣờng, không đòi hỏi phải có kiến thức nhiều về lĩnh vực GIS. Vì thế, hệ thống đƣợc xây dựng dựa trên kiến trúc Client - Server.
Hệ thống thiết kế với 3 tầng khác nhau nhƣ sau:
-Tầng trình bày : đƣợc xây dựng bằng Javascirpt, HTML và DHTML, thực hiện nhiệm vụ xử l ý các thao tác, lƣu trữ thông tin ứng với từng ngƣời sử dụng, đảm nhận vai trò trung gian, truyền nhận dữ liệu, giữa ngƣời sử dụng với web server.
-Tầng ứng dụng : chia làm 2 thành phần : Mapbuilder và GeoServer. Cả 2 đều đƣợc phát triển dựa trên công nghệ Java
+ Mapbuilder : đảm nhận trách nhiệm phát sinh giao diện và các đoạn script để tƣơng tác với client, đóng vai trò trung gian giữa client và GeoServer, nó sẽ gửi yêu cầu của client tới GeoServer và nhận dữ liệu trả về để gửi ngƣợc cho client.
Xây dựng trang Web Hghhg Phân tích, thiết kế CSDL Thu thập dữ liệu
Xây dựng CSDL Thiết kế trang Web
Chức năng Giao diện Kiểm thử Trang WebGIS Lỗi Hình 3.1 Sơ đồ hệ thống
+ GeoServer : xử lý các thao tác về phát sinh bản đồ, phóng to, thu nhỏ,dịch chuyển, tra cứu thông tin trên bản đồ. Nó là thành phần trung gian giữa Mapbuilder và tầng cơ sở dữ liệu, tiếp nhận yêu cầu từ Mapbuilder rồi gọi xuống tầng cơ sở dữ liệu để rút trích thông tin sau đó tiến hành xử l ý rồi trả kết quả về cho Mapbuilder.
-Tầng cơ sở dữ liệu : đóng vai trò trung gian giữa tầng ứng dụng với cơ sở dữ liệu. 3.4.2. Thiết kế chức năng 3.4.2.1. Sơ đồ chức năng chính Hình 3.2: Sơ đồ các chức năng chính 3.4.2.2. Mô tả chức năng 3.4.2.2.1. Quản trị
(1.1) Đăng nhập: Chức năng này dùng để đăng nhập vào hệ thống. Chỉ có ngƣời quản trị đƣợc cấp quyền mới đƣợc cho đăng nhập và xử lý dữ liệu. Để đăng nhập, ngƣời đăng nhập cần phải nhập tên đăng nhập và mật khẩu.
(1.2) Quản lý và cập nhật dữ liệu: Sau khi đăng nhập, ngƣời quản trị sẽ sử dụng chức năng này để cập nhật dữ liệu của website. Chức năng này cho phép xem danh sách các đối tƣợng trong một lớp, cho phép thêm, xóa, sửa và cập nhật các đối tƣợng.
(1)Quản trị (2) Ngƣời dùng (1.1) Đăng nhập (1.2) Quản lý và cập nhật dữ liệu (2.1) Tƣơng tác bản đồ (2.2) Tìm kiếm (2.1.1) Phóng to (2.1.4) Xem thông tin
(2.1.2) Thu nhỏ (2.2.1) Tìm kiếm theo tiêu chí nhập vào (2.2.2) Hiển thị không gian kết quả (2.1.3) Dịch chuyển theo hƣớng
3.4.2.2.2. Ngƣời dùng
(2.1) Các công cụ tƣơng tác với bản đồ:
(2.1.1) Phóng to: Phóng to bản đồ theo phạm vi hình chữ nhật do ngƣời dùng vẽ trên bản đồ
(2.1.2) Thu nhỏ: Thu nhỏ bản đồ theo phạm vi hình chữ nhật do ngƣời dùng vẽ trên bản đồ
(2.1.3) Dịch chuyển theo hƣớng: Dịch chuyển bản đồ theo các hƣớng (đông,
tây, nam, bắc, đông bắc, tây bắc, đông nam, tây nam)
(2.1.4) Xem thông tin: Xem thông tin chi tiết của một đối tƣợng do ngƣời dùng chọn trên bản đồ. Để xem thông tin, ngƣời dùng cần phải chọn lớp và chọn đối tƣợng cần xem.
(2.2) Tìm kiếm:
(2.2.1) Tìm kiếm theo tiêu chí nhập vào: Cho phép ngƣời dùng chọn lớp và
nhập các tiêu chí cần tìm để tìm các đối tƣợng. Kết quả tìm sẽ trả về danh sách đƣợc mô tả sơ lƣợc. Đồng thời cho phép ngƣời dùng chọn xem chi tiết từng đối tƣợng trong danh sách kết quả.
(2.2.2) Hiển thị không gian kết quả tìm: Cho phép ngƣời dùng xem vị trí không gian của kết quả tìm trên bản đồ.
3.4.3. Thiết kế giao diện 3.4.3.1. Giao diện quản trị 3.4.3.1. Giao diện quản trị
Hình 3.3: Sơ đồ web dành cho người quản trị
Đăng nhập
Quản trị
3.4.3.2. Giao diện ngƣời dùng
Sơ đồ web ngƣời dùng
(1) Trang chủ: HEADER(LOGO) Giới thiệu Hƣớng dẫn 15/3/2014 Trang chủ Bản đồ Thông tin về các xã, phƣờng trong thành phố Tìm kiếm Ảnh Liên kết web
Bottom Bản đồ tỉnh Lai Châu
Các công cụ
Trang chủ
Trang chủ Bản đồ Giới thiệu Hƣớng dẫn
Xem tin tức, Sự kiện
Hình ảnh Hỏi đáp Liên hệ
Hình 3.4: Sơ đồ web dành cho người dùng
(2) Bản đồ HEADER(LOGO) Giới thiệu Hƣớng dẫn 15/3/2014 Trang chủ Bản đồ các xã, phƣờng Bản đồ Chú giải Liên kết web Bottom 3.5. Xây dựng hệ thống
Hệ thống bao gồm trang chủ và các trang thông tin về thống kê kinh tế - xã hội của các xã, phƣờng trong thành phố Đồng Hới. Sau khi đăng nhập vào trang chủ sẽ hiện lên bản đồ của toàn bộ các xã, phƣờng trong thành phố Đồng Hới. Ngƣời sử dụng có thể chọn các thông tin về kinh tế - xã hội(ví dụ nhƣ sản lƣợng nông nghiệp, số học sinh của các trƣờng học,… ) của từng xã, phƣờng trong từng năm mà mình quan tâm. Ngƣời quản trị có thể thêm mới, sửa hoặc xóa các đối tƣợng.
Các công cụ
3.5.1. Cài đặt và sử dụng PostgresSQL+PostGIS 3.5.1.1. Cài đặt hệ quản tr ị cơ sở dữ liệu PostgreSQL 3.5.1.1. Cài đặt hệ quản tr ị cơ sở dữ liệu PostgreSQL
Ngƣời dùng chạy file “postgresql-8.4.6-1-windows.exe” (đƣợc tải tại trang web:
http://www.postgresql.org/) để tiến hành cài đặt.
Tiếp theo ngƣời dùng chạy file “postgis_1_5_pg84.exe” để cài đặt extension PostGIS (tải tại trang web: http://postgis.refractions.net/).
Sau khi cài đặt PostgreSQL 8.4 và phần mở rộng PostGIS (hỗ trợ lƣu dữ liệu không gian), extension PostGIS sẽ tạo ra một PostGIS database template với tên là template_postgis, với các table, function… sẵn sàng hỗ trợ quản lý dữ liệu không gian.
Hình 3.7. Sơ đồ tổ chức trang Web
Trang chủ
Thêm mới Chỉnh sửa
Sửa Xóa
Trang chủ Bản đồ Giới thiệu Hƣớng dẫn
Xem tin tức, sự kiện
Sau đó chọn biểu tƣợng pgAdmin III để khởi động PostgreSQL và tạo cơ sở dữ liệu cho ứng dụng.
Nhấn phải chuột tại “Database”, chọn New Databases để tạo một cơ sở dữ liệu hoàn toàn mới hỗ trợ lƣu cơ sở dữ liệu không gian.
Hình 3.8. Cấu trúc template_postgis
Đặt tên cơ sở dữ liệu muố n tạo, ví dụ là QLCX, mục Owner chọn mặc định là Postgres, mục Template chọn template_postgis, các phần còn lại để mặc định. Nhấn OK để tạo cơ sở dữ liệu.
Sau khi tạo cơ sở dữ liệu QLCX, nhấn phải chuột trên Database và chọn Restore…
Chọn file qlcx.backup đã tạo sẵn. Nhấn OK.
Sau khi restore thành công, các bảng đƣợc tạo trong mục Tables
Hình 3.12. Restore Database vào CSLD
3.5.1.1. Import shapefile vào PostgreSQL/PostGIS – Kết nối gvSIG với CSDL
Khi cài đặt PostgreSQL, ta chọn các Extension: PostGIS (hỗ trợ dữ liệu không gian), PgAdmin III (giao diện đồ họa quản trị PostgreSQL), psql (giao diện command line). Sau khi cài đặt, extension PostGIS sẽ tạo ra một PostGIS database template với tên là template_postgis, với các table, function,… sẵn sàng hỗ trợ quản lý dữ liệu không gian.
Login vào PostgreSQL bằng pdAdmin III, chọn “New database” để tạo một database hoàn toàn mới, hỗ trợ dữ liệu không gian, đặt tên là qlcx. Mục Owner chọn mặc định là Postgres, mục Template chọn plate_postgis.
Hình 3.14. Cấu trúc template_postgis
Chọn CSDL “qlcx” vừa mới tạo, vào menu Plugins chọn PostGIS Shapefile and DBF
loader để Import shapefile vào CSDL “qlcx”.
Xuất hiện cửa sổ Shape File to PostGIS Importer, chọn shapefile và Import vào.
Hình 3.16. Menu Plugins trong PostgreSQL
Kết quả là table “cayxanh” và import đầy đủ các records của shapefile cayxanh.shp
3.5.1.2. Đƣa CSDL trong postgreSQL lên GeoServer và tạo kiểu hiển thị (style) cho các lớp dữ liệu. cho các lớp dữ liệu.
Tạo không gian lƣu trữ dữ liệu lấy từ Databases donghoi 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.18. Dữ liệu bảng cây xanh trong pgAdmin III
Nhập tên Workspaces vào mục Name là donghoi và chọn Submit.
Tạo kho (Store) lấy dữ liệu từ PostgreSQL và phải nằm trong Workspaces donghoi: 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.20. Hộp thoại tạo Store
Chọn Workspaces là donghoi (tên của Workspaces trong GeoServer) và schema là donghoi (tên của Databases trong postgreSQL).
Tạo các lớp dữ liệu (layers) từ kho dữ liệu (store) donghoi: Trong mục Data trên giao diện của GeoServer chọn Layers chọn Add a new resource chọn donghoi:donghoi (tên của Workspaces và Store) xuất hiện hộp thoại:
Chọn Publish xuất hiện:
Hình 3.20. Hộp thoại tạo các lớp dữ liệu
Chọn Find tìm hệ tọa độ trùng với hệ tọa độ của shapefile và trùng với số SRID trong postgreSQL là 4326 tƣơng ứng với hệ tọa độ WGS 1984. Nhấp chuột trái vào Compute from data và Compute from native bounds để xác định khung giới hạn khu vực bản đồ cần nghiên cứu. Chọn Save để lƣu lại lớp dữ liệu (layers).
Tạo kiểu hiển thị (style) cho các lớp dữ liệu (layers) bằng thƣ viện mã nguồn mở (URL: www.docs.geoserver.org/stable/en/user/styling/index.html).
Trong thƣ viện có nhiều kiểu hiển thị (style) tƣơng ứng với các kiểu dữ liệu: điểm (point), đƣờng (line), vùng (polygon). Mỗi kiểu hiển thị (style) có một đoạn code tƣơng ứng (file định dạng .sld).
Shapefile hành chính phƣờng có kiểu dữ liệu vùng (polygon) ta có code tạo kiểu hiển thị (style) nhƣ sau:
Tạo style mới (hcphuong) trong GeoServer, copy code qua style hcphuong.
Đƣa style hcphuong vào layer hcphuong.
Vào Layer Preview để kiểm tra lớp dữ liệu (layer) đã có kiểu hiển thị (style).
Sau đó ta sử dụng thƣ viện Openlayers để gắn bản đồ lên web.
3.6. Cài đặt và thử nghiệm
Chƣơng trình đƣợc cài đặt trên máy có cấu hình Intel® Core(TM) i3 CPU M380@ 2.53GHz (2 CPUs), RAM 2GB.
Máy đƣợc cài đặt Mapbuilder, GeoServer, PostgreSQL và Apache Tomcat. Kết quả thử nghiệm nhƣ sau:
STT Tính năng Đánh giá
1