BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM
BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
ĐỀ TÀI
XÂY DỰNG HỆ THỐNG QUẢN LÝ
VỀ THẢM THỰC VẬT
CHO THÀNH PHỐ ĐÀ NẴNG TRÊN NỀN
OPENGIS
Giảng viên hướng dẫn
: TS. NGUYỄN TRẦN QUỐC VINH
Sinh viên
: VÕ THÀNH ĐẠT
Mã số sinh viên
: 312011121104
Lớp sinh hoạt
: 12SPT
Ngành
: SƯ PHẠM TIN HỌC
Khoa
: KHOA TIN HỌC
LỜI CẢM ƠN
Đầu tiên em xin được gởi lời cảm ơn chân thành và sâu sắc tới Tiến sĩ Nguyễn
Trần Quốc Vinh, người đã tận tình hướng dẫn, giúp đỡ em để khóa luận này được hồn
thành.
Em xin chân thành cảm ơn Trường Đại học Sư phạm Đà Nẵng cùng toàn thể các
giảng viên của khoa Tin học, trường Đại học Sư phạm Đà Nẵng đã tạo mọi điều kiện
thuận lợi cho em trong q trình học tập và hồn thành khóa luận tốt nghiệp đại học.
Em xin được cảm ơn sự dạy dỗ, chỉ bảo và quan tâm của các thầy cô khoa Tin học trong
suốt thời gian em theo học và hồn thành khóa luận.
Cuối cùng, em muốn gửi lời cảm ơn chân thành tới gia đình, bạn bè, những người
ln động viên khích lệ giúp em hồn thành khóa luận tốt nghiệp. Xin chân thành cảm
ơn!
SINH VIÊN
Võ Thành Đạt
LỜI CAM ĐOAN
Tôi xin cam đoan:
1. Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn
trực tiếp của Tiến sĩ Nguyễn Trần Quốc Vinh, trưởng khoa Tin học, trường
Đại học Sư phạm, đại học Đà Nẵng.
2. Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác
giả, tên cơng trình, thời gian, địa điểm cơng bố.
3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin
chịu hồn tồn trách nhiệm.
SINH VIÊN
Võ Thành Đạt
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
Đà Nẵng, ngày 06 tháng 05 năm 2016.
TRƯỞNG KHOA
GIẢNG VIÊN HƯỚNG DẪN
SINH VIÊN
TS. Nguyễn Trần Quốc Vinh
TS. Nguyễn Trần Quốc Vinh
Võ Thành Đạt
TÓM TẮT
Đề tài tốt nghiệp “Xây dựng hệ thống quản lý về thảm thực vật cho thành phố Đà
Nẵng trên nền OpenGis” được thực hiện trong thời gian từ 01/01/2016 đến 1/05/2016
với dữ liệu thí điểm là một số lồi thực vật quý hiếm trên địa bàn thành phố Đà Nẵng.
Đề tài thực hiện nghiên cứu về WebGIS mã nguồn mở sử dụng Web Server là Apache,
server là GeoServer, thư viện OpenLayers và GeoExt, hệ quản trị cơ sở dữ liệu
Postgres/PostGIS, sử dụng Java Spring trong xây dựng trang quản trị người dùng và
quản trị CSDL. Đề tài tiến hành phân tích, thiết kế CSDL, thiết kế trang Web và xây
dựng trang WebGIS quản lý thông tin về thảm thực vật.
Đề tài đạt được những kết quả cụ thể như sau:
-
Hoàn thành việc thiết kế và xây dựng cơ sở dữ liệu địa lý về bản đồ hành
chính thành phố Đà Nẵng, bản đồ các khu bảo tồn bán đảo Sơn Trà, Bà Nà –
Núi Chúa, Bạch Mã, và bản đồ phân bố một số loài thực vật quý hiếm.
-
Hoàn thành việc thiết kế các chức năng và thiết kế giao diện trang WebGIS
để cung cấp thông tin về sự phân bố của các loài thực vật gắn liền với thơng
tin các khu bảo tồn và khu vực hành chính.
-
Xây dựng thành công trang WebGIS hiển thị với các chức năng tương tác bản
đồ, hiển thị, tìm kiếm và quản lý cập nhật các thông tin về sự phân bố các loài
thực vật trên địa bàn thành phố.
MỤC LỤC
DANH MỤC VIẾT TẮT ................................................................................................i
DANH MỤC CÁC HÌNH ............................................................................................ ii
DANH MỤC CÁC BẢNG............................................................................................iv
MỞ ĐẦU ......................................................................................................................... 1
1.
Tính cấp thiết của đề tài ....................................................................................1
2.
Mục tiêu nghiên cứu của đề tài ........................................................................2
3.
Đối tượng và phạm vi nghiên cứu ....................................................................3
4.
Phương pháp nghiên cứu ..................................................................................3
5.
Bố cục đề tài .......................................................................................................4
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .............................................................................5
1.1.
WebGIS ......................................................................................................5
1.2.
Chuẩn dữ liệu không gian OGC .............................................................. 7
1.3.
GeoServer ...................................................................................................8
1.4.
OpenLayers ................................................................................................ 9
1.5.
Geoext .........................................................................................................9
1.6.
PostgreSQL/PostGIS...............................................................................10
1.7.
Java Spring .............................................................................................. 11
1.8.
Một số nghiên cứu trong và ngồi nước ................................................13
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .......................................14
1.1.
Phân tích, thiết kế chức năng .................................................................15
1.2.
Phân tích, thiết kế CSDL ........................................................................24
1.3.
Thiết kế giao diện web ............................................................................38
CHƯƠNG 3. KẾT QUẢ VÀ ĐÁNH GIÁ .................................................................41
1.1.
Kết quả .....................................................................................................41
1.2.
Đánh giá ...................................................................................................50
KẾT LUẬN VÀ ĐỀ NGHỊ ......................................................................................... 51
1.
Kết luận ............................................................................................................51
2.
Đề nghị ..............................................................................................................51
TÀI LIỆU THAM KHẢO........................................................................................... 52
PHỤ LỤC 1: Cách cài đặt module Postgis vào PostgreSQL. ..................................54
PHỤ LỤC 2: Thơng tin về một số lồi thực vật sử dụng trong chương trình. ......56
DANH MỤC VIẾT TẮT
STT
Cụm từ đầy đủ
Chứ cái viết tắt / kí hiệu
1
API
Application Programming Interface
2
CSDL
Cơ sở dữ liệu
3
FK
Foreign key
4
GIS
Geographic Information System
5
HTTP
HyperText Transfer Protocol
6
J2EE
Java 2 Enterprise Edition
7
OQC
Open Geospatial Consortium
8
PK
Primary key
9
SLD
Styled Layer Desrciptor
10
SQL
Structured Query Language
11
TOPP
The Open Planning Project
12
URL
Uniform Resource Location
13
WCS
Web Coverage Service
14
WFS
Web Feature Service
15
WMS
Web Map Service
16
XML
Extensible Markup Language
i
DANH MỤC CÁC HÌNH
Hình 1.1 Sơ đồ kiến trúc 3 tầng của WebGIS ............................................................. 5
Hình 1.2 Quy trình hiển thị bản đồ trên GeoServer ..................................................... 9
Hình 2.1 Sơ đồ tiến trình thực hiện.............................................................................. 14
Hình 2.2 Sơ đồ phân cấp chức năng trang web ........................................................... 15
Hình 2.3 Sơ đồ dữ liệu mức ngữ cảnh ......................................................................... 19
Hình 2.4 Sơ đồ dữ liệu mức đỉnh ................................................................................. 19
Hình 2.5 Sơ đồ phân rã chức năng 1.0 ......................................................................... 20
Hình 2.6 Sơ đồ phân rã chức năng 2.0 ......................................................................... 20
Hình 2.7 Sơ đồ phân rã chức năng 1.2 ......................................................................... 21
Hình 2.8 Sơ đồ phân rã chức năng 2.1 ......................................................................... 21
Hình 2.9 Sơ đồ giải thuật đăng nhập vào hệ thống ...................................................... 22
Hình 2.10 Sơ đồ giải thuật quản lý thêm thông tin phân bố thực vật .......................... 22
Hình 2.11 Sơ đồ giải thuật quản lý cập nhật thơng tin phân bố thực vật..................... 23
Hình 2.12 Sơ đồ giải thuật quản lý xóa thơng tin phân bố thực vật ............................ 23
Hình 2.13 Mơ hình thực thể kết hợp ............................................................................ 26
Hình 2.14 Sơ đồ dữ liệu quan hệ ................................................................................. 28
Hình 2.15 Sơ đồ tổ chức trang web ............................................................................. 38
Hình 2.16 Giao diện trang đăng nhập vào hệ thống .................................................... 39
Hình 2.17 Giao diện trang danh sách thơng tin phân bố thực vật ............................... 39
Hình 2.18 Giao diện trang thêm thơng tin phân bố thực vật ....................................... 43
Hình 3.1 Giao diện trang Bản đồ ................................................................................. 42
Hình 3.2 Bản đồ thể hiện địa điểm phân bố các loài thực vật .................................... 43
Hình 3.3 Thanh cơng cụ ............................................................................................... 43
Hình 3.4 Thẻ tìm kiếm theo từ khóa đang hoạt động .................................................. 44
Hình 3.5 Xem thuộc tính của các đối tượng ................................................................ 45
Hình 3.6 Giao diện bản đồ khi ấn các thẻ .................................................................... 45
Hình 3.7 Giao diện cơng cụ đo khoảng cách ............................................................... 46
ii
Hình 3.8 Giao diện cơng cụ đo diện tích ..................................................................... 46
Hình 3.9 Giao diện cơng cụ vẽ để tìm kiếm ................................................................ 47
Hình 3.10 Giao diện cơng cụ tìm kiếm theo khơng gian ............................................. 47
Hình 3.11 Giao diện cơng cụ tìm kiếm theo thuộc tính ............................................... 48
Hình 3.12 Kết quả tìm kiếm hiển thị theo danh sách................................................... 48
Hình 3.13 Kết quả tìm kiếm hiển thị theo chi tiết từng đối tượng............................... 49
Hình 3.14 Giao diện danh sách các lồi thực vật......................................................... 49
Hình 3.15 Giao diện thơng tin chi tiết lồi thực vật .................................................... 50
iii
DANH MỤC CÁC BẢNG
Bảng 2.1 Mô tả chức năng người quản trị .................................................................. 16
Bảng 2.2 Mô tả chức năng người quản lý CSDL ......................................................... 16
Bảng 2.3 Mô tả chức năng người dùng (khai thác bản đồ) .......................................... 17
Bảng 2.4 Mô tả thuộc tính của Gioi ............................................................................. 27
Bảng 2.5 Mơ tả thuộc tính của Nganh ......................................................................... 29
Bảng 2.6 Mơ tả thuộc tính của PhanBoTheoKhuBaoTon ........................................... 29
Bảng 2.7 Mơ tả thuộc tính của PhanBoTheoLanhThoHanhChinh .............................. 29
Bảng 2.8 Mơ tả thuộc tính của Lop .............................................................................. 30
Bảng 2.9 Mơ tả thuộc tính của Bo ............................................................................... 30
Bảng 2.10 Mơ tả thuộc tính của Ho ............................................................................. 31
Bảng 2.11 Mơ tả thuộc tính của Giong ........................................................................ 31
Bảng 2.12 Mơ tả thuộc tính của Loai ........................................................................... 32
Bảng 2.13 Mơ tả thuộc tính của ThongTinPhanBoThucVat ....................................... 33
Bảng 2.14 Mơ tả thuộc tính của KhuBaoTon .............................................................. 34
Bảng 2.15 Mơ tả thuộc tính của QuanHuyen ............................................................... 34
Bảng 2.16 Mơ tả thuộc tính của PhuongXa ................................................................. 35
Bảng 2.17 Mơ tả thuộc tính của Nhom ........................................................................ 35
Bảng 2.18 Mơ tả thuộc tính của TaiKhoan .................................................................. 36
Bảng 2.19 Mơ tả thuộc tính của Quyen ....................................................................... 36
Bảng 2.20 Mơ tả thuộc tính của PhanNhom ................................................................ 37
Bảng 2.21 Mơ tả thuộc tính của PhanQuyenNhom ..................................................... 37
Bảng 2.22 Mơ tả thuộc tính của PhanQuyenCaNhan .................................................. 37
iv
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Đà Nẵng là TP thuộc khu vực Trung Trung bộ của Việt Nam. Với diện tích hơn
1.285,4 km2 (năm 2013) bao gồm huyện đảo Hồng Sa, trong đó diện tích rừng chiếm
gần 50%, đường bờ biển dài gần 90km và trên 1.000ha diện tích lưu vực song, hồ, vùng
trũng tạo nên sự đa dạng về địa hình cho thành phố. Đà Nẵng là nơi giao thoa của các
tiểu vùng khí hậu, điều đó đã dẫn đến đa dạng về các kiểu hệ sinh thái, đồng thời thành
phố còn là nơi giao thoa của hai trung tâm đa dạng sinh học lớn là Bạch Mã và Ngọc
Linh. Do đó các khu hệ động thực vật ở Đà Nẵng có mức độ đa dạng cao về thành phần
lồi (WWF, 2004).
Nhiều cơng trình nghiên cứu về thảm thực vật tại Đà Nẵng được thực hiện từ những
năm 90 của thế kỉ XX, tập trung chủ yếu tại hai khu bảo tồn thiên nhiên của thành phố
là khu bảo tồn thiên nhiên Bà Nà – Núi Chúa và khu bảo tồn thiên nhiên Sơn Trà như
nghiên cứu của Đinh Thị Phương Anh năm 1997 về các khu hệ động, thực vật tại khu
bảo tồn thiên nhiên Sơn Trà [2]; hay các nghiên cứu về đa dạng các loài động, thực vật
tại khu bảo tồn thiên nhiên Bà Nà – Núi Chúa… Tuy có nhiều nghiên cứu về thảm thực
vật tại TP Đà Nẵng, nhưng các cơng trình nghiên cứu này thường nằm riêng rẽ, phân tán
trên các website, bài báo khoa học mà chưa được thống kê, tổng hợp, gây khó khăn trong
q trình tìm kiếm thơng tin, dữ liệu đã có về hiện trạng thảm thực vật, phục vụ cho việc
học tập, nghiên cứu của nhiều đối tượng khác nhau.
Hệ thống thông tin địa lý (GIS - Geography Information System) ra đời vào những
năm đầu của thập kỷ 70 và ngày càng phát triển mạnh mẽ trên nền tảng sự phát triển của
khoa học công nghệ mà đặc biệt là công nghệ thông tin. Trong suốt q trình phát triển,
cơng nghệ GIS đã ln hồn thiện từ thấp đến cao, từ đơn giản đến phức tạp, từ chuyên
dụng đến đa dụng để phù hợp với tiến độ của khoa học kỹ thuật nhằm giải quyết các vấn
đề ngày một đa dạng hơn và phức tạp hơn. Ngày nay, cùng với sự phát triển của Internet,
công nghệ GIS được phát triển theo hướng tích hợp GIS trên nền Web hay cịn gọi là
WebGIS. Cơng nghệ WebGIS - cung cấp khả năng quản lý thông tin lãnh thổ trên cơ sở
tích hợp các thơng tin bản đồ và thơng tin thuộc tính của đối tượng trên nền Web - đã
1
trở thành một hướng đi mới mang lại hiệu quả cao trong nhiều lĩnh vực trong đó có lĩnh
vực địa lý sinh học.
Việc cung cấp thông tin bởi phương pháp truyền thống bản đồ giấy hay bản đồ trên
máy desktop không phổ biến, không được thông tin một cách rộng rãi, nhanh chóng cho
các đối tượng liên quan, mặc khác cịn tốn chi phí lớn cho các nhà khoa học về khoảng
in ấn hay cài đặt phần mềm bản đồ trên desktop. Vì thế, phương pháp sử dụng mạng
Internet thật sự hữu ích khi cùng lúc có thể mang đến thơng tin đầy đủ, nhanh chóng,
thuận tiện cho nhiều đối tượng, dễ dàng trong việc sử dụng và giảm chi phí cài đặt sử
dụng phần mềm trên desktop, giúp nhà khoa học cơng bố các thơng tin về địa lí sinh học
vừa hiệu quả vừa tiết kiệm.
OpenGIS là công nghệ giúp xây dựng hệ thống WebGIS mã nguồn mở với nhiều ưu
điểm như miễn phí, khả năng phát triển, hỗ trợ bởi cộng đồng lớn mạnh,... là xu hướng
phố biến thơng tin mạnh mẽ trên Internet khơng chỉ dưới góc độ thơng tin thuộc tính
thuần túy mà nó kết hợp được với thơng tin khơng gian. Vì thế, cơng nghệ OpenGIS phù
hợp cho việc phát triển các ứng dụng quản lý thơng tin thuộc tính và khơng gian đáp
ứng nhu cầu trên.
Trên cơ sở đó, việc thực hiện đề tài “Xây dựng hệ thống quản lý đa dạng sinh học
cho thành phố Đà Nẵng trên nền OpenGIS” là thật sự cần thiết.
2. Mục tiêu nghiên cứu của đề tài
Thiết kế và xây dựng một trang WebGis bằng mã nguồn mở nhằm phục vụ công tác
quản lý thảm thực vật. Mục tiêu cụ thể như sau:
-
Thiết kế và xây dựng CSDL địa lý - sinh học gồm thông tin về các khu vực hành
chính, thảm thực vật và sự phân bố thảm thực vật trên địa bàn thành phố Đà Nẵng.
-
Thiết kế chức năng và thiết kế giao diện, bao gồm:
o Kết hợp bản đồ các khu bảo tồn và bản đồ hành chính thành phố Đà Nẵng.
o Xác định vị trí phân bố của lồi thực vật đang ở trong khu bảo tồn nào và
thuộc khu vực hành chính nào.
o Tìm kiếm dữ liệu về vị trí phân bố sinh vật, thảm thực vật theo thuộc tính,
theo khơng gian và các chức năng đo đạc, in ấn bản đồ
2
3. Đối tượng và phạm vi nghiên cứu
-
Đối tượng nghiên cứu
o Framework có sử dụng mơ hình M.V.C.
o Cơng cụ quản lý và thiết lập tự động dự án phần mềm.
o Hệ quản trị cơ sở dữ liệu quan hệ và đối tượng mã nguồn mở (ORDBMS).
o Hệ thống thông tin địa lý mã nguồn mở.
o Địa lý sinh vật.
o Cập nhật bất đồng bộ.
o Thông tin địa lý sinh học trên địa bàn thành phố Đà Nẵng.
-
Phạm vi nghiên cứu
o Mơ hình M.V.C trong Java Spring 4.
o Giao diện lập trình ứng dụng (API) trong Java Spring 4.
o Cơng cụ Maven dùng để quản lý và thiết lập tự động dự án phần mềm .
o Hệ quản trị cơ sở dữ liệu quan hệ và đối tượng mã nguồn mở PostgreSQL.
o Hệ thống thông tin địa lý mở GeoServer.
o Thư viện hỗ trợ hiển thị bản đồ Geoext, hỗ trợ xây dựng trang quản lý
Bootsrap.
o Cách tạo bản đồ phân bố của một số loài động thực vật, thảm thực vật trên
một đơn vị hành chính hoặc của một số lồi động thực vật có tên trong
trong sách đỏ ở địa bàn thành phố Đà Nẵng bằng công cụ vẽ bản đồ uDig.
o Kỹ thuật lập trình bất đồng bộ AJAX.
o Hệ thống quản lý mã nguồn mỡ Bitbucket.
4. Phương pháp nghiên cứu
-
Sử dụng Internet là nguồn tư liệu chính để học tập và xây dựng webgis với Java
Spring 4, Geoserver, Geoext, uDig, Postgresql/PostGIS, Bootstap.
-
Tham khảo cách tổ chức bố cục của các webgis nước ngoài.
-
Gặp gỡ giáo viên khoa Địa để học hỏi cách vẽ bản đồ.
-
Tìm hiểu các trang web của Đà Nẵng có thơng tin về động thực vật, các khu bảo
tồn thiên nhiên, các bản đồ hiện có về Đà Nẵng.
3
-
Đọc một số bài báo khoa học có thơng tin về các loài động thực vật ở Đà Nẵng,
sự phân bố thảm thực vật ở Đà Nẵng.
-
Đề xuất các chức năng cho ứng dụng dựa trên những điều mình được xem, tìm
hiểu và trải nghiệm.
5. Bố cục đề tài
Đề tài được chia làm 4 phần chính:
Chương 1. Cơ sở lý thuyết
Giới thiệu những nền tảng công nghệ mã nguồn mở để xây dựng WebGIS bao gồm
OpenGIS, chuẩn dữ liệu không gian OGC, GeoServer, Posgtesql, Geoext, Java Spring
và đồng thời đề cập đến vai trò của mỗi nền tảng.
Chương 2. Phân tích và thiết kế hệ thống
Tập trung vào việc phân tích và thiết kế mơ hình CSDL theo hướng cấu trúc, thiết
kế chức năng và thiết kế giao diện web.
Chương 3. Kết quả và đánh giá:
Mô tả những kết quả đã đạt được, trình bày trên giao diện.
Đánh giá ưu điểm và hạn chế của chương trình.
Kết luận và đề nghị:
Ý nghĩa của đề tài.
Đề xuất hướng nghiên cứu và phát triển đề tài.
4
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1.
WebGIS
1.1.1 Khái niệm
WebGIS hay công nghệ GIS trên nền Web là hệ thống thông tin địa lý phân tán trên
một mạng các máy tính để tích hợp, trao đổi các thơng tin địa lý trên mạng Internet.
Trong cách thực hiện việc phân tích GIS, dịch vụ này giống như kiến trúc Client-Server
của Web. Xử lý thông tin địa lý được chia thành các nhiệm vụ ở phía Server và phía
Client. Điều này cho phép người dùng có thể truy xuất, thao tác và nhận kết quả từ việc
khai thác dữ liệu GIS từ trình duyệt web của họ một cách đơn giản không cần sự hỗ trợ
của phần mềm GIS.
WebGIS hoạt động theo mơ hình Client - Server giống như hoạt động của một
website thông thường, vì thế hệ thống WebGIS cũng có kiến trúc ba tầng (3 tier) điển
hình của một ứng dụng Web thơng dụng. Kiến trúc 3 tier gồm có ba thành phần cơ bản
đại diện cho ba tầng: Client, Application Server và Data Server (xem hình 1.1).
Hình 1.1 Sơ đồ kiến trúc 3 tầng của WebGIS
Client: thường là một trình duyệt Web browser như Internet Explorer, Fire Fox,
Chrome,… để mở các trang web theo URL (Uniform Resource Location - địa chỉ định
vị tài nguyên thống nhất) định sẵn. Các Client đôi khi cũng là một ứng dụng desktop
tương tự như phần mềm MapInfo, ArcGIS,...
5
Application Server: thường được tích hợp trong một Web Server. Ngoài ra, khác với
hệ thống Web thường, đối với hệ thống WebGIS thì Web Server cịn kết hợp với một
ứng dụng bản đồ trên phía server có thể là ArcGIS Server, MapServer, GeoServer,…
-
Web Server còn được gọi là HTTP Server (như Apache). Chức năng chính
của Web Server là tiếp nhận và đáp lại những yêu cầu từ những trình duyệt
Web thông thường thông qua nghi thức truyền dữ liệu trên mạng HTTP.
-
Server của WebGIS là nơi hoàn thành những truy vấn khơng gian, chỉ dẫn
phân tích khơng gian, tạo và trả lại bản đồ theo yêu cầu từ Client.
Data Server: là nơi lưu trữ các dữ liệu bao gồm cả dữ liệu không gian và phi không
gian. Các dữ liệu này được tổ chức lưu trữ bởi các hệ quản trị cơ sở dữ liệu như
PostgreSQL/PostGIS, Microsoft SQL Server 2008, MySQL, Oracle,... hoặc có thể lưu
trữ ở dạng các tập tin dữ liệu như Shapefile, XML,…
.
1.1.2 Nguyên lý hoạt động
Web Server tiếp nhận các yêu cầu từ Client, lấy dữ liệu từ CSDL theo yêu cầu của
Client và trả kết quả theo yêu cầu.
Khi Client gửi yêu cầu đến server, Web Server sẽ phân tích yêu cầu nhận được. Nếu
yêu cầu đó liên quan đến bản đồ hay dữ liệu địa lý, Web Server sẽ gửi yêu cầu đến
Server bản đồ để truy xuất những thông tin liên quan đến dữ liệu bản đồ. Khi có được
nguồn dữ liệu phù hợp với yêu cầu của Client, Server bản đồ sẽ gửi lại Web Server. Web
Server sẽ trả thông tin về cho người duyệt web theo giao diện web được cài đặt sẵn.
1.1.3 Tính năng ưu việt của WebGIS
Gồm 3 tính năng sau:
-
Công nghệ WebGIS ngày càng phát triển phổ biến cùng với sự phát triển và
phổ biến của đường truyền Internet và máy trạm có tốc độ cao, các thiết bị di
động và máy tính bảng.
-
Bảo vệ bản quyền phần mềm, mã nguồn và dữ liệu bản đồ gốc.
-
Thuận tiện cho người sử dụng khi không cần cài đặt các phần mềm GIS mà
vẫn xem được thơng tin thuộc tính và không gian qua mạng, dễ dàng cho việc
tương tác dữ liệu khơng gian mà khơng u cầu trình độ chuyên môn.
6
1.2.
Chuẩn dữ liệu không gian OGC
Open Geospatial Consortium (OGC) là một tổ chức phi lợi nhuận, dẫn đầu trên thế
giới về phát triển các chuẩn dữ liệu địa lý và các dịch vụ, đã đưa ra các đặc tả về các
loại dịch vụ sau:
1.2.1 Web Map Service (WMS)
WMS là một trong các chuẩn phổ biến nhất của OGC. WMS tạo ra các bản đồ dưới
dạng ảnh. Các bản đồ này tự bản thân chúng không chứa dữ liệu. Một WMS cơ bản cho
phép Client kết nối và lấy bản đồ thông qua các phương thức:
-
GetCapabilties: trả về tài liệu XML mô tả chức năng của WMS.
-
GetMap: trả về các lớp bản đồ dựa vào các tham số được cung cấp bởi Client.
Các tham số có thể được nhúng vào trong một URL (Uniform Resource Locator)
của dịch vụ.
-
GetFeaturelnfo: trả về thông tin liên quan đến một đối tượng được hiển thị trên
bản đồ tại vị trí X, Y. Phương thức này cho phép Client có thể truy vấn để có
thêm thơng tin về một đối tượng.
Ngồi ra, WMS cịn cung cấp cho Client kiểm soát các kiểu hiển thị bản đồ thông
qua Styled Layer Desrciptor (SLD).
1.2.2 Web Feature Service (WFS)
WCS cung cấp dữ liệu dưới dạng Coverage. Coverage là loại dữ liệu biểu diễn các
hiện tượng thay đổi theo không gian. WCS cung cấp các phương thức để Client truy cập
và lấy dữ liệu về:
-
GetCapabilities: trả về một tài liệu XML (Extensible Markup Languge) mô tả
chức năng của WCS.
-
DescribeCoverage: trả về một tài liệu XML mô tả các Coverage mà WCS Server
có thể cung cấp.
-
GetCoverage: trả về một Coverage thoả mãn các điều kiện mà Client cung cấp.
7
1.3.
GeoServer
1.3.1 Khái niệm
GeoServer là phần mềm mã nguồn mở được bắt đầu bởi một tổ chức phi lợi nhuận
The Open Planning Project (TOPP) nhằm mục đích hỗ trợ việc cung cấp, chia sẻ, chỉnh
sửa dữ liệu thông tin địa lý trên môi trường Internet.
GeoServer là một phần mềm bên Server (Server-side software), được thiết kế để trở
thành ứng dụng về bản đồ phía máy chủ cung cấp hình ảnh về các đối tượng địa lý, độc
lập hệ thống, được xây dựng dựa trên thư viện Geotools (bộ thư viện Java mã nguồn
mở), được triển khai như một ứng dụng Web (J2EE - Java 2 Enterprise Edition).
GeoServer kết hợp được với những server viết cho J2EE như Apache.
GeoServer có khả năng kết nối với các nguồn CSDL thông qua hầu hết các hệ quản
trị cơ sở dữ liệu phổ biến như: PostgreSQL/PostGIS, Microsoft SQL Server 2008,
MySQL,… hoặc các tập tin dữ liệu không gian như Shapefile, GeoTiff,…
GeoServer hỗ trợ các quá trình thực thi các yêu cầu từ Client theo chuẩn OGC (Web
Map Service (WMS), Web Feature Service (WFS) và Web Coverage Service (WCS)).
GeoServer sử dụng tập tin có đi mở rộng là SLD (Styled Layer Desrciptor) để tạo
kiểu thể hiện bản đồ (style) theo chuẩn WMS, tập tin SLD được cấu trúc theo định dạng
XML (Extensible Markup Language).
GeoServer có thể hiển thị dữ liệu trên các ứng dụng bản đồ phổ biến như Google
Maps, Google Earth, Yahoo Maps, and Microsoft Virtual Earth.vụ bản đồ (WMS-Web
Map Service), Web Feature Service (WFS).
1.3.2 Quy trình hiển thị bản đồ trên GeoServer
Trong GeoServer, tiến hành tạo một không gian làm việc (Workspace), trong
workspace tạo kho dữ liệu (Stores), Stores lấy dữ liệu từ hệ quản trị CSDL
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).
8
Hình 1.2 Quy trình hiển thị bản đồ trên GeoServer
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.
1.4.
OpenLayers
OpenLayers là một bộ thư viện Javascript cho phép hiển thị bản đồ tại các ứng dụng
web được sử dụng khá phổ biến ngày nay.
Một số đặc điểm nổi bật của bộ thư viện là:
-
Là bộ thư viện mã nguồn mở, miễn phí được phát triển bởi cộng đồng phần mềm
mã nguồn mở.
-
Hỗ trợ nhiều loại dịch vụ (WMS, WFS, WCS...) và server như ArcGIS Server,
Geoserver, Mapserver.
-
Đọc dịch vụ từ các Bản đồ như Google Map, OpenStreetMap, Bing, Yahoo
Maps...
1.5.
Hỗ trợ các thao tác trên bản đồ.
Geoext
GeoExt là một thư viện JavaScript cung cấp một nền tảng cho việc tạo ra các ứng
dụng bản đồ trên Web.
GeoExt là sự kết hợp của thư viện OpenLayers và Extjs cung cấp một bộ các widgets
và hỗ trợ xử lý dữ liệu làm cho việc tạo ra các ứng dụng trên Web để xem, chỉnh sửa và
tạo kiểu dữ liệu không gian địa lý một cách dễ dàng.
9
1.6.
PostgreSQL/PostGIS
PostgreSQL (tiền thân là Postgres) được thành lập năm 1986 bởi nhóm các nhà khoa
học ở trường Đại học Berkeley, Hoa Kỳ. Từ năm 1995, PostgreSQL trở thành phần mềm
mã nguồn mở. PostgreSQL là hệ quản trị cơ sở dữ liệu hỗ trợ ngôn ngữ truy vấn SQL
với nhiều ưu điểm:
-
Miễn phí.
-
Hiệu quả và tính ổn định được kiểm chứng qua nhiều năm.
-
Thiết kế để đơn giản cho việc quản trị.
-
Công cụ quản trị đơn giản, họat động hiệu quả.
-
Chạy trên nhiều hệ điều hành khác nhau: Windows, Linux, Unix.
-
Có thể mở rộng được.
-
Cung cấp tốt các tài liệu.
PostgreSQL có phần mở rộng để quản lý dữ liệu không gian là PostGIS, được thành
lập bởi hãng Refractions Research (Canada) từ năm 2001. Đến năm 2006, PostGIS được
chính thức thừa nhận là tương thích với chuẩn dữ liệu khơng gian của OGC. Một số đặc
điểm của PostGIS như sau:
-
Hỗ trợ các kiểu dữ liệu hình học như: điểm (point), đường (linestring), đa giác
(polygon), tập điểm (multipoint), tập đường (multilinestring), tập các đa giác
(multipolygon) và tập các đối tượng hình học (geometrycollection).
-
Các phép tính khơng gian để xác định các phép đo khơng gian địa lý như diện
tích (area), khoảng cách (distance), chiều dài (length) và chu vi (perimeter).
-
Các phép tính khơng gian để xác định các phép toán tập hợp như hợp (union), trừ
(difference), trừ đối xứng (symmetric difference), vùng đệm (buffers).
-
R-tree-over-GiST (Generalised Search Tree) chỉ mục không gian cho truy vấn
không gian với tốc độ cao.
-
Hỗ trợ lựa chọn chỉ mục, một phương án truy vấn dữ liệu hiệu suất cao dành cho
truy vấn hỗn hợp giữa không gian và phi không gian.
-
Đối với dữ liệu raster, đang phát triển PostGIS WKT Raster (hiện tại đã tích hợp
vào PostGIS 2.0 và đổi tên thành PostGIS Raster).
10
1.7.
Java Spring
Spring là một application framework mã nguồn mở. Các framework phổ biến khác
như Struts, Tapestry, JSF,... là các framework tốt cho tầng web nhưng khi chúng ta sử
dụng các framework này, chúng ta phải cung cấp thêm framework khác để giải quyết
tầng enterprise mà tích hợp tốt với các framework này. Spring làm giảm bớt vấn đề này
bằng cách cung cấp một framework toàn diện bao gồm:
-
Core bean container.
-
MVC framework.
-
AOP integration framework.
-
JDBC integration framework.
-
EJB integration framework.
Spring framework có thể được xem như một kiến trúc chứa 7 module. Chức năng
của mỗi thành phần như sau:
1.7.1 Core Container
Core container cung cấp chức năng cơ bản của Spring. Thành phần chính của nó là
Bean Factory, một cài đặt của Factory pattern. BeanFactory áp dụng IoC pattern để đặc
tả sự phụ thuộc từ code của ứng dụng.
1.7.2 Spring Context/Application Context
Spring context là một file cấu hình để cung cấp thơng tin ngữ cảnh của Spring. Spring
context cung cấp các service như JNDI access, EJB integration, e-mail, internalization,
validation, và scheduling functionality.
1.7.3 Spring AOP (Aspect-Oriented)
Spring AOP module tích hợp chức năng lập trình hướng khía cạnh vào Spring
framework thơng qua cấu hình của nó. Spring AOP module cung cấp các dịch vụ quản
lý giao dịch cho các đối tượng trong bất kỳ ứng dụng nào sử dụng Spring. Với Spring
AOP chúng ta có thể tích hợp declarative transaction management vào trong ứng dụng
mà khơng cần dựa vào EJB component.
11
Spring AOP module cũng đưa lập trình metadata vào trong Spring. Sử dụng cái này
chúng ta có thể thêm annotation vào source code để hướng dẫn Spring nơi và làm thế
nào để liên hệ với aspect.
1.7.4 Spring DAO
Tầng JDBC và DAO đưa ra một cây phân cấp exception để quản lý kết nối đến
database, điều khiển exception và thông báo lỗi được ném bởi vendor của database. Tầng
exception đơn giản điều khiển lỗi và giảm khối lượng code mà chúng ta cần viết như
mở và đóng kết nối. Module này cũng cung cấp các dịch vụ quản lý giao dịch cho các
đối tượng trong ứng dụng Spring.
1.7.5 Spring ORM
Spring có thể tích hợp với một vài ORM framework để cung cấp Object Relation
tool bao gồm: JDO, Hibernate, OJB và iBatis SQL Maps.
1.7.6 Spring Web module
Nằm trên application context module, cung cấp context cho các ứng dụng web.
Spring cũng hỗ trợ tích hợp với Struts, JSF và Webwork. Web module cũng làm giảm
bớt các công việc điều khiển nhiều request và gắn các tham số của request vào các đối
tượng domain.
1.7.7 Spring MVC Framework
MVC Framework thì cài đặt đầy đủ đặc tính của MVC pattern để xây dựng các ứng
dụng Web. MVC framework thì cấu hình thơng qua giao diện và chứa được một số kỹ
thuật view bao gồm: JSP, Velocity, Tiles và generation of PDF và Excel file.
12
1.8.
Một số nghiên cứu trong và ngoài nước
1.8.1 Một số nghiên cứu ngồi nước
Cơng nghệ WebGIS mã nguồn mở phát triển mạnh mẽ, mang lại ứng dụng rộng rãi
trong nhiều lĩnh vực cho nhiều nước trên thế giới. Cụ thể :
Tại Italy năm 2002, M. A. Brovelli và D. Magni đã nghiên cứu xây dựng webGIS
trên nền MapServer và PostGIS cung cấp các chức năng tương tác, truy vấn thông tin
bản đồ phục vụ cho ngành khảo cổ [8].
Puyam S. Singh, Dibyajyoti Chutia và Singuluri Sudhakar sử dụng PostgresSQL,
PostGIS, PHP, Apache và MapServer phát triển một WebGIS mã nguồn mở hỗ trợ việc
ra quyết định, chia sẽ thông tin về tài nguyên thiên nhiên ở Ấn Độ năm 2012 [9].
Vào năm 2007, O. Fajuyigbe, V.F. Balogun và O.M. Obembe đã xây dựng website
trên nền WebGIS hỗ trợ cho du lịch ở Oyo State, Nigeria. Trang web cung cấp các thông
tin về địa diểm du lịch, khách sạn và các dịch vụ du lịch khác [10].
1.8.2 Một số nghiên cứu trong nước
Trần Quốc Bảo thực hiện nghiên cứu quy trình đưa các dữ liệu định dạng vector lên
trang web sử dụng đặc tả WMS (Web Map Service) của OGC, hoàn tất đưa dữ liệu du
lịch của thành phố Hồ Chí Minh lên Web năm 2008 [3].
Năm 2010, Nguyễn Quang Tuấn, Hà Văn Hành, Trương Đình Trọng và Lê Thái Sơn
đã ứng dụng công nghệ theo chuẩn OpenGIS để xây dựng hệ thống thông tin du lịch của
tỉnh Quảng Trị (QUANGTRI - TOURMAP) cung cấp công cụ quản lý, cập nhật thông
tin bản đồ, tin tức cho các nhà quản lý; hỗ trợ cơng cụ tìm kiếm đia điểm, tìm đường và
hiển thị bản đồ, truy vấn nhanh thông tin bản đồ cho người sử dụng [6].
Năm 2014, dự án Gis Huế được triển khai và cung cấp các bản đồ hành chính các
cấp, bản đồ chuyên đề về hiện trạng sử dụng đất, bản đồ chuyên đề về hạ tầng viễn thơng
và cơng nghệ thơng tin.
Nhìn chung, OpenGIS ở Việt Nam chỉ mới tập trung nghiên cứu và phát triển trên
các lĩnh vực dịch vụ, hành chính,… mà chưa được ứng dụng nhiều vào lĩnh vực nghiên
cứu khoa học, cụ thể là chưa ứng dụng để lưu trữ và hiển thị dữ liệu địa lý - sinh học.
13
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phương pháp thực hiện
Đề tài sử dụng các phương pháp phân tích xác định các thơng tin về thực vật cần
thiểt cho CSDL về thực vật; thu thập và xử lý thông tin để xây dựng dữ liệu các lớp bản
đồ, các tọa độ điểm mang thông tin cả về không gian lẫn thuộc tính; lập trình trang
WebGis cung cấp các thơng tin về các lồi thực vật và sự phân bố của mỗi lồi. Cụ thể,
q trình nghiên cứu và thực hiện đề tài được tiến hành theo sơ đồ hình 2.1:
Hình 2.1 Sơ đồ tiến trình thực hiện
14