Tài liệu Khóa luận Tìm hiểu và xây dựng hệ thống thông tin địa lý - Webgis: `
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Văn Hưởng
TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG
TIN ĐỊA LÝ - WEBGIS
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
`
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Văn Hưởng
TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG
TIN ĐỊA LÝ - WEBGIS
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: PGS.TS Hoàng Xuân Huấn
`
LỜI CẢM ƠN
Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trường Đại học Công
nghệ, Đại học Quốc gia Hà Nội đã tạo điều kiện thuận lợi cho em học tập và thực hiện
đề tài tốt nghiệp này.
Em xin bày tỏ lòng biết ơn sâu sắc đến thầy Hoàng Xuân Huấn đã tận tình hướng
dẫn và chỉ bảo em trong quá trìn thực hiện đề tài
Em xin chân thành cảm ơn quý thầy cô trong khoa công nghệ thông tin đã tận
tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học vừa
qua
Sau hết, xin gửi lời cảm ơn đến gia đình bạ...
71 trang |
Chia sẻ: haohao | Lượt xem: 1150 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Tìm hiểu và xây dựng hệ thống thông tin địa lý - Webgis, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
`
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Văn Hưởng
TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG
TIN ĐỊA LÝ - WEBGIS
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
`
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Văn Hưởng
TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG
TIN ĐỊA LÝ - WEBGIS
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: PGS.TS Hoàng Xuân Huấn
`
LỜI CẢM ƠN
Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trường Đại học Công
nghệ, Đại học Quốc gia Hà Nội đã tạo điều kiện thuận lợi cho em học tập và thực hiện
đề tài tốt nghiệp này.
Em xin bày tỏ lòng biết ơn sâu sắc đến thầy Hoàng Xuân Huấn đã tận tình hướng
dẫn và chỉ bảo em trong quá trìn thực hiện đề tài
Em xin chân thành cảm ơn quý thầy cô trong khoa công nghệ thông tin đã tận
tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học vừa
qua
Sau hết, xin gửi lời cảm ơn đến gia đình bạn bè, người thân đã ủng hộ động viên
tinh thần để luận văn được hoàn thành.
Mặc dù đã cố gắng hoàn thiện luận văn với tất cả sự nỗ lực của bản thân, nhưng
chắc chắn không thể tránh khỏi những thiếu sót. Kính mong quý Thầy Cô tận tình chỉ
bảo.
Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp
quý báu của tất cả mọi người.
Xin chân thành cảm ơn tất cả !
Hà Nội, tháng 5/2010
Người thực hiện
Trần Văn Hưởng
`
TÓM TẮT KHÓA LUẬN
Trong khóa luận này tôi xin những tìm hiểu về hệ thống thông tin địa lý và cụ thể
là hệ thống thông tin địa lý trên nền Web – WebGIS.
Trong phần đầu của khóa luận trình bày những tìm hiểu về hệ thống thông tin địa
lý nói chung bao gồm: các khái niệm về hệ thống tin địa lý, nguộn gốc ra đời, các
thành phần cấu thành hệ thống thông tin địa lý và một số lĩnh vực ứng dụng của hệ
thống thông tin địa lý.
Trong phần tiếp theo sẽ là phần tìm hiểu về ứng dụng thông tin địa lý trên web từ
đặc điểm, kiến trúc triển khai hệ thông và cách tổ chức lưu trữ dữ liệu địa lý.
Trong phần ba của khóa luận trình bày tìm hiểu về các chuẩn trao đổi dữ liệu địa
lý trên web và một số công nghệ mã nguồn mở giúp xây dựng hệ thống thông tin địa lý
trên Web.
Trong phần cuối của khóa luận trình bày về hệ thống thông tin địa lý do tôi tự
xây dựng dựa trên công nghệ mã nguồn mở.
`
MỤC LỤC
MỞ ĐẦU .........................................................................................................................7
Chương 1. Hệ thống thông tin địa lý .........................................................................3
1.1. Hệ thống thông tin địa lý là gì ...........................................................................3
1.2. Các thành phần của hệ thống thông tin địa lý....................................................4
1.3. Một số ứng dụng của hệ thống thông tin địa lý .................................................7
Chương 2. Hệ thống thông tin địa lý trên Web .......................................................11
2.1. Hệ thống thông tin địa lý trên Web và các thách thức.....................................11
2.2. Kiến trúc hệ thống thông tin địa lý trên Web ..................................................12
2.2.1. Kiến trúc chung .........................................................................................12
2.2.2. Các hình thức triển khai ............................................................................15
2.2.2.1. Kiến trúc hướng phục vụ ....................................................................16
2.2.2.2. Kiến trúc hướng người dùng ..............................................................18
2.2.2.3. Kiến trúc kết hợp ................................................................................20
2.3. Dạng dữ liệu của hệ thống thông tin địa lý......................................................20
2.3.1. Dữ liệu không gian .......................................................................................21
2.3.1.1. Dữ liệu vector .....................................................................................21
2.3.1.2. Dữ liệu raster ......................................................................................28
2.3.1.3. Chuyển đổi qua lại giữa dữ liệu vector và dữ liệu rastor ...................32
2.3.1.4. So sánh dữ liệu vector và dữ liệu rastor .............................................33
2.3.2. Dữ liệu phi không gian .................................................................................34
Chương 3. Một số công nghệ WebGIS nguồn mở ..................................................37
3.1. Chuẩn trao đổi dữ liệu địa lý trên Web theo OGC ..........................................37
3.1.1. Cơ chế hoạt động.......................................................................................37
3.2. Web Map Service và Web Feature Service .....................................................38
3.2.1. Web Map Service (WMS).........................................................................39
3.2.1.1. Phương thức GetMap .........................................................................39
3.2.1.2. Phương thức GetCapbilities ...............................................................40
3.2.1.3. Phương thức GetFeatureInfo..............................................................41
`
3.2.2. Web Feature Service (WFS) .....................................................................42
3.2.2.1. Phương thức GetCapbilities ...............................................................43
3.2.2.2. Phương thức DescribeFeatureType....................................................44
3.2.2.3. Phương thức GetFeature.....................................................................45
3.3. Một số công nghệ mã nguồn mở......................................................................48
3.3.1. Mapbuider .................................................................................................48
3.3.2. GeoServer..................................................................................................50
3.3.2.1. Lịch sử phát triển................................................................................51
3.3.2.2. Đặc điểm.............................................................................................52
Chương 4. Xây dựng ứng dụng WebGIS ................................................................53
4.1. Mô tả bài toán ..................................................................................................53
4.2. Yêu cầu hệ thống .............................................................................................54
4.3. Thiết kế hệ thống .............................................................................................54
4.3.1. Kiến trúc hệ thống.....................................................................................54
4.3.2. Xây dựng mô hình Use-case .....................................................................56
4.3.2.1. Xác định Actor và use case ................................................................56
4.3.2.2. Đặc tả use case ...................................................................................57
4.3.3. Thiết kế một số màn hình..........................................................................61
KẾT LUẬN ...................................................................................................................64
`
MỞ ĐẦU
Hệ thống thông tin địa lý (GIS) ra đời và được phát triển mạnh trong những năm
gần đây. Cùng với sự bùng nổ về công nghệ ứng dụng Internet, các phát triển công
nghệ GIS cho phép chia sẻ thông tin thông qua mạng toàn cầu bằng cách kết hợp GIS
và Web hay còn gọi là WebGIS. Bên cạnh đó, xu hướng chia sẻ dữ liệu, phát triển
phần mềm trên công nghệ mã nguồn mở cũng đang được quan tâm ở các nước đang
phát triển vì nhiều lợi ích mà nó mang lại. Vì thế, việc nghiên cứu ứng dụng WebGIS
trên cơ sở mã nguồn mở sẽ mang lại khả năng chia sẻ thông tin địa lý rộng rãi cho các
ngành.
Hơn một thập kỷ trước đây, các thông tin không gian - bản đồ ở Việt Nam chủ
yếu được thành lập và phát hành trên giấy. Trong những năm gần đây, các quy trình
thành lập bản đồ, lưu trữ và phát hành đã dần dần chuyển đổi sang công nghệ số. Các
bản đồ giấy trước kia đã được số hoá và đang nằm trong các ổ cứng máy tính tại các
cơ quan, trường học, cá nhân,... Theo xu thế chung, các thông tin không gian này được
chuyển sang lưu trữ trong các hệ thống cơ sở dữ liệu thông tin không gian được sử
dụng bởi các đơn vị khác nhau.
Việc chuyển đổi từ công nghệ số sang công nghệ bản đồ giấy đã là một bước tiến
vượt bậc của ngành trắc địa. Tuy nhiên, các hệ cơ sở dữ liệu không gian được lưu trữ
và sử dụng trong một hệ thống riêng biệt đã hạn chế rất nhiều tiềm năng khai thác
thông tin không gian của các hệ thống này. Công nghệ Web-GIS cho phép phát hành,
tiếp cận, truy vấn thông tin không gian trong một môi trường mở như Internet đã cho
phép phát huy các tiềm năng chưa được đánh thức của các hệ thống thông tin địa lý,
không gian và đưa công tác trắc địa bản đồ lên một tầm cao mới.
Ngay khi vừa ra đời từ cuối những năm 90 của thế kỷ trước, công nghệ Web-GIS
đã được đón nhận rât hồ hởi và có nhiều bước phát triển song còn nhiều hạn chế chưa
theo kịp với các nước trên thế giới. Với sự phát triển và phổ cập của Internet tại Việt
Nam như ngày nay, công nghệ Web-GIS đang được chú trọng phát triển bới cả cơ
quan nhà nước và cộng động doanh nghiệp và được kỳ vọng sẽ đem đến một hướng
phát triển mới đầy tiềm năng.
Nội dung chính của đề tài là tìm hiểu về WebGIS, khả năng xây dựng ứng dụng
WebGIS trên cơ sở mã nguồn mở, trên cơ sở đó ứng dụng xây dựng WebGIS phục vụ
phân tích số liệu bản đồ.
1
2
Khóa luận này trình bày các tìm hiểu lý thuyết về WebGIS bao gồm phân loại
các chiến lược phát triển WebGIS, tìm hiểu phần mềm xây dựng WebGIS trên cơ sở
mã nguồn mở là Mapbuilder và GeoServer và giới thiệu ứng dụng WebGIS phục vụ
phân tích số liệu bản đồ do tôi xây dựng thử nghiệm.
Ngoài phần kết luận khóa luận được chia thành 4 phần lớn như sau:
Chương 1: Hệ thống thông tin địa lý. Trong chương này sẽ cung cấp khái niệm
cơ bản nhất về hệ thống thông tin địa lý, nguồn gốc ra đời, các thành phần chính cấu
thành mộ hệ thống thông tin địa lý. Phần cuối chương sẽ trình bày về các lĩnh vực đã
ứng dụng hệ thống thông tin địa lý.
Chương 2: Hệ thống thông tin đía lý trên Web (WebGIS). Chương này sẽ đi sâu
tìm hiểu về hệ thống thông tin địa lý trên nền Web. Phần đầu của chương sẽ giới thiệu
đặc điểm riêng của hệ thống thông tin địa lý trên nền web. Phần tiếp theo của chương
sẽ trình bày về kiến trúc hệ thông thông tin địa lý trên web và ưu nhược điểm của cái
kiến trúc đó khi triển khai trên thực tế. Phần cuối của chương sẽ trình bày các phương
pháp mô hình hóa dữ liệu bản đồ thành dữ liệu số và ưu nhược điểm của các phương
pháp này.
Chương 3: Một số ứng dụng WebGIS mã nguồn mở. Chương này sẽ trình bày về
cách thức truyền thông của các ứng dựng GIS trên nền Web và một số công nghệ mã
nguồn mở phục vụ cho việc xây dựng hệ thống thông tin đía lý trên web.
Chương 4: Xây dựng ứng dụng WebGiS. Dựa vào kiến thức tìm hiểu ở các phần
trên trong chương này sẽ giới thiệu hệ thống thông tin địa lý trên Web do tôi tự xây
dựng.
3
Chương 1. Hệ thống thông tin địa lý
1.1. Hệ thống thông tin địa lý là gì
Thông tin địa lý được thể hiện chủ yếu dưới dạng bản đồ đã ra đời từ xa xưa.Các
bản đồ trước tiên được phác thảo để mô tả vị trí, cảnh quan, địa hình…Bản đồ chủ yếu
gồm những điểm và đường. Tuy nhiên bản đồ dạng này thích hợp cho quân đội và các
cuộc thám hiểm hơn là được sử dụng như một công cụ khai thác tiềm năng của địa lý.
Bản đồ vẫn tiếp tục được in trên giấy ngay cả khi máy tính đã ra đời một thời
gian dài trước đó. Bản đồ in trên giấy bộc lộ những hạn chế như: thời gian xây dựng,
đo đạc, tạo lập rất lâu và tốn kém. Lượng thông tin mang trên bản đồ giấy là hạn chế vì
nếu mang hết các thông tin lên bản đồ sẽ gây khó đọc. Bên cạnh đó bản đồ giấy không
thể cập nhật theo thời gian được vv…
Ý tưởng mô hình hóa không gian lưu trữ vào máy tính, tạo nên bản đồ máy tính.
Đó là bản đồ đơn giản có thể mã hóa, lưu trữ trong máy tính, sữa chữa khi cần thiết, có
thể hiển thị trên màn hình và in ra giấy.
Tuy nhiên các nhà nghiên cứu nhận thấy nhiều vấn đề địa lý cần phải thu thập
một lượng lớn thông tin không phải là bản đồ.
Lúc này khái niệm Hệ thống thông tin địa lý (Geographic Information System -
GIS) ra đời thay thế cho thuật ngữ bản đồ máy tính.
GIS được hình thành từ các ngành khoa học: Địa lý, Bản đồ, Tin học và Toán
học. Chỉ đến những năm 80 thì GIS mới có thể phát huy hết khả năng của mình do sự
phát triển mạnh mẽ của công nghệ phần cứng. Bắt đầu từ thập niên 80, GIS đã trở nên
phổ biến trong các lãnh vực thương mại, khoa học và quản lý. Chúng ta có thể gặp
nhiều cách định nghĩa về GIS
- Là một tập hợp của các phần cứng, phần mềm máy tính cùng với các thông tin
địa lý mô tả không gian. Tập hợp này được thiết kế để có thể thu thập, lưu trữ,
cập nhật, thao tác, phân tích, thể hiện tất cả các hình thức thông tin mang tính
không gian.
- GIS là một hệ thống máy tính có khả năng lưu trữ và sử dụng dữ liệu mô tả các
vị trí trên bề mặt trái đất
4
- Một hệ thống được gọi là GIS nếu nó có các công cụ hỗ trợ cho việc thao tác
với dữ liệu không gian
- Cơ sở dữ liệu GIS là sự tổng hợp có cấu trúc các dữ liệu số hóa không gian và
phi không gian về các đối tượng bản đồ, mối liên hệ giữa các đối tượng không
gian và các tính chất của một vùng của đối tượng
Tóm lại, hệ thống thông tin địa lý là một hệ thống phần mềm máy tính được sử
dụng trong việc vẽ bản đồ, phân tích các vật thể, hiện tượng tồn tại trên trái đất. Công
nghệ GIS tổng hợp các chức năng chung về quản lý dữ liệu như hỏi đáp và phân tích
thống kê với sự thể hiện trực quan và phân tích các vật thể hiện tượng không gian
trong bản đồ. Sự khác biệt giữa GIS và các hệ thống thông tin thông thường là tính
ứng dụng của nó rất rộng trong việc giải thích hiện tượng, dự báo và qui hoạch chiến
lược.
1.2. Các thành phần của hệ thống thông tin địa lý
GIS được kết hợp bởi năm thành phần chính: phần cứng, phần mềm, dữ liệu, con
người và chính sách được mô tả trong hình 1.1
Hình 1.1 Mô hình các thành phần GIS
a. Phần cứng
5
Phần cứng là hệ thống máy tính trên đó một hệ GIS hoạt động. Ngày nay, phần
mềm GIS có khả năng chạy trên rất nhiều dạng phần cứng, từ máy chủ trung tâm đến
các máy trạm hoạt động độc lập hoặc liên kết mạng.
b. Con người
Công nghệ GIS sẽ bị hạn chế nếu không có con người tham gia quản lý hệ thống
và phát triển những ứng dụng GIS trong thực tế. Người sử dụng GIS có thể là những
chuyên gia kỹ thuật, người thiết kế và duy trì hệ thống, hoặc những người dùng GIS để
giải quyết các vấn đề trong công việc.
c. Phần mềm
Là tập hợp các câu lệnh, chỉ thị nhằm điều khiển phần cứng của máy tính thực
hiện một nhiệm vụ xác định, phần mềm hệ thống thông tin địa lý có thể là một hoặc tổ
hợp các phần mềm máy tính. Phần mềm được sử dụng trong kỹ thuật GIS phải bao
gồm các tính năng cơ bản sau:
- Nhập và kiểm tra dữ liệu: Bao gồm tất cả các khía cạnh về biến đổi dữ liệu đã ở
dạng bản đồ, trong lĩnh vực quan sát vào một dạng số tương thích. Ðây là giai đoạn rất
quan trọng cho việc xây dựng cơ sở dữ liệu địa lý.
- Lưu trữ và quản lý cơ sở dữ liệu: Lưu trữ và quản lý cơ sở dữ liệu đề cập đến
phương pháp kết nối thông tin vị trí và thông tin thuộc tính của các đối tượng địa lý
(điểm, đường đại diện cho các đối tượng trên bề mặt trái đất). Hai thông tin này được
tổ chức và liên hệ qua các thao tác trên máy tính và sao cho chúng có thể lĩnh hội được
bởi người sử dụng hệ thống.
- Xuất dữ liệu: Dữ liệu đưa ra là các báo cáo kết quả quá trình phân tích tới người
sử dụng, có thể bao gồm các dạng: bản đồ, bảng biểu, biểu đồ, lưu đồ được thể
hiện trên máy tính, máy in, máy vẽ...
- Biến đổi dữ liệu: Biến đổi dữ liệu gồm hai lớp điều hành nhằm mục đích khắc
phục lỗi từ dữ liệu và cập nhật chúng. Biến đổi dữ liệu có thể được thực hiện
trên dữ liệu không gian và thông tin thuộc tính một cách tách biệt hoặc tổng
hợp cả hai.
- Tương tác với người dùng: Giao tiếp với người dùng là yếu tố quan trọng nhất
của bất kỳ hệ thống thông tin nào. Các giao diện người dùng ở một hệ thống
tin được thiết kế phụ thuộc vào mục đích của ứng dụng đó.
6
Các phần mềm tiêu chuẩn và sử dụng phổ biến hiện nay trong khu vực Châu Á là
ARC/INFO, MAPINFO, ILWIS, WINGIS, SPANS, IDRISIW,... Hiện nay có rất
nhiều phần mềm máy tính chuyên biệt cho GIS, bao gồm các phần mềm như sau:
- Phần mềm dùng cho lưu trữ, xử lý số liệu thông tin địa lý: ACR/INFO,
SPAN,ERDAS-Imagine, ILWIS, MGE/MICROSTATION, IDRISIW, IDRISI,
WINGIS,
- Phần mềm dùng cho lưu trữ, xử lý và quản lý các thông tin địa lý: ER-
MAPPER, ATLASGIS, ARCVIEW, MAPINFO,..
Tuỳ theo yêu cầu và khả năng ứng dụng trong công việc cũng như khả năng kinh
phí của đơn vị, việc lưu chọn một phần mềm máy tính sẽ khác nhau.
d. Dữ liệu
Có thể coi thành phần quan trọng nhất trong một hệ GIS là dữ liệu. Các dữ liệu
địa lý và dữ liệu thuộc tính liên quan có thể được người sử dụng tự tập hợp hoặc được
mua từ nhà cung cấp dữ liệu thương mại. Hệ GIS sẽ kết hợp dữ liệu không gian với
các nguồn dữ liệu khác, thậm chí có thể sử dụng DBMS để tổ chức lưu giữ và quản lý
dữ liệu.
Số liệu được sử dụng trong GIS không chỉ là số liệu địa lý riêng lẽ mà còn phải
được thiết kế trong một cơ sở dữ liệu. Những thông tin địa lý có nghĩa là sẽ bao gồm
các dữ kiện về (1) vị trí địa lý, (2) thuộc tính của thông tin, (3) mối liên hệ không gian
của các thông tin, và (4) thời gian. Có 2 dạng số liệu được sử dụng trong kỹ thuật GIS
là:
- Cơ sở dữ liệu bản đồ: là những mô tả hình ảnh bản đồ được số hoá theo một
khuôn dạng nhất định mà máy tính hiểu được. Hệ thống thông tin địa lý dùng
cơ sở dữ liệu này để xuất ra các bản đồ trên màn hình hoặc ra các thiết bị
ngoại vi khác như máy in, máy vẽ.
- Số liệu thuộc tính: được trình bày dưới dạng các ký tự hoặc số, hoặc ký hiệu để
mô tả các thuộc tính của các thông tin thuộc về địa lý.
Trong các dạng số liệu trên, số liệu Vector là dạng thường sử dụng nhất. Tuy
nhiên, số liệu Raster rất hữu ích để mô tả các dãy số liệu có tính liên tục như: nhiệt độ,
cao độ...và thực hiện các phân tích không gian của số liệu. Còn số liệu thuộc tính được
dùng để mô tả cơ sở dữ liệu.
7
Có nhiều cách để nhập số liệu, nhưng cách thông thường nhất hiện nay là số hoá
bằng bàn số hoá, hoặc thông qua việc sử dụng máy quét ảnh
e. Chính sách
Ðây là hợp phần rất quan trọng để đảm bảo khả năng hoạt động của hệ thống, là
yếu tố quyết định sự thành công của việc phát triển công nghệ GIS. Hệ thống GIS cần
được điều hành bởi một bộ phận quản lý, bộ phận này phải được bổ nhiệm để tổ chức
hoạt động hệ thống GIS một cách có hiệu quả để phục vụ người sử dụng thông tin.
Để hoạt động thành công, hệ thống GIS phải được đặt trong 1 khung tổ chức phù
hợp và có những hướng dẫn cần thiết để quản lý, thu thập, lưu trữ và phân tích số liệu,
đồng thời có khả năng phát triển được hệ thống GIS theo nhu cầu. Trong quá trình
hoạt động, mục đích chỉ có thể đạt được và tính hiệu quả của kỹ thuật GIS chỉ được
minh chứng khi công cụ này có thể hỗ trợ những người sử dụng thông tin để giúp họ
thực hiện được những mục tiêu công việc. Ngoài ra việc phối hợp giữa các cơ quan
chức năng có liên quan cũng phải được đặt ra, nhằm gia tăng hiệu quả sử dụng của
GIS cũng như các nguồn số liệu hiện có.
Như vậy, trong 5 hợp phần của GIS, hợp phần chính sách và quản lý đóng vai trò
rất quan trọng để đảm bảo khả năng hoạt động của hệ thống, đây là yếu tố quyết định
sự thành công của việc phát triển công nghệ GIS.
Trong phối hợp và vận hành các hợp phần của hệ thống GIS nhằm đưa vào hoạt
động có hiệu quả kỹ thuật GIS, 2 yếu tố huấn luyện và chính sách - quản lý là cơ sở
của thành công. Việc huấn luyện các phương pháp sử dụng hệ thống GIS sẽ cho phép
kết hợp các hợp phần: (1) Thiết bị (2) Phần mềm (3) con người và (4) Số liệu với
nhau để đưa vào vận hành. Tuy nhiên, yếu tố chính sách và quản lý sẽ có tác động đến
toàn bộ các hợp phần nói trên, đồng thời quyết định đến sự thành công của hoạt động
GIS
1.3. Một số ứng dụng của hệ thống thông tin địa lý
Nhờ những khả năng phân tích và xử lý đa dạng, kỹ thuật GIS hiện nay được ứng
dụng phổ biến trong nhiều lĩnh vực, được xem là công cụ hỗ trợ quyết định (decision -
making support tool). Sau đây là một số lĩnh vực điển hình được ứng dụng kỹ thuật
GIS
Nghiên cứu quản lý tài nguyên thiên nhiên và môi trường
* Quản trị rừng (theo dõi sự thay đổi, phân loại...),
8
* Quản trị đường di cư và đời sống động vật hoang dã,
* Quản lý và quy hoạch đồng bằng ngập lũ, lưu vực sông,
* Bảo tồn đất ướt,
* Phân tích các biến động khí hậu, thuỷ văn.
* Phân tích các tác động môi trường (EIA),
* Nghiên cứu tình trạng xói mòn đất,
* Quản trị sở hữu ruộng đất,
* Quản lý chất lượng nước,
* Quản lý, đánh giá và theo dõi dịch bệnh,
* Xây dựng bản đổ và thống kê chất lượng thổ nhường.
* Quy hoạch và đánh giá sử dụng đất đai.
Nghiên cứu điều kiện kinh tế - xã hội
* Quản lý dân số,
* Quản trị mạng lưới giao thông (thuỷ - bộ),
* Quản lý mạng lưới y tế, giáo dục,
* Điều tra và quản lý hệ thống cơ sở hạ tầng.
Nghiên cứu hỗ trợ các chương trình quy hoạch phát triển
* Đánh giá khả năng thích nghi cây trồng, vật nuôi và động vật hoang dã,
* Định hướng và xác định các vùng phát triển tối ưu trong sản xuất nông
nghiệp,
* Hỗ trợ quy hoạch và quản lý các vùng bảo tồn thiên nhiên,
* Đánh giá khả năng và định hướng quy hoạch các vùng đô thị, công nghiệp
lớn,
* Hỗ trợ bố trí mạng lưới y tế, giáo dục.
Trong nghiên cứu sản xuất nông nghiệp và phát triển nông thôn, các lĩnh vực ứng
dụng của kỹ thuật GIS rất rộng rãi. Do vậy, GIS trở thành công cụ đắc dụng cho việc
quản lý và tổ chức sản xuất nông nghiệp - nông thôn trên các vùng lãnh thổ.
9
Các lĩnh vực ứng dụng của GIS trong sản xuất nông nghiệp và phát triển
nông thôn
Thổ nhường
* Xây dựng các bản đồ đất và đơn tính đất.
* Đặc trưng hoá các lớp phủ thổ nhường
Trồng trọt
* Khả năng thích nghi các loại cây trồng
* Sự thay đổi của việc sử dụng đất
* Xây dựng các đề xuất về sử dụng đất
* Khả năng bền vững của sản xuất nông nghiệp Nông - Lâm kết hợp
* Theo dõi mạng lưới khuyến nông
* Khảo sát nghiên cứu dịch - bệnh cây trồng (côn trùng và cỏ dại)
* Suy đoán hay nội suy các ứng dụng kỹ thuật
Quy hoạch thuỷ văn và tưới tiêu
* Xác định hệ thống tưới tiêu
* Lập thời biểu tưới nước
* Tính toán sự xói mòn/ bồi lắng trong hồ chứa nước
* Nghiên cứu đánh giá ngập lũ
Kinh tế nông nghiệp
* Điều tra dân số / nông hộ
* Thống kê
* Khảo sát kỹ thuật canh tác
* Xu thế thị trường của cây trồng
* Nguồn nông sản hàng hoá
Phân tích khí hậu
* Hạn hán
* Các yếu tố thời tiết
10
* Thống kê
Mô hình hoá nông nghiệp
* Ước lượng / tiên đoán năng suất cây trồng
Chăn nuôi gia súc / gia cầm
* Thống kê
* Phân bố
11
Chương 2. Hệ thống thông tin địa lý trên Web
GIS đã được ứng dụng từ vài thập niên trước đây, nhưng dường như GIS vẫn
chưa đến được với mọi người. Lý do là, trước nay các ứng dụng GIS hầu hết chạy trên
máy tính đơn.Với những máy tính này cần thiết phải cài đặt các module xử lý GIS
(dưới dạng các dll, hay các Active X)…điều này cản trở khả năng ứng dụng GIS rộng
rãi.
Ví dụ:
Khi một người cần biết tuyến xe buýt để di chuyển thì ngoại trừ khi anh ta trang
bị một máy tính bỏ tui cài ứng dụng Tìm đường xe buýt còn không anh phải trở về nhà
hay đến cơ quan tìm đến đúng máy tính được cài ứng dụng này để tìm kiếm thông tin.
Từ ví dụ này cho thấy với các ứng dụng GIS mang tính cộng đồng hoặc khi cần
có thể sử dụng bất kể nơi đâu, thì mô hình ứng dụng chạy trên máy đơn là không đáp
ứng được. Như đã biết Internet ra đời và đã thu ngắn khoảng cách giữa mọi người, và
cho phép tìm kiếm thông tin mọi lúc mọi nơi. Mô hình ứng dụng GIS chạy trên nền
Internet cho phép mọi người dùng bất kì công cụ nào có thể truy cập Internet tìm kiếm
được thông tin mình cần.
2.1. Hệ thống thông tin địa lý trên Web và các thách thức
Hệ thống thông tin địa lý trên web (WebGIS) 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 World
Wide Web. Trong cách thực hiện nhiệm vụ phân tích GIS, dịch vụ này gần giống như
là kiến trúc client-Server của Web. Xử lý thông tin địa lý được chia ra 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à không
phải trả tiền cho phần mềm GIS.
Một trình khách tiêu biểu là trình duyệt web và máy chủ bao gồm một Web
server có cung cấp một chương trình phần mềm WebGIS. Client thường yêu cầu một
ảnh bản đồ hay vài xử lý thông tin địa lý qua Web đến máy chủ ở xa. Máy chủ chuyển
đổi yêu cầu thành mã nội bộ và gọi những chức năng về GIS bằng cách chuyển tiếp
yêu cầu tới phần mềm WebGIS. Phần mềm này trả về kết quả, sau đó kết quả này
được định dạng lại cho việc trình bày bởi trình duyệt hay những hàm từ các plug-in
12
hoặc Java applet. Server sau đó trả về kết quả cho client để hiển thị, hoặc gửi dữ liệu
và các công cụ phân tích đến client để dùng ở phía client.
Phần lớn sự chú ý gần đây là tập trung vào việc phát triển các chức năng GIS trên
Internet. WebGIS có tiềm năng lớn trong việc làm cho thông tin địa lý trở nên hữu
dụng và sẵn sàng tới số lượng lớn người dùng trên toàn thế giới. Thách thức lớn của
WebGIS là việc tạo ra một hệ thống phần mềm không phụ thuộc vào nền tảng phần
cứng và chạy trên chuẩn giao thức mạng TCP/IP, có nghĩa là khả năng WebGIS được
chạy trên bất kì trình duyệt web của bất kì máy tính nào nối mạng Internet. Đối với
vấn đề này, các phần mềm GIS hải được thiết kế lại để trở thành ứng dụng WebGIS
theo các kỹ thuật mạng Internet.
2.2. Kiến trúc hệ thống thông tin địa lý trên Web
2.2.1. Kiến trúc chung
Dịch vụ web thông tin địa lý hay còn được gọi là WebGIS được xây dựng để
cung cấp các dịch vụ về thông tin địa lý theo công nghệ web service. Chính vì thế nên
bất cứ WebGIS nào cũng phải thỏa mãn kiến trúc ba tầng thông dụng của một ứng
dụng web. Sau đó tùy thuộc vào từng loại công nghệ và các cách thức phát triển, mở
rộng khác nhau mà WebGIS sẽ trở thành n tầng khác nhau. Kiến chung 3 tầng của
WebGIS được mô tả hình dưới bao gồm tầng trình bày, tầng giao dịch và tầng dữ liệu
được trình bày trong hình 2.1
Hình 2.1 Mô hình 3 lớp trong kiến trúc WebGIS
Tầng trình bày: Thông thường chỉ là các trình duyệt Internet Explorer, Mozilla
Firefox ... để mở các trang web theo URL được định sẵn. Các ứng dụng client có thể là
một website, Applet, Flash,… được viết bằng các công nghệ theo chuẩn của W3C. Các
Client đôi khi cũng là một ứng dụng desktop tương tự như phần mềm MapInfo,
ArcMap,…
Tầng giao dịch: thường được tích hợp trong một webserver nào đó, ví dụ như
Tomcat, Apache, Internet Information Server. Đó là một ứng dụng phía server nhiệm
vụ chính của nó thường là tiếp nhận các yêu cầu từ client , lấy dữ liệu từ cơ sở dữ liệu
theo yêu cầu client , trình bày dữ liệu theo cấu hình định sẵn hoặc theo yêu cầu của
13
client và trả kết quả về theo yêu cầu. Tùy theo yêu cầu của client 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 Client, thậm trí client có thể xử lý một số bài tóan về
không gian. Thông thường các response và request đều theo chuẩn HTTP POST hoặc
GET.
Tầng dữ liệu: là nơi lưu trữ các dữ liệu địa lý bao gồm cả 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,… Các dữ liệu này được thiết kế, cài đặt và xây
dựng theo từng quy trình, từng quy mô bài toán ... mà lựa chọn hệ quản trị cơ sở dữ
liệu phù hợp.
Cơ sở dữ liệu không gian sẽ được dùng để quản lý và truy xuất dữ liệu không
gian, được đặt trên data server. Nhà kho hay nơi lưu trữ được dùng để lưu trữ và duy
trì những siêu dữ liệu về dữ liệu không gian tại những data server khác nhau. Dựa trên
những thành phần quản lý dữ liệu, ứng dụng server và mô hình server được dùng cho
ứng dụng hệ thống để tính toán thông tin không gian thông qua các hàm cụ thể. Tất cả
kết quả tính toán của ứng dụng server sẽ được gửi đến web server để thêm vào các gói
HTML, gửi cho phía client và hiển thị nơi trình duyệt web.
Xem hình minh họa dưới đây. Lưu ý là tất cả các thành phần đều được kết nối
nhau thông qua mạng Internet.
14
Hình 2.2: Các bước xử lý thông tin của WebGIS
Các bước xử lý
1) Client gửi yêu cầu của người sử dụng thông qua giao thức HTTP đến
webserver.
2) 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 server có liên quan.
3) Application server (chính là các ứng dụng GIS) nhận các yêu cầu cụ thể đối
với ứng dụng và gọi các hàm có liên quan để tính toán xử lý. Nếu có yêu cầu
dữ liệu nó sẽ gửi yêu cầu dữ liệu đến data exchange server(server trao đổi dữ
liệu)..
4) Data exchange server 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 (data server )
tương ứng cần tìm.
5) Data server dữ liệu tiến hành truy vấn lấy ra dữ liệu cần thiết và trả dữ liệu
này về cho data exchange server
15
6) Data exchange server nhận dữ liệu từ nhiều nguồn data server khác nhau nằm
rải rác trên mạng. Sắp xếp dữ liệu lại theo logic của yêu cầu dữ liệu,sau đó
gửi trả dữ liệu về cho application server.
7) Application server nhận dữ liệu trả về từ các data exchange server và đư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.
8) Web server nhận về kết quả xử lý, thêm vào các ngữ cảnh web (HTML,
PHP..) để 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.
Hỉnh 2.3: Quá trình xử lý thông tin của WebGIS
2.2.2. Các hình thức triển khai
Trong mô hình hoạt động của WebGIS được chia ra 2 phần : các hoạt động ở
phía máy khách (client side) và các hoạt động xử lý ở phía máy chủ ( server side).
¾ Client side
Client side được dùng để hiển thị kết quả đến cho người dùng, nhận các điều
khiển trực tiếp từ người dùng và tương tác với web server thông qua trình duyệt web.
Các trình duyệt web sử dụng chủ yếu HTML để định dạng trang web. Thêm vào đó
16
một vài plug-in, ActiveX và các mã Applet được nhúng vào trình duyệt để tăng tính
tương tác với người dùng.
¾ Server side
Gồm có: Web server,Application server, Data server và Clearinghouse.. Server
side có nhiệm vụ lưu trữ dữ liệu không gian, xử lý tính toán và trả về kết quả (dưới
dạng hiển thị được) cho client side.
- Web server: Web server được dùng để phục vụ cho các ứng dụng web, web
server sử dụng nghi thức HTTP để giao tiếp với trình duyệt web ở phía
client. Tất cả các yêu cầu từ phía client đối với ứng dụng web đều được web
server nhận và thông dịch và sau đó gọi các chức năng của ứng dụng thông
qua các giao tiếp mạng như MAPI, Winsock, namped pipe…
- Application server: Đây là phần chương trình gọi các hàm xử lý GIS, gửi yêu
cầu lấy dữ liệu đến clearinghouse
- Data server: Data server là phần cơ bản của hầu hết các hệ thống thông tin với
nhiệm vụ quản lý và điều khiển truy cập dữ liệu. Ban đầu, đa số GIS sử dụng
File System để quản lý dữ liệu không gian và DBMS (Database Management
System) để quản lý dữ liệu thuộc tính. Ngày nay có nhiều sản phẩm và giải
pháp phần mềm thay thế để quản lý dữ liệu không gian và thuộc tính một
cách chung nhất
Ví dụ:
SDE của ESRI (1998), SpatialWare của MapInfo (1998)…
Nhìn chung các cơ sở dữ liệu sử dụng đều là các cơ sở dữ liệu quan hệ, và trong
tương lai sẽ thay thế bằng cơ sở dữ liệu hướng đối tượng như Clearinghouse.
Clearinghouse được sử dụng để chứa dữ liệu về dữ liệu không gian được quản lý bởi
các data server. Clearinghouse đóng vai trò như một cuốn catalog, clearinghouse tìm
kiếm trong catalog này để tìm dữ liệu cần.
Có 2 chiến thuật lựa chọn, tương ứng với 2 kiểu triển khai, kiểu thứ nhất tập
trung công việc chủ yếu cho phía server, kiểu kia ngược lại tập trung công việc cho
phía client.
2.2.2.1. Kiến trúc hướng phục vụ
Những chiến thuật này tập trung vào việc cung cấp dữ liệu GIS và phân tích
“theo yêu cầu” bởi một server đủ mạnh, server này sẽ truy cập dữ liệu và phần mềm
cần thiết để xử lý dữ liệu.
17
Chiến thuật server- side có thể so sánh với mô hình sử dụng máy mainframe để
chạy GIS trong một mạng cục bộ. Trong đó, máy client cấu hình không đòi hỏi cao,chỉ
cần chạy chương trình để gửi các yêu cầu và hiển thị được các trả lời từ server.
Các bước xử lý:
Hình 2.4: Kiến trúc hướng phục vụ
Trong WebGIS đôi khi thuật ngữ “map server” được dùng để chỉ ra rằng chiến
thuật áp dụng là server- side. Mà trong đó khi người dùng gửi yêu cầu cần “map”để
hiển thị, thì sẽ được “phục vụ” bởi server.
Chiến thuật server-side dựa trên khả năng trình duyêt web của người dùng có thể
gửi các yêu cầu đến các phần mềm GIS trên server thông qua Internet
Các chương trình được dùng để nhận và xử lý yêu cầu người dùng có thể được
viết bằng các ngôn ngữ như : Perl, Visual Basic, C++…Các chương trình này cũng có
thể mua từ các nhà sản xuất để tạo khả năng kết nối tốt hơn đến các hệ xử lý GIS đã
tồn tại.
Để có thể giao tiếp với các ứng dụng WebGIS đặt trên server, web server có thể
sử dụng các chuẩn giao tiếp phổ biến như CGI (Common Gateway Interface), Java,
ISAPI (Internet Server Application Programming Interface), and NSAPI (Netscape
Server Application Programming Interface)…
Các thuận lợi và khó khăn của kiến trúc này
o Thuận lợi
- Với server có cấu hình mạnh được sử dụng, người dùng có thể truy xuất trên
tập dữ liệu lớn hơn và phức tạp lớn. Thay vì phải xử lý trên máy client,
hầu hết không được cấu hình mạnh và việc truyền dữ liệu lớn qua mạng
Internet sẽ gây nhiều khó khăn.
- Cũng với server mạnh, việc phân tích, xử lý các chức năng GIS sẽ được tiến
hành nhanh và không đòi hỏi quá nhiều ở người dùng sự am hiểu.
18
- Kiểm soát được các thao tác của người dùng (chủ yếu là đơn giản) trên dữ
liệu và luôn đảm bảo người dùng nhận kết quả đúng từ dữ liệu (do phía
client không phải xử lý nhiều).
o Khó khăn
- Với chiến thuật này thì dù yêu cầu là nhỏ (client hoàn toàn xử lý được) hay
lớn, tất cả đều gửi về phía server, và server xử lý xong lại gửi trả về cho
client thông qua đường truyền trên mạng.
- Hiệu năng của hệ thống WebGIS sẽ bị ảnh hưởng bởi băng thông và đường
truyền mạng Internet giữa server và client. Nhất là khi mà kết quả trả về
phải mang chuyển những file lớn.
- Hệ thống WebGIS sử dụng chiến thuật này không tận dụng được khả năng
xử lý trên máy client. Chủ yếu client chỉ xử lý gửi yêu cầu và hiển thị kết
quả đáp ứng.
Nhìn chung, chiến thuật này áp dụng tốt nhất cho các ứng dụng WebGIS thương
mại hay cộng đồng với số lượng lớn người dùng mà không quan tâm đến khả năng xử
lý GIS trên các máy người dùng.
2.2.2.2. Kiến trúc hướng người dùng
Thay vì để server làm quá nhiều việc, một số chức năng xử lý GIS sẽ được đưa
về phía máy người dùng, và tại đây sẽ có một phần dữ liệu được xử lý.
Hình 2.5: Kiến trúc hướng người dùng
Có 2 dạng triển khai chiến thuật client side như sau:
a. GIS Applet được phân phối đến Client khi có yêu cầu
Trong cách triển khai chiến thuật này các xử lý GIS sẽ được server cung cấp cho
phía client dưới dạng các chương trình thực thi nhỏ hoặc là các applet để có thể chạy
được ở phía client. Những applet như vậy được phân phối đến client khi client cần nó
để xử lý.
- Người dùng tạo ra một yêu cầu từ trình duyệt
- Yêu cầu được chuyển qua Internet đến server (1).
19
- Server xử lý các yêu cầu
- Kết quả phản hồi trả về bao gồm dữ liệu và các applet cần thiết để người dùng
có thể làm việc trên dữ liệu này.
Các applet có thể được viết bằng Java, JavaScript hoặc ở dạng các ActiveX.Như
vậy trình duyệt cần được tích hợp các compiler để xử lý các applet này.
b. GIS Applet và Plug-in cố định ở Client
Các triển khai trên cần thêm các chức năng xử lý GIS vào trình duyệt. Tuy nhiên
việc chuyển dữ liệu và các applet cần thiết qua mạng Internet mất nhiều thời gian nhất
là khi mà ứng dụng ít được dùng đến.
Giải pháp cho vấn đề này là cách triển khai sau đây:
- Chuyển các GIS applet đến máy tính client một cách cố định, và không phải
chuyển đến mỗi khi cần nữa
- Download và cài đặt cố dịnh các plug-in vào trình duyệt web của client
- Xây dựng một trình duyệt web có tích hợp sẵn phần mềm xử lý GIS để chạy
trên client.
- Tích hợp các link đến nguồn tài nguyên dữ liệu khác trên mạng trong mỗi gói
dữ liệu tải về.
- Server chỉ được gọi khi client khi cần dữ liệu mới,hoặc dữ liệu cho một ứng
dụng mới
- Người dùng được toàn quyền thao tác trên dữ liệu họ dùng và phân tích chúng.
Các thuận lợi và khó khăn của chiến thuật này
o Thuận lợi
- Tận dụng sức mạnh xử lý trên máy người dùng
- Người dùng được quyền điều khiển trong quá trình phân tích dữ liệu
- Khi server gửi dữ liệu cần thiết về, người dùng có thể làm việc với dữ liệu
này mà không phải gửi đi hay nhận về cái gì khác từ mạng.
o Khó khăn
- Các hồi đáp từ server có thể bao gồm lượng lớn dữ liệu cũng như các applet
(cho lần đầu tiên khi trình duyệt tại máy sử dụng chạy ứng dụng WebGIS)
có thể dẫn đến sự trì hoãn.
- Dữ liệu GIS thường lớn và phức tạp dẫn đến sẽ khó xử lý nếu client không
được cấu hình mạnh.
20
- Người dùng có thể chưa được huấn luyện đầy đủ để thực hiện các chức năng
phân tích dữ liệu một cách đúng đắn
- Không dành cho người dùng bình thường.
2.2.2.3. Kiến trúc kết hợp
Áp dụng thuần túy 2 chiến dịch trên đều có những hạn chế nhất định. Đối với
chiến thuật Server-side chất lượng đường truyền sẽ ảnh hưởng đến tốc độ và thời gian
truyền giữa yêu cầu và hồi đáp. Trong khi đó với client-side lại phụ thuộc vào cấu hình
máy client. Một vài thao tác có thể chậm do đòi hỏi bộ xử lý mạnh không được đáp
ứng.
Kết hợp 2 chiến thuật cho ta một giải pháp “lai”, tận dụng được ưu điểm của 2
chiến thuật trên. Những công việc đòi hỏi dữ liệu lớn, tính toán phức tạp giao cho
server xử lý. Những công việc đòi hỏi người dùng có quyền điều khiển cao (thao tác
bản đồ, v.v..) được giao cho client. Như vậy đòi hỏi thông tin về cấu hình của server
và client cần được chia sẻ cho nhau.
Giải pháp này tỏ ra hiệu quả khi mà client thỉnh thoảng mới cần liên lạc với
server để lấy dữ liệu.
2.3. Dạng dữ liệu của hệ thống thông tin địa lý
Dữ liệu của webgis cũng giống như hệ thống thông tin địa lý, có thể chia ra làm 2
loại số liệu cơ bản: số liệu không gian, phi không gian hay còn là dữ liệu thuộc tính và
dữ liệu thời gian. Mỗi loại có những đặc điểm riêng và chúng khác nhau về yêu cầu
lưu giữ số liệu, hiệu quả, xử lý và hiển thị.
Số liệu không gian là những mô tả số của hình ảnh bản đồ, chúng bao gồm toạ
độ, quy luật và các ký hiệu dùng để xác định một hình ảnh bản đồ cụ thể trên từng bản
đồ. Hệ thống thông tin địa lý dùng các số liệu không gian để tạo ra một bản đồ hay
hình ảnh bản đồ trên màn hình hoặc trên giấy thông qua thiết bị ngoại vi, …
Số liệu phi không gian là những diễn tả đặc tính, số lượng, mối quan hệ của các
hình ảnh bản đồ với vị trí địa lý của chúng. Các số liệu phi không gian được gọi là dữ
liệu thuộc tính, chúng liên quan đến vị trí địa lý hoặc các đối tượng không gian và liên
kết chặt chẽ với chúng trong hệ thống thông tin địa lý thông qua một cơ chế thống nhất
chung.
Dữ liệu thời gian là thông tin không gian (có vị trí tọa độ) và thông tin thuộc tính
có thể biến đổi không phụ thuộc vào nhau tương đối theo thời gian.
21
2.3.1. Dữ liệu không gian
Dữ liệu là trung tâm của hệ thống GIS, hệ thống GIS chứa càng nhiều thì chúng
càng có ý nghĩa. Dữ liệu của hệ GIS được lưu trữ trong CSDL và chúng được thu thập
thông qua các mô hình thế giới thực. Dữ liệu trong hệ GIS còn được gọi là thông tin
không gian. Đặc trưng thông tin không gian là có khả năng mô tả “vật thể ở đâu” nhờ
vị trí tham chiếu, đơn vị đo và quan hệ không gian. Chúng còn khả năng mô tả “hình
dạng hiện tượng” thông qua mô tả chất lượng, số lượng của hình dạng và cấu trúc.
Cuối cùng, đặc trưng thông tin không gian mô tả “quan hệ và tương tác” giữa các hiện
tượng tự nhiên. Mô hình không gian đặc biệt quan trọng vì cách thức thông tin sẽ ảnh
hưởng đến khả năng thực hiện phân tích dữ liệu và khả năng hiển thị đồ hoạ của hệ
thống.
Dữ liệu đồ họa này mô tả thế giới thực và được chia làm 2 loại : dữ liệu raster và
dữ liệu vectơ.
2.3.1.1. Dữ liệu vector
2.3.1.1.1. Các kiểu đối tượng trong dữ liệu vector
a. Đối tượng điểm
Điểm được xác định bởi cặp giá trị điểm. Các đối tượng đơn, thông tin về địa lý
chỉ gồm cơ sở vị trí sẽ được phản ánh là đối tượng điểm. Các đối tượng kiểu điểm có
đặc điểm:
- Là toạ độ đơn (x,y)
- Không cần thể hiện chiều dài và diện tích
Hình 2.6: Số liệu vector được biểu thị dưới dạng điểm (Point).
22
Tỷ lệ trên bản đồ tỷ lệ lớn, đối tượng thể hiện dưới dạng vùng. Tuy nhiên trên
bản đồ tỷ lệ nhỏ, đối tượng này có thể thể hiện dưới dạng một điểm. Vì vậy, các đối
tượng điểm và vùng có thể được dùng phản ánh lẫn nhau.
b. Đối tượng đường
Đường được xác định như một tập hợp dãy của các điểm. Mô tả các đối tượng
địa lý dạng tuyến, có các đặc điểm sau:
- Là một dãy các cặp toạ độ
- Một arc bắt đầu và kết thúc bởi node
- Các cung nối với nhau và cắt nhau tại điểm
- Hình dạng của cung được định nghĩa bởi các điểm điểm
- Độ dài chính xác bằng các cặp toạ độ
Hình 2.7: Số liệu vector được biểu thị dưới dạng Arc
c. Đối tượng vùng
Vùng được xác định bởi ranh giới các đường thẳng. Các đối tượng địa lý có diện
tích và đóng kín bởi một đường được gọi là đối tượng vùng polygons, có các đặc điểm
sau:
- Polygons được mô tả bằng tập các đường và điểm nhãn
- Một hoặc nhiều arc định nghĩa đường bao của vùng
- Một điểm nhãn nằm trong vùng để mô tả, xác định cho mỗi một vùng.
23
Hình 2.8 Số liệu vector được biểu thị dưới dạng vùng (Polygon)
Hình 2.9: Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ.
2.3.1.1.2. Khái niệm dữ liệu Vector
Các đối tượng không gian khi biểu diễn ở cấu trúc dữ liệu vector được tổ chức
dưới dạng điểm, đường và vùng, và được biểu diễn trên một hệ thống tọa độ nào đó.
Đối với các đối tượng biểu diễn trên mặt phẳng, mỗi đối tượng điểm được biểu diễn
bởi một cặp tọa độ (x, y); đối tượng đường được xác định bởi một chuỗi liên tiếp các
24
điểm, đoạn thẳng được nối giữa các điểm hay còn gọi là cạnh, điểm bắt đầu và điểm
kết thúc của một đường gọi là các nút; đối tượng vùng được xác định bởi các đường
khép kín.
Hình 2.10: Minh họa đối tượng đường gồm có các nút, điểm, cạnh
2.3.1.1.3. Các loại cấu trúc trong dữ liệu vector
Hai loại cấu trúc được biết đến trong cấu trúc dữ liệu vector là cấu trúc Spaghetti
và cấu trúc Topology. Cấu trúc Spaghetti ra đời trước và được sử dụng cho đến ngày
nay ở một số các phần mềm GIS như: phần mềm Arcview GIS, ArcGIS, MapInfo,…
Cấu trúc Topology ra đời trên nền tảng của mô hình dữ liệu cung – nút (Arc - Node).
a. Cấu trúc Spaghetti
Trong cấu trúc dữ liệu Spaghetti, đơn vị cơ sở là các cặp tọa độ trên một không
gian địa lý xác định. Do đó, mỗi đối tượng điểm được xác định bằng một cặp tọa độ
(x, y); mỗi đối tượng đường được biểu diễn bằng một chuỗi những cặp tọa độ (xi, yi);
mỗi đối tượng vùng được biểu diễn bằng một chuỗi những cặp toạ độ (xj, yj) với điểm
đầu và điểm cuối trùng nhau.
Thí dụ:
Hình 2.11: Minh họa dữ liệu Spaghetti
Bảng 2.1: Bảng mô tả đặc trưng của cấu trúc Spaghetti
Đặc trưng Vị trí
25
Điểm A (xA, yA)
Điểm B (xB, yB)
Cung AB (xA, yA), (xB, yB)
Vùng a (xA, yA), (xa1, ya1), …, (xa5, ya5) , (xB, yB), (xA, yA)
Vùng b (xA, yA), (xb1, yb1), (xb2, yb2), (xb3, yb3) , (xB, yB), (xA, yA)
Đặc điểm: Cấu trúc Spaghetti không ghi nhận đặc trưng kề nhau của hai vùng kề
nhau, nghĩa là tại hai vùng kề nhau sẽ có hai cạnh chung kề nhau, cạnh chung của hai
vùng kề nhau là hai cạnh độc lập nhau. Ở thí dụ trên vùng a và vùng b có chung cạnh
AB.
b. Cấu trúc Topology
Cấu trúc Topology còn được gọi là cấu trúc cung – nút (arc - node). Cấu trúc này
được xây dựng trên mô hình cung – nút, trong đó cung là phần tử cơ sở. Việc xác định
các phần tử không gian dựa trên các định nghĩa sau:
- Mỗi cung được xác định bởi 2 nút, các phần tử ở giữa 2 nút là các điểm điều
khiển, các điểm này xác định hình dạng của cung.
- Các cung giao nhau tại các nút, kết thúc một cung là nút.
- Vùng là tập hợp các cung khép kín, trong trường hợp vùng trong vùng thì phải
có sự phân biệt giữa cung bên trong và cung bên ngoài.
Trong cấu trúc Topology, các đối tượng không gian được mô tả trong bốn bảng
dữ liệu: bảng tọa độ cung, bảng topology cung, bảng topology nút và bảng topology
vùng. Giữa các bảng này có quan hệ với nhau thông qua cung. Từ đây, ta có thể phân
tích các quan hệ của các đối tượng không gian trên cùng một hệ tọa độ.
Thí dụ:
26
Hình 2.12: Minh họa dữ liệu Topology
Bảng 2.2: Bảng topology vùng
Topology Vùng
Vùng Cung
A AB, AaB
B AB, AbB
Vùng ngoài vùng a
và b
Vùng ngoài
Bảng 2.3: Bảng topology cung
Topology Cung
Cung Nút đầu Nút cuối Vùng trái Vùng phải
AB A B a b
AaB A B Vùng ngoài a
AbB A B b Vùng ngoài
Bảng 2.4: Bảng topology nút
Topology nút
27
Nút Cung
A AB, AaB
B AB, AbB
Bảng 2.5: Bảng dữ liệu tọa độ cung
Dữ liệu tọa độ cung
Cung Nút đầu (x,y)
Đỉnh vertex
(x,y)
Nút cuối (x,y)
AB A B
AaB A
a1, a2, a3, a4,
a5
B
AbB A b1, b2, b3 B
2.3.1.1.4. Ưu nhước điểm của cấu trúc Vector
a. Ưu điểm
- Việc lưu trữ được đòi hỏi ít hơn hệ thống cơ sở dữ liệu raster
- Bản đồ gốc có thể được hiện diện ở sự phân giải gốc của nó.
- Đặc tính phương pháp như là các kiểu từng, đường sá, sông suối, đất đai có thể
được khôi phục lại và tiến triển 1 cách đặc biệt.
- Điều này dễ hơn để kết hợp trạng thái khác nhau của phương pháp mô tả dữ liệu
với một đặc tính phương pháp đơn.
- Hệ số hoá các bản đồ không cần được khôi phục lại từ hình thức raster.
b. Nhược điểm
- Vị trí của điểm đỉnh cần được lưu trữ 1 cách rõ ràng
- Mối quan hệ của những điểm này phải được định dạng trong 1 cấu trúc thuộc về
địa hình học, mà nó có lẽ khó để hiểu và điều khiển.
- Thuật toán cho việc hoàn thành chức năng thì hoàn toàn tương đương trong hệ
thống cơ sở dữ liệu raster là quá phức tạp và việc hoàn thành có lẽ là không xác
thực.
28
- Sự thay đổi một cách liên tiếp dữ liệu thuộc về không gian không thể được hiện
diện như raster. Một sự khôi phục để raster được yêu cầu tiến hành dữ liệu kiểu
này.
2.3.1.2. Dữ liệu raster
2.3.1.2.1. Khái niệm dữ liệu raster
Mô hình raster biểu diễn không gian như là một ma trận số nguyên, mỗi giá trị số
nguyên đại diện cho một thuộc tính, vị trí của số nguyên chính là vị trí của đối tượng
Thí dụ:
Hình 2. 13: Mô hình dữ liệu raster và vector
29
Hình 2.14: Mô hình dữ liệu raster và vector
Liên hệ với thế giới thực: mỗi pixel sẽ tương ứng với một ô nào đó trong thế giới
thực.
Trong cấu trúc raster:
- Đường được biểu diễn bằng những pixel có cùng giá trị f(x,y) liên tiếp nhau.
- Vùng được xác định thành một mạng gồm nhiều pixel có cùng giá trị thuộc tính
f(x,y).
Hình 2.15: Cấu trúc dữ liệu raster
2.3.1.2.2. Đặc điểm
Mô hình dữ liệu dạng raster phản ánh toàn bộ vùng nghiên cứu dưới dạng một
lưới các ô vuông hay điểm ảnh (pixcel). Mô hình raster có các đặc điểm:
- Các điểm được xếp liên tiếp từ trái qua phải và từ trên xuống dưới.
- Mỗi một điểm ảnh (pixcel) chứa một giá trị.
- Một tập các ma trận điểm và các giá trị tương ứng tạo thành một lớp (layer).
30
- Trong cơ sở dữ liệu có thể có nhiều lớp.
Mô hình dữ liệu raster là mô hình dữ liệu GIS được dùng tương đối phổ biến
trong các bài toán về môi trường, quản lý tài nguyên thiên nhiên.
Mô hình dữ liệu raster chủ yếu dùng để phản ánh các đối tượng dạng vùng là ứng
dụng cho các bài toán tiến hành trên các loại đối tượng dạng vùng: phân loại; chồng
xếp.
Các nguồn dữ liệu xây dựng nên dữ liệu raster có thể bao gồm:
- Quét ảnh
- Ảnh máy bay, ảnh viễn thám
- Chuyển từ dữ liệu vector sang
- Lưu trữ dữ liệu dạng raster.
- Nén theo hàng (Run lengh coding).
- Nén theo chia nhỏ thành từng phần (Quadtree).
- Nén theo ngữ cảnh (Fractal).
Trong một hệ thống dữ liệu cơ bản raster được lưu trữ trong các ô (thường hình
vuông) được sắp xếp trong một mảng hoặc các dãy hàng và cột. Nếu có thể, các hàng
và cột nên được căn cứ vào hệ thống lưới bản đổ thích hợp.
Việc sử dụng cấu trúc dữ liệu raster tất nhiên đưa đến một số chi tiết bị mất. Với
lý do này, hệ thống raster-based không được sử dụng trong các trường hợp nơi có các
chi tiết có chất lượng cao được đòi hỏi.
Hình 2.16: Sự biểu thị kết quả bản đồ dưới dạng Raster
2.3.1.2.3. Các loại cấu trúc Raster
Có hai cấu trúc lưu trữ raster cơ bản:
- Cấu trúc lưu mã chi tiết (exhaustive enumeration)
31
- Cấu trúc lưu mã chạy dài (run-length encoding).
Đối với cấu trúc lưu mã chi tiết, mỗi một điểm lưới được gắn với giá trị duy
nhất, vì vậy dữ liệu không được nén gọn.
Hình 2.17: Minh họa cấu trúc mã chi tiết
Cấu trúc lưu mã chạy dài có ý nghĩa như là một kỹ thuật nén dữ liệu nếu raster
chứa các nhóm điểm lưới có cùng một giá trị. Khi đó thay vì phải lưu trữ riêng cho
từng điểm lưới, cấu trúc này lưu trữ theo từng thành phần có một giá trị duy nhất và số
lượng điểm lưới chứa đựng giá trị đó.
Hình 2.18: Minh họa cấu trúc mã run length
2.3.1.2.4. Ưu nhước điểm của cấu trúc raster
a. Ưu điểm
- Vị trí địa lý của mỗi ô được xác định bởi vị trí của nó trong ô biểu tượng, hình
ảnh có thể được lưu trữ trong một mảng tương xứng trong máy vi tính cung
cấp đủ dữ liệu bất kỳ lúc nào. Vì vậy mỗi ô có thể nhanh chóng và dễ dàng
được định địa chỉ trong máy theo vị trí địa lý của nó.
32
- Những vị trí kế cận được hiện diện bởi các ô kế cận, vì vậy mối liên hệ giữa các
ô có thể được phân tích một cách thuận tiện
- Quá trình tính toán đơn giản hơn và dễ dàng hơn cơ sở hệ thống dữ liệu vector.
- Đơn vị bản đồ ranh giới thửa được trình bày một cách tự nhiên bởi giá trị ô
khác nhau, khi giá trị thay đổi, việc chỉ định ranh giới thay đổi.
b. Nhược điểm
- Khả năng lưu trữ đòi hỏi lớn hơn nhiều so với hệ thống cơ sở dữ liệu vector.
- Kích thước ô định rõ sự quyết định ở phương pháp đại diện ở phương pháp đại
diện. Điều này đặc biệt khó dễ cân xứng với sự hiện diện đặc tính thuộc về
đường thẳng.
Thường hầu như hình ảnh gần thì nối tiếp nhau, điều này có nghĩa là nó phải tiến
hành một bản đồ hoàn chỉnh chính xác để thay đổi 1 ô đơn. Quá trình tiến hành của dữ
liệu về kết hợp thì choáng nhiều chỗ hơn với 1 hệ thống cơ sở vector.
Dữ liệu được đưa vào hầu như được số hoá trong hình thức vector, vì thế nó phải
chính xác 1 vector đến sự thay đổi hoạt động raster để đổi dữ liệu hệ số hoá vào trong
hình thức lưu trữ thích hợp.
Điều này thì khó hơn việc xây dựng vào trong bản đồ từ dữ liệu raster.
2.3.1.3. Chuyển đổi qua lại giữa dữ liệu vector và dữ liệu rastor
Việc chọn của cấu trúc dử liệu dưới dạng vector hoặc raster tuỳ thuộc vào yêu
cầu của người sử dụng, đối với hệ thống vector, thì dữ liệu được lưu trữ sẽ chiếm diện
tích nhỏ hơn rất nhiều so với hệ thống raster, đồng thời các đường contour sẽ chính
xác hơn hệ thống raster. Ngoài ra cũng tuỳ vào phần mềm máy tính đang sử dụng mà
nó cho phép nên lưu trữ dữ liệu dưới dạng vector hay raster. Tuy nhiên đối với việc sử
dụng ảnh vệ tinh trong GIS thì nhất thiết phải sử dụng dưới dạng raster.
Một số công cụ phân tích của GIS phụ thuộc chặt chẽ vào mô hình dữ liệu raster,
do vậy nó đòi hỏi quá trình biến đổi mô hình dữ liệu vector sang dữ liệu raster, hay
còn gọi là raster hoá. Biến đổi từ raster sang mô hình vector, hay còn gọi là vector hoá,
đặc biệt cần thiết khi tự động quét ảnh. Raster hoá là tiến trình chia đường hay vùng
thành các ô vuông (pixcel). Ngược lại, vector hoá là tập hợp các pixcel để tạo thành
đường hay vùng. Nết dữ liệu raster không có cấu trúc tốt, thí dụ ảnh vệ tinh thì việc
nhận dạng đối tượng sẽ rất phức tạp.
Nhiệm vụ biến đổi vector sang raster là tìm tập hợp các pixel trong không gian
raster trùng khớp với vị trí của điểm, đường, đường cong hay đa giác trong biểu diễn
33
vector. Tổng quát, tiến trình biến đổi là tiến trình xấp xỉ vì với vùng không gian cho
trước thì mô hình raster sẽ chỉ có khả năng địa chỉ hoá các vị trí toạ độ nguyên. Trong
mô hình vector, độ chính xác của điểm cuối vector được giới hạn bởi mật độ hệ thống
toạ độ bản đồ còn vị trí khác của đoạn thẳng được xác định bởi hàm toán học.
Hình 2.19: Sự chuyển đổi dữ liệu giữa raster và vector
2.3.1.4. So sánh dữ liệu vector và dữ liệu rastor
STT RASTER VECTOR
1 Cấu trúc dữ liệu đơn giản Cấu trúc dữ liêu phức tạp hơn raster
2
Các thao tác chập bản đồ thực
hiện dễ dàng và đơn giản
Các phép chập bản đồ khó thực hiện
được
3
Bài toán mô hình thực hiện dễ
dàng
Bài toán mô hình khó thực hiện
4 Dữ liệu cồng kềnh
Dữ liệu gọn (chiếm ít bộ nhớ) hơn
mô hình raster
5
Mối quan hệ topo khó có thể thể
hiện được. Bài toán mạng khó
thực hiện
Cho phép mã hóa topo hiệu quả hơn
và vì vậy cho phép thực hiện các
phép liên quan đến các thông tin
topo (như trong phân tích mạng)
34
6
Thích hợp với việc sử dụng dữ
liệu viễn thám
Thích hợp với dữ liệu đo đạc trực
tiếp
2.3.2. Dữ liệu phi không gian
Số liệu phi không gian hay còn gọi là thuộc tính là những mô tả về đặc tính, đặc
điểm và các hiện tượng xảy ra tại các vị trí địa lý xác định. Một trong các chức năng
đặc biệt của công nghệ GIS là khả năng của nó trong việc liên kết và xử lý đồng thời
giữa dữ liệu bản đồ và dữ liệu thuộc tính. Thông thường hệ thống thông tin địa lý có 4
loại số liệu thuộc tính:
- Đặc tính của đối tượng: liên kết chặt chẽ với các thông tin không gian có thể
thực hiện SQL (Structure Query Language) và phân tích
- Số liệu hiện tượng, tham khảo địa lý: miêu tả những thông tin, các hoạt động
thuộc vị trí xác định.
- Chỉ số địa lý: tên, địa chỉ, khối, phương hướng định vị, …liên quan đến các đối
tượng địa lý.
- Quan hệ giữa các đối tượng trong không gian, có thể đơn giản hoặc phức tạp
(sự liên kết, khoảng tương thích, mối quan hệ đồ hình giữa các đối tượng).
- Để mô tả một cách đầy đủ các đối tượng địa lý, trong bản đồ số chỉ dùng thêm
các loại đối tượng khác: điểm điều khiển, toạ độ giới hạn và các thông tin mang tính
chất mô tả (annotation).
Annotation: Các thông tin mô tả có các đặc điểm:
- Có thể nằm tại một vị trí xác định trên bản đồ
- Có thể chạy dọc theo cung
- Có thể có các kích thước, màu sắc, các kiểu chữ khác nhau
- Nhiều mức của thông tin mô tả có thể được tạo ra với ứng dụng khác nhau.
- Có thể tạo thông tin cơ sở dữ liệu lưu trữ thuộc tính
- Có thể tạo độc lập với các đối tượng địa lý ïcó trong bản đồ
- Không có liên kết với các đối tượng điểm, đường, vùng và dữ liệu thuộc tính
của chúng
Bản chất một số thông tin dữ liệu thuộc tính như sau:
Số liệu tham khảo địa lý: mô tả các sự kiện hoặc hiện tượng xảy ra tại một vị trí
xác định. Không giống các thông tin thuộc tính khác, chúng không mô tả về bản thân
các hình ảnh bản đồ. Thay vào đó chúng mô tả các danh mục hoặc các hoạt động như
cho phép xây dựng, báo cáo tai nạn, nghiên cứu y tế, … liên quan đến các vị trí địa lý
35
xác định. Các thông tin tham khảo địa lý đặc trưng được lưu trữ và quản lý trong các
file độc lập và hệ thống không thể trực tiếp tổng hợp chúng với các hình ảnh bản đồ
trong cơ sở dữ liệu của hệ thống. Tuy nhiên các bản ghi này chứa các yếu tố xác định
vị trí của sự kiện hay hiện tượng.
Chỉ số địa lý: được lưu trong hệ thống thông tin địa lý để chọn, liên kết và tra
cứu số liệu trên cơ sở vị trí địa lý mà chúng đã được mô tả bằng các chỉ số địa lý xác
định. Một chỉ số có thể bao gồm nhiều bộ xác định cho các thực thể địa lý sử dụng từ
các cơ quan khác nhau như là lập danh sách các mã địa lý mà chúng xác định mối
quan hệ không gian giữa các vị trí hoặc giữa các hình ảnh hay thực thể địa lý. Ví dụ:
chỉ số địa lý về đường phố và địa chỉ địa lý liên quan đến phố đó.
Mối quan hệ không gian: của các thực thể tại vị trí địa lý cụ thể rất quan trọng
cho các chức năng xử lý của hệ thống thông tin địa lý. Các mối quan hệ không gian có
thể là mối quan hệ đơn giản hay lôgic, ví dụ tiếp theo số nhà 101 phải là số nhà 103
nếu là số nhà bên lẻ hoặc nếu là bên chẵn thì cả hai đều phải là các số chẵn kề nhau.
Quan hệ Topology cũng là một quan hệ không gian. Các quan hệ không gian có thể
được mã hoá như các thông tin thuộc tính hoặc ứng dụng thông qua giá trị toạ độ của
các thực thể.
Mối quan hệ giữa dữ liệu không gian và phi không gian: thể hiện phương
pháp chung để liên kết hai loại dữ liệu đó thông qua bộ xác định, lưu trữ đồng thời
trong các thành phần không gian và phi không gian. Các bộ xác định có thể đơn giản là
một số duy nhất liên tục, ngẫu nhiên hoặc các chỉ báo địa lý hay số liệu xác định vị trí
lưu trữ chung. Bộ xác định cho một thực thể có thể chứa toạ độ phân bố của nó, số
hiệu mảnh bản đồ, mô tả khu vực hoặc con trỏ đến vị trí lưu trữ của số liệu liên quan.
Bộ xác định được lưu trữ cùng với các bản ghi toạ độ hoặc mô tả số khác của các hình
ảnh không gian và cùng với các bản ghi số liệu thuộc tính liên quan.
Sự liên kết giữa hai loại thông tin cơ bản trong cơ sở dữ liệu GIS thể hiện theo sơ
đồ sau:
Bảng 2.6: Mối quan hệ giữa thông tin bản đồ và thông tin thuộc tính
ID (mã) Tính chất 1 Tính chất 2 Tính chất 3
1 x x x
2 x x x
3 x x x
36
… … … …
37
Chương 3. Một số công nghệ WebGIS nguồn mở
3.1. Chuẩn trao đổi dữ liệu địa lý trên Web theo OGC
Chuẩn mở của OpenGIS là một Web Map Server, tên gọi của nó đã thể hiện nó là
một ứng dụng server cung cấp bản đồ trên Web. Sau đây là hình minh họa:
Hình 3.1: Mô hình webGIS theo chuẩn OpenGIS
3.1.1. Cơ chế hoạt động
a. Web Map Server
Về cơ bản một Web Map Server có thể làm 3 việc:
- Tạo ra một bản đồ (dưới dạng ảnh, dưới dạng đồ hoạ, hay được đóng gói bằng
một tập dữ liệu địa lý).
- Trả lời các truy vấn cơ bản về nội dung bản đồ.
- Cung cấp cho các chương trình khác mà Server có thể tạo ra được.
38
b. Web Map Client
Một Web Map Client (ví dụ một trình duyệt Web hoặc một chương trình ứng
dụng) có thể yêu cầu một Web Map Server bằng các chuyển các yêu cầu (request)
trong định dạng URL. Nội dung của mỗi URL phụ thuộc vào một trong ba loại dịch vụ
mà Web Map Server cung cấp. Cụ thể:
- Yêu cầu để tạo ra một bản đồ, các tham số URL phải chỉ ra phạm vi địa lý
(không gian) cần tạo bản đồ, hệ toạ độ được sử dụng, các kiểu thông tin được
thể hiện, định dạng lưu trữ bản đồ và kích thước kết quả.
- Yêu cầu để truy vấn nội dung bản đồ, các tham số URL phải chỉ ra lớp thông
tin (layer) bản đồ cần truy vấn, vị trí cần truy vấn.
- Yêu cầu cung cấp các thông tin về khả năng phục vụ của Web Map Server.
c. Cơ chế hoạt động
Từ các thông tin về Web Map Client và Web Map Server ta có thể hiệu được cơ
chế hoạt động chung của WebGIS gồm:
- Cơ chế truyền thông (communication) giữa các máy tính: ở tầng dưới cùng của
mô hình truyền thông, thông tin được truyền nhận bởi các tín hiệu điện tương
ứng với cơ chế mã hoá nhị phân (0/1). Ở tầng tiếp theo là TCP/IP, ở tầng ứng
dụng là giao thức HTTP, ở tầng này thông tin được mã hoá bởi ngôn ngữ
HTTP.
- Các yêu cầu (requests): một trình duyệt “hỏi” một trang web bằng việc sử dụng
một GET request. Yêu cầu này được định dạng bằng một URL;
- Đáp ứng (response) : web server sẽ kiểm tra sự tồn tại của trang web được yêu
cầu, nếu tồn tại và người dùng có quyền truy cập nó sẽ trả về trang web cho
người dùng, nếu không nó sẽ trả bè một thông điệp lỗi. Các trang web được
mã hoá bằng HTML, ngôn ngữ này bao gồm các thẻ mô tả các thành phần của
một trang.
- Hiển thị (display): trình duyệt hiển thị trang. Một khi trình duyệt chuyển đổi
được HTML thành các đối tượng đồ hoạ nó có thể vẽ trên màn hình và chờ đợi
người dùng tương tác lên trang.
3.2. Web Map Service và Web Feature Service
39
Cả Web Map Service (WMS) và Web Feature Client (WFS) đều nằm trên Web
Map Server, chúng chính là hai chuẩn công nghệ chính hình thành nên Web Map
Server.
3.2.1. Web Map Service (WMS)
Một Web Map Service cung cấp dữ liệu các đối tượng địa lý cho client theo dạng
hình ảnh hoặc một đoạn mã GML (không bao gồm tọa độ không gian). Web Map
Service cung cấp các chuẩn nhận request như sau:
- GetMap (bắt buộc): Yêu cầu GetMap trả về một bản đồ dưới dạng ảnh (ảnh
bản đồ) trong một phạm vi địa lý và theo các tham số được định nghĩa cụ thể.
GetMap được triệu gọi bởi một client để nhận về một tập hợp các pixels. Các
pixels này chứa một ảnh của một bản đồ trong một vùng địa lý (không gian)
hoặc một tập các đối tượng đồ hoạ nằm trong vùng địa lý cụ thể. Yêu cầu
GetMap cho phép các Web Map Client chỉ ra một lớp thông tin cụ thể, hệ quy
chiếu không gian (SRS), khu vực địa lý, và các tham số khác quy định định
dạng dữ liệu trả về. Trên cơ sở các yêu cầu GetMap từ Web Map Client mà
một Web Map Server sẽ trả về các kết quả hoặc ném một biệt lệ (exception)
theo các chỉ dẫn biệt lệ trong yêu cầu GetMap
- GetCapabilities (bắt buộc): Yêu cầu GetCapabilities trả về các siêu dữ liệu mô
tả Web Map Server. Các mô tả bao gồm nội dung thông tin mà WMS server
có thể phục vụ, các tham số mà Web Map Server có thể nhận.
- GetFeatureInfo (tuỳ chọn): Yêu cầu GetFeatureInfo trả về thông tin về đối
tượng địa lý cụ thể được hiển thị trên bản đồ. Nếu một Web Map Server hỗ trợ
dịch vụ này thì bản đồ mà nó trả về được gọi là bản đồ có khả năng truy vấn
thông tin và một Web map Client có thể yêu cầu thông tin về đối tượng trên
một bản đồ bằng cách thêm vào URL các tham số chỉ ra một vị trí (X,Y) và số
đối tượng có thể trả về thông tin.
3.2.1.1. Phương thức GetMap
a. Yêu cầu
Một trình duyệt web tạo ra một yêu cầu GET để hỏi một server về một trang
web. Phẩn lớn các yêu cầu này được trả lời bằng HTML cấu thành lên một trang web.
Tuy nhiên, một kết quả có thể là một ảnh, ví dụ là một đoạn HTML sau
40
Đoạn HTML trên đơn là là yêu cầu một ảnh được lưu trữ trên web server. Một
yêu cầu web map giống như URL này ở điểm cũng yêu cầu một ảnh của bản đồ, cho
dù trông nó có vẻ phức tạp hơn.
Ví dụ:
version=1.1.1&request=getmap&layers=topp:states&styles=population
&SRS=EPSG:4326&bbox=-125,24,-67,50
&width=400&height=200&format=image/png
Kết quả như sau trên trình duyệt:
Hình 3.2: Kết quả trả về của phương thức GetMap - WMS
b. Phản hồi
Nếu quá trình xử lý yêu cầu từ Client không gặp lỗi bản đồ kết quả sẽ được trả về
theo định dạng mà Client yêu cầu. Nhưng nếu có một lỗi xảy ra, Server sẽ gửi trả về
một thông điệp lỗi được mã hoá bởi XML về Client.
Ví dụ, trong yêu cầu dưới đây, yêu cầu đã bị sai trong tham số format (thiếu chữ
g) một lỗi sau sẽ được trả về:
There is no support for creating maps in image/pn format
3.2.1.2. Phương thức GetCapbilities
41
Yêu cầu này được gửi khi client muốn biết các thông tin về server như các lớp
thông tin mà server phục vụ, các định dạng dữ liệu mà server hỗ trợ. Dưới đây là một
ví dụ về một request GetCapabilities:
ies
Kết quả của yêu cầu GetCapabilities server sẽ trả về một XML chứa các thông
tin sau:
- Các dịch vụ được hỗ trợ
- Các định dạng được hỗ trợ
- Các hệ tham chiếu không gian
- Danh sách các lớp thông tin bản đồ
- SLD/Styles
- Mã nhà cung cấp dịch vụ
3.2.1.3. Phương thức GetFeatureInfo
Một client có thể sử dụng yêu cầu này để tìm một đối tượng bản đồ tại một điểm
trên bản đồ đang được hiển thị. Yêu cầu này giống như yêu cầu GetMap nhưng có
thêm vị trí X, Y theo toạ độ pixel tính từ phía trên bên trái của ảnh bản đồ và một tên
lớp thông tin cần truy vấn.
Dưới đây là một ví dụ về yêu cầu GetFeatureInfo
getfeatureinfo&layers=topp:states&styles=population&SRS=EPSG:4326&bbox=-125,24,-
67,50&width=400&height=200&format=text/html&X=100&y=100&query_layers=topp:state
s
Yêu cầu trên giống một yêu cầu GetMap, điểm khác biệt ở phần format chỉ ra
định dạng kết quả trả về hoặc là text/html.
Kết quả trả về của yêu cầu trên sẽ là:
Results for FeatureType 'states':
--------------------------------------------
the_geom = [GEOMETRY (MultiPolygon) with 153 points]
STATE_NAME = Arizona
STATE_FIPS = 04
42
SUB_REGION = Mtn
STATE_ABBR = AZ
LAND_KM = 294333.462
WATER_KM = 942.772
PERSONS = 3665228.0
FAMILIES = 940106.0
HOUSHOLD = 1368843.0
MALE = 1810691.0
FEMALE = 1854537.0
WORKERS = 1358263.0
DRVALONE = 1178320.0
CARPOOL = 239083.0
PUBTRANS = 32856.0
EMPLOYED = 1603896.0
UNEMPLOY = 123902.0
SERVICE = 455896.0
MANUAL = 185109.0
P_MALE = 0.494
P_FEMALE = 0.506
SAMP_POP = 468178.0
--------------------------------------------
3.2.2. Web Feature Service (WFS)
Một Web Feature Server (WFS) cung cấp các đối tượng địa lý cho client. Nó
cũng có thể cho phép các client thay đổi và thêm các đối tượng vào cơ sở dữ liệu. Khi
WMS cung cấp một hình ảnh của dữ liệu thì WFS cung cấp dữ liệu thực được mã
trong GML.
Một WFS có thể:
- Lấy thông tin hoặc truy vấn đến một lớp thông tin dựa theo vị trí không gian
của một đối tượng được chọn.
- Update 1 đối tượng – Cho phép người dùng thay đổi một số thuộc tính trên một
đối tượng lựa chọn.
43
- Xóa 1 đối tượng - nếu thông tin giá trị đối tượng đó không quá dài hoặc không
có yêu cầu sử dụng thì có thể được xóa khỏi bộ dữ liệu.
- Tạo mới một đối tượng – Cho phép người dùng thêm mới một đối tượng lên
bản đồ.
Một WFS cung cấp 3 request:
- GetCapabilities (bắt buộc) – Đây là request cơ bản cho phép client nhận ra các
dịch vụ và kiểu dữ liệu do WFS hỗ trợ.
- DescribeFetuareType (bắt buộc) – Cho phép mô tả kiểu đối tượng. Khi bản đồ
muốn thêm một đối tượng mới thì nó phải biết cấu trúc của đối tượng đó.
- GetFeartue (bắt buộc) – Đây là dữ liệu thật được trả về client sau request đã
được nhận.
3.2.2.1. Phương thức GetCapbilities
a. Yêu cầu
- Format: đây là tham số không bắt buộc, là tham số hỗ trợ cho yêu cầu
GetCapabilities trên WMS server. Mọi server hỗ trợ định dạng mặc định text/xml. Nếu
request mô tả định dạng không hỗ trợ bởi server, server sẽ trả về định dạng mặc định
text/xml.
- Version: là tham số không bắt buộc, chỉ ra phiên bản WMS cung cấp.
- Service: Tham số này bắt buộc, nó chỉ ra các kiểu dịch vụ cho phép khi yêu cấu
đến server
- Request: Tham số phải có, dùng để triệu gọi thao tác GetCapabilities. Giá trị
“GetCapabilities” sẽ sử dụng.
- UpdateSequence: Tham số không bắt buộc.
b. Phản hồi
44
Khi triệu gọi Web map service, trả về yêu cầu của GetCapabilities là một tài liệu
XML chứa dịch vụ metadata định dạng mã hoá theo lược đồ XML. Lược đồ này đặc tả
những nội dung thiết yếu hay không cần thiết của dịch vụ metadata và mô tả định dạng
của nó. Tài liệu này có chứa một Root element với tên là WMS_Capabilities trong
không gian.
3.2.2.2. Phương thức DescribeFeatureType
a. Yêu cầu
Hàm của DescribeFeatureType thao tác đến một lược đồ mô tả các kiểu dịch vụ
feature được WFS cung cấp. Ví dụ một request:
<DescribeFeatureType
version="1.0.0"
service="WFS"
xmlns=""
xmlns:topp=""
xmlns:xsi=""
xsi:schemaLocation="
">
topp:bc_roads
Request được xây dựng theo quy cách và như là một tại liệu XML và được gửi
đến server bằng HTTP POST request. Mới nhìn qua thì ta thấy rất phức tạp nhưng
thực ra chỉ có đoạn in đậm mới là key line. Ở đây chỉ rõ kiểu đối tượng mà ta đưa vào
là: topp:bc_roads.
b. Phản hồi
Kết quả trả về từ ví dụ trên là:
<xs:schema targetNamespace=""
elementFormDefault="qualified" attributeFormDefault=
"unqualified"
version="1.0">
<xs:import namespace=""
schemaLocation="
45
capabilities/
gml/2.1.2/feature.xsd"/>
<xs:element name="the_geom" minOccurs="0"
nillable="true"
type="gml:MultiLineStringPropertyType"/>
<xs:element name="LENGTH" minOccurs="0"
nillable="true"
type="xZs:double"/>
<xs:element name="BTRN_BC_ID" minOccurs="0"
nillable="true"
type="xs:int"/>
<xs:element name="bc_roads" type="topp:bc_roads_Type"
substitutionGroup="gml:_Feature"/>
3.2.2.3. Phương thức GetFeature
a. Yêu cầu
Cũng giống như WMS getMap, nhưng getFeature của WFS mô tả về dữ liệu
thực. Đối với WMS thì dữ liệu sau khi được trả về là một định dạng ảnh hoặc text
nhưng có thể convert một cách đơn giản trở thành ảnh còn đối với WFS thì dữ liệu
được trả về là dữ liệu thực và được được mô tả như 1 tài liệu XML. Một số tham biến
đáng chú ý:
- version (required) – tùy theo phiên bản là 1.0.0 hay là 1.1.0
- service (required and always WFS) -
46
- outputformat (optional) – là định dạng dữ liệu được trả về trong capabilities,
mặc định là GML
- maxfeatures (optional) – số lượng lớn nhất các feature được trả về, mặc định là
unlimited.
- typename (required) – kiểu feature muốn được trả về
- featureVersion (optional) – cung cấp để hỗ trợ cho việc lưu trữ feature, mặc
định là newest
- propertyName (optional) – đặc tính của từng feature muốn lấy về tùy theo
từng feature
- filter (optional) – lọc lụa chọn các feature trả về. Có thể lọc theo không gian
hoặc cở sở nào đấy hoặc theo giá trị thuộc tính.
Sau đây là ví dụ:
<wfs:GetFeature service="WFS" version="1.0.0"
outputFormat="GML2" –="" we="" would="" like="" gml2="" as="" the=""
return="" format=""
xmlns:topp=""
xmlns:wfs=""
xmlns:ogc=""
xmlns:xsi=""
xsi:schemaLocation="
">
b. Phản hồi
Phản hồi trả về từ server là một GML mã hóa tập hợp feature
<wfs:FeatureCollection
xsi:schemaLocation="
47
?typeName=topp:bc_roads
.0.0/WFS-basic.xsd">
<gml:Box srsName="
g.xml#27354">
494475.71056415,5433016.8189323 494982.7
0115662,5435041.95096618
<gml:MultiLineString –="" a="" multistring=""
srsName="">
494475.71056415,5433016.8189323
494982.70115662,5435041.95096618
2163.48
13166
48
3.3. Một số công nghệ mã nguồn mở
3.3.1. Mapbuider
Mapbuilder là ứng dụng mã nguồn mở sử dụng để triển khai Web Map Client.
Mapbuilder sửng dụng chuẩn Open GIS để kết nối với server và sử dụng javascript và
XLS để hiển thị dữ liệu bản đồ trên trình duyệt web
Mapbuilder bao gồm thành phần sau:
- MapBuilder – Lib: là một thư viện nguồn mở của các widgets bản đồ trên trình
duyệt (browser based mapping widgets)
- OpenLayer: cung cấp một giao diện chung đến một số các lớp thông tin bản đồ
khác nhau (như Google, Yahoo, MSN, WMS, vv). Nó được sử dụng bởi một số map
rendering widgets.
- Sarissa: là một thư viện ECMAScript library đóng gói (wrapper ) các hàm
XML APIs nguyên thuỷ. Thư viện này bao gồm các lớp đóng gói XML document, tải
tài liệu XML từ URL hoặc một xâu, chuyển đổi bằng XSLT, truy vấn dự trên Xpath
- Overlib: Là một thư viện JavaScript cung cấp các popup nhỏ giống như
tooltips.
- Walter Zorn’s JS Graphics: Thư viện JavaScript VectorGraphics cung cấp
khả năng đồ họa cho JavaScript.
- Scalebar: Công cụ cung cấp thanh tỉ lệ (calebar tool)
- Single file compression: Các hàm để nén toàn bộ thư viện thành một file
MapbuilderCompressed.js để tăng tốc độ tải mã JavaScipts về trình duyệt và tăng tốc
độ biên dịch JavaScipts của trình duyệt.
a. Mục tiêu của Mapbuilder
- Client là trình duyệt web
- Giảm tải cho server
- Dễ dàng tích hợp
- Giảm băng thông
- Sử dụng Javascript, XML và XLS
- Thiết kế theo mô hình mobule
- Mã nguồn mở
- Thu hút cộng đồng phát triển
b. Mô hình Mapbuilder
49
Mapbuider được thiết kế theo mô hình Model-View-Control (MVC). Không
giống như các hệ quản trị nội dung khác, Mapbuilder lưu trữ tất cả các model của nó ở
trình duyệt web bởi vậy sự tương tác với server được giảm bớt
Hình 3.3: Mô hình MapBuilder
Model được hình dung như là thông tin của ứng dụng, điển hình là một tài liệu
XML được nhận về từ server trong một file có form không thay đổi từ 1 URL. Các
Model cung cấp phương pháp “get” hoặc “set” cho việc update thông tin và trạng thái
của model.
View là phần hiển thị thông tin trong mỗi model. View có thể tự bản thân nó
đăng ký với một model với dạng một thông báo. Đây chính là điển hình sử dụng
“listener” làm phương pháp triệu gọi các kiểu sự kiện. View có thể cung cấp cho người
sử dụng có thể gửi các yêu cầu đến người quản trị, còn trong MapBuilder thì view gọi
đến các widgets.
Controller tiến hành biên dịch các yêu cầu của view trong các action bởi model.
Controller có thể sửa đổi và trạng thái của một model. Trong MapBuilder Controller
gọi đến các tool.
Cách thức ngăn cách của model và view cho phép các multile view được sử dụng
cùng một model. Đây là cơ chế làm việc để cho việc mở rộng ứng dụng được dễ ràng
hơn.
MapBuilder có thể gọi ra và lưu trữ một vài model khác nhau trong cùng một
ứng dụng web. Trong thứ tự cung cấp của một vài cấu trúc có các model khác nhau sẽ
50
thực hiện các công việc khác nhau, một model có thể chứa một mảng của các model
khác trong các nút con.
Trong MapBuilder thì thiết kế, các model, các widget và các tool đều thao tác với
các đối tượng trong JavaScript. Danh sách của đối tượng có thể được tạo ra và liên hệ
giữa chúng trên lý thuyết là sẽ được mô tả trong file cấu hình.
3.3.2. GeoServer
GeoServer là một máy chủ mã nguồn mở với mục đích kết nối những thông tin
địa lý có sẵn tới các Geoweb (trang Web địa lý) sử dụng chuẩn mở. Được bắt đầu bởi
một tổ chức phi lợi nhuận có tên The Open Planning Project (TOPP), nhằm mục đích
hỗ trợ việc xử lý thông tin không gian địa lý với chất lượng cao, đơn giản trong sử
dụng, là phần mềm mã nguồn mở nhằm cung cấp và chia sẻ dữ liệu. Được kỳ vọng sẽ
trở thành một phương thức đơn giản để kết nối những nguồn thông tin có sẵn từ
Google Earth, NASA World Wind nhằm tạo ra các dịch vụ Webmap như Google
Maps, Windows Live Local và Yahoo Maps.
GeoServer được viết bằng ngôn ngữ Java, cho phép người sử dụng chia sẻ và
chỉnh sử dữ liệu không gian địa lý (geospatial data).
Là một dự án mang tính cộng đồng, GeoServer được phát triển, kiểm thử và hỗ
trợ bởi nhiều nhóm đối tượng và tổ chức khác nhau trên toàn thế giới. GeoServer là sự
phối hợp các chuẩn hoạt động của Open Geospatial Consortium (OGC), Dịch vụ bản
đồ (WMS-Web Map Service), Web Feature Service (WFS). GeoServer là thành phần
nền tảng của Geospatial Web.
51
Hình 3.4: Giao diện GeoServer
3.3.2.1. Lịch sử phát triển
Dự án GeoServer được bắt đầu vào năm 2001 bởi The Open Planning Project
(TOPP). Vào thời điểm đó, mọi Website bản đồ chỉ tập trung vào chức năng khởi tạo
bản đồ, và không thẻ chia sẻ những dữ liệu đã được thực hiện trên bản đồ. TOPP nhận
ra rằng những dữ liệu này tương đương với 'mã nguồn' của bản đồ, và nó vô cùng quan
trọng trong việc tạo ra cấu trúc dữ liệu không gian mở, để người dùng có thể phân tích
và mô hình hóa, việc không thể đối với dữ liệu ảnh.
Ngay sau khi những đặc tính kỹ thuật của Web Feature Server (WFS) được đưa
ra trong bản phác thảo của Open Geospatial Consortium (OGC), kế thừa giao thức
chuẩn được phát triển bởi TOPP trong việc tạo ra những kiến trúc không gian thông tin
mở, GeoServer trở thành phần mềm mã nguồn mở sớm nhất cung cấp các đặc điểm kỹ
thuật trong việc tạo và chỉnh sửa dữ liệu không gian.
Vào năm 2003, GeoServer được bổ xung WFS 1.0, và bổ xung WFS 1.1 vào năm
2006. Cộng đồng phát triển GeoServer đưa thêm WMS 1.1.1 và WCS 1.0. Đó là
những thành phần đưa GeoServer trở thành chuẩn của máy chủ không gian địa lý
nguồn mở.
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
52
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.
3.3.2.2. Đặc điểm
- GeoServer cho phép xuất dữ liệu linh hoạt dựa vào việc hỗ trợ các chuẩn KML,
GML, Shapefile, GeoRSS, Portable Document Format, GeoJSON, JPEG, GIF, SVG,
PNG ...
- GeoServer có thể đọc được nhiều định dạng dữ liệu, bao gồm PostGIS, Oracle
Spatial, ArcSDE, DB2, MySQL, Shapefiles, GeoTIFF, GTOPO30 và nhiều loại khác.
Bên cạnh đó, GeoServer còn có thể chỉnh sửa dữ liệu nhờ những thành phần xử lý của
Chuẩn Web Feature Server.
- GeoServer được xây dựng trong bộ GeoTools, được viết bởi ngôn ngữ Java.
- MapServer cũng được coi là một sản phẩm mã nguồn mở, có nhiều chức năng
tương tự. Sự khác biệt giữa hai sản phẩm là Mapserver được phát triển trong môi
trường cũ, được viết bởi ngôn ngữ C và hoạt động nhờ CGI, còn GeoServer được viết
bằng ngôn ngữ Java. GeoServer phân biệt với MapServer bởi nó có giao diện đồ họa,
giúp đơn giản hơn trong việc cấu hình, và thực thi chức năng sửa đổi dựa vào Web
Feature Server, cho phép chỉnh sửa thông tin không gian cả trên Web cũng như trên
máy trạm Desktop. Ưu điểm lớn nhất của MapServer là tốc độ thực thi nhanh hơn
GeoServer, nhưng từ phiên bản 1.6 trở đi của GeoServer thì tốc độ của hai sản phẩm
đã tương đương.
- GeoServer hỗ trợ việc chia sẻ dữ liệu không gian địa lý lên Google Earth thông
qua đặc tính 'network link' sử dụng KML.
53
Chương 4. Xây dựng ứng dụng WebGIS
4.1. Mô tả bài toán
Trong khóa luận này do không tìm được nguồn dữ liệu địa lý phù hợp với bài
toán cụ thể vì vậy tôi sử dụng một tập dữ liệu nhỏ để xây dựng mô phỏng các tính
năng của một hệ thống WebGIS
a. Dữ liệu địa lý sử dụng
Dữ liệu địa lý sử dụng là dữ liệu tỉ lệ 1/2000 có phạm vi địa lý năm trong 3 xã và
một thị trấn của huyện Hương Sơn – Hà Tĩnh: xã Sơn Tây, Sơn Kim 1 và Sơn Kim 2;
thị trấn Tây Sơn. Với tổng diện tích tự nhiên khoảng trên 50000 ha
Vị trí địa lý năm trong khoảng:
- Từ 18o15’00” đến 18o 33’45” vĩ độ Bắc.
- Từ 105o05’37.5” đến 105o24’22.5” kinh độ Đông.
Dữ liệu địa lý được cung cấp bởi phòng đo đạc bản đồ thuộc Bộ Tài nguyên và
Môi trường. Dữ liệu gồm 28 lớp các lớp thông tin sau:
1) Ao hồ
2) Bến đò phà
3) Bến lội
4) Bình độ cái
5) Bình độ cơ bản
6) Bờ cạp
7) Cầu
8) Cống giao thông
9) Đập
10) Địa danh
11) Địa giới huyện
12) Địa giới tỉnh
13) Địa giới xã
14) Địa vật dạng điểm
15) Địa vật dạng đường
16) Địa vật dạng vùng
17) Đường dây điện
54
18) Đường địa giới
19) Hướng dòng chảy
20) Mốc giới
21) Nhà dạng điểm
22) Nhà dạng vùng
23) Ranh giới quy hoạch khu kinh tế
24) Ranh giới sử dụng đất
25) Phủ bề mặt
26) Thuộc thủy hệ
27) Tim đường bộ
28) Tim dòng chảy
b. Các công nghệ sử dụng
- Mapbuilder
- GeoServer
- PostgreSQL
- Apache Tomcat
4.2. Yêu cầu hệ thống
Xây dựng hệ thống thông tin địa lý trên web đáp ứng các yêu cầu sau:
a. Chức năng hiển thị
• Hiển thị toàn bộ tất cả các lớp bản đồ.
• Hiển thị các lớp bản đồ theo tùy chọn.
• Thay đổi tỉ lệ hiển thị bản đồ(phóng to, thu nhỏ).
• Di chuyển khu vực hiển thị.
• Hiển thị thông tin về đối tượng cụ thể.
• Đo khoảng cách bản đồ
b. Chức năng phân tích
• Thực hiện việc tìm kiếm các dữ liệu phù hợp với yêu cầu.
• Chỉnh sửa đối tượng sẵn có thông tin về màu sắc thông qua 1 chuẩn bản đồ.
• Tạo bản đồ chuyên đề.
4.3. Thiết kế hệ thống
4.3.1. Kiến trúc hệ thống
Hệ thống thiết kế với 3 tầng khác nhau như sau:
55
¾ 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
o 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.
o 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.
56
Hình 4.1 Kiến trúc hệ thống triển khai
4.3.2. Xây dựng mô hình Use-case
4.3.2.1. Xác định Actor và use case
• Actor
User: Tra cứu thông tin, duyệt bản đồ
• Use case
• Duyệt bản đồ
o Phóng to, thu nhỏ bản đồ
o Di chuyển bản đồ
o Chọn lớp thông tin hiển thị
• Tra cứu thông tin
Client layer
Application layer
Data layer
Máy tính cá nhân
Webbrowser
(Javascript & HTML)
Web server
Mapbuilder & GEOServer
Database
PostgresSQL
57
o Tìm kiếm thông tin các địa danh, địa vật trên bản đồ
• Đo khoảng cách
o Tính khoảng cách giữa hai điểm trên bản đồ
4.3.2.2. Đặc tả use case
a. Mô hình use case
Hình 4.2: Mô hình use case
b. Đặc tả use case
i. Di chuyển bản đồ
• Tóm tắ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
o 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 đồ
Phóng to, thu
nhỏ bản đồ
Tính khoảng
cách
Truy vấn thông
tin bản đồ
Tùy chọn lớp
thông hiển thị
Di chuyển bản
đồ
58
1. Người dùng kích chuột lên nút
2. Hệ thống ghi nhận tình trạng kích chuột,thay đổi trạng thái nút
sang trạng thái đậm . Chuyển trạng thái các nút nào đang ở trạng
thái đậm vì được kích chuột trước đó về trạng thái bình thường
3. Người dùng kích chuột lên bản đồ
4. Hệ thống xác định vị trí kích chuột trên bản đồ, dịch chuyển bản đồ
theo chiều ngược lại (kích chuột càng ở mép ngoài bản đồ chừng
nào thì dịch chuyển càng xa và ngược lại )
o Các luồng sự kiện khác
Không có
• Các yêu cầu đặt biệt
Không có
• Điều kiện tiên quyết
• 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
đồ mới ra cho người dùng ngược lại trạng thái bản đồ không thay đổi
• Điểm mở rộng
Không có
ii. Phóng to, thu nhỏ bản đồ
• Tóm tắ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
o 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 hay thu nhỏ
bản đồ hiển thị
1. Người dùng kích chuột lên nút ZoomIn hay nút ZoomOut
2. Hệ thống xác định loại nút đang chọn, tô đậm nút này để người
dùng biết nút đã được chọn (ZoomIn , ZoomOut ).
3. Người dùng kích chuột lên trên bản đồ
4. Hệ thống xác định vị trí kích chuột, sau đó tuỳ theo nút đượ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 kích chuột
59
5. Người dùng tiếp tục kích chuột lên bản đồ để tiếp tục phóng to hay
thu nhỏ bản đồ.
o Các luồng sự kiện khác
Không có
• Các yêu cầu đặt biệt
Không có
• Điều kiện tiên quyết
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 khung 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 thay đổi.
• Điểm mở rộng
Không có
iii. Tính khoảng cách
• Tóm tắt
Use case này mô tả cách người dùng muốn tính khoảng cách trên bản đồ
• Luồng các sự kiện
o Luồng sự kiện chính
Use case này bắt đầu khi người dùng muốn tính khoảng cách trên bản
đồ
1. Người dùng kích chuột lên nút bấm
2. Hệ thống xác định loại nút đang chọn, tô đậm nút này để người
dùng biết nút đã được chọn
3. Người dụng kích chuột lên bản đồ
4. Hệ thống xác định vị trí kích chuột để đánh dấu các điểm đầu cuối
để tính khoảng cách trên bản đồ. Kết quả được hiện ra trên góc trên
bên phải bản đồ
5. Người dùng tiếp tục kích chuột, chiều dài các đoạn thẳng mới sẽ
được cộng thêm vào kết quả
o Các luồng sự kiện khác
Không có
• Các yêu cầu đặt biệt
60
Không có
• Điều kiện tiên quyết
Không có
• Post-conditions
Nếu như use case thực hiện thành công kết quả sẽ được hiển thị
• Điểm mở rộng
Không có
iv. Tùy chọn lớp thông tin hiển thị
• Tóm tắt
Use case này mô tả cách người dùng chọn lớp thông tin hiển thị trong bản đồ
• Luồng các sự kiện
o Luồng sự kiện chính
Use case bắt đầu khi người sử dụng thay đổi các lớp thông tin hiển thị
trên bản đồ
1. Người dùng chọn chọn lớp thông tin cần hiện thị trong danh sách lớp
thông tin hệ thống cung cấp
2. Hệ thống hiện xuống danh sách lớp thông tin người sử dụng theo thứ
tự từ sau tới trước
3. Người dùng kích chuột vào nút “Hiển thị bản đồ”
4. Hệ thống sẽ sinh lại bản đồ theo danh sách người dùng đã chọn. Tại
đây người dùng có thể tiếp tục thực hiện các thao tác khác như
phóng to, thu nhỏ …
o Các luồng sự kiện khác
Không có
• Các yêu cầu đặt biệt
Không có
• Điều kiện tiên quyết
Không có
• Post-conditions
Nếu use case thực hiện thành công hệ thống sẽ hiển thị bản đồ mới, ngược lại
trạng thái bản đồ không thay đổi.
• Điểm mở rộng
Không có
v. Truy vấn thông tin bản đồ
61
• Tóm tắt
Use case này mô tả cách người dùng tìm kiếm thông tin trên bản đồ
• Luồng các sự kiện
o Luồng sự kiện chính
1. Người dùng nhập tên thuộc tính cần tìm kiếm vào ô tìm kiếm
2. Chọn lớp thông tin chứa nội dung tìm kiếm
3. Chọn thuộc tính tìm kiếm. Tùy vào lớp thông tin chọn ở trên mà
thuộc tính cũng khác nhau
4. Người dùng kích vào nút “Tìm kiếm”
5. Hệ thống sẽ tìm và trả lại kết quả ở khung bên dưới nút tìm kiếm
nếu tìm thấy hoặc không trả lại gì nếu không tìm thấy kết quả nào
6. Nếu kết quả tìm thấy, người dùng kích chuật vào kết quả
7. Kết quả tìm kiếm hiện lên bản đồ
o Các luồng sự kiện khác
Không có
• Các yêu cầu đặt biệt
Không có
• Điều kiện tiên quyết
Không có
• Điểm mở rộng
Không có
4.3.3. Thiết kế một số màn hình
62
Hình 4.1 Màn hình chính chương trình
PTùy chọn lớp
thông tin hiển thị
CCác phím chức
năng
CBản đồ
63
Hình 4.2: Màn hình tìm kiếm
Vùng tìm kiếm
Kết quả tìm kiếm
64
KẾT LUẬN
Trên đây tôi đã trình bày các tìm hiểu của tôi về WebGIS và ứng dụng xây dựng
mô phỏng một hệ thống thông tin địa lý trên Web
Những công việc đã làm được
+ Tìm hiểu được mô hình hệ thống thông tin địa lý, các thành phần của hệ thống
thông tin địa lý và một số lĩnh vực ứng dụng rất thành công hệ thống thông tin địa lý
mang lại nhiều giá trị cho con người
+ Tìm hiểu được đặc điểm của hệ thống thông tin địa lý trên Web, các kiến trúc
triển khai một hệ thống thông tin địa lý trên web và ưu nhược điểm của nó với từng bài
toán áp dụng.
+ Tìm hiểu được hai hình thức mô tả dữ liệu bản đồ là Vector và Raster. Ưu điểm
và nhước điểm của hai cách thức, cách chuyển đổi giữa hai hình thức này.
+ Xây dựng thành công một hệ thống thông tin địa lý trên Web cho phép hiển thị
các lớp thông tin bản đồ dựa trên hai công nghệ mã nguồn mở là Mapbuilder và
GeoServer.
Hướng phát triển của đề tài
Do thời gian có hạn nên khóa luận chưa đi sâu tìm hiểu các vấn đề đưa ra. Nếu
được phát triển tiếp tôi sẽ nghiên cứu thêm về các hệ thống thông tin địa lý trên nền
Web và các công nghệ mới nhằm nâng cao hiệu năng hệ thống cung cấp tiện ích hơn
nữa cho người sử dụng. Và đặc biệt là xây dựng được hệ thống thông tin địa lý có ý
nghĩa thiết thực hơn nữa.
65
TÀI LIỆU THAM KHẢO
[1] AA. Alesheikh, H. Helali, HA. Behroz. Web GIS: Technologies and Its
Applications. ISPRS, 2004
[2] Aleksandar Milosavljević, Leonid Stoimenov, Slobodanka Djordjević-Kajan. An
architecture for open and scalable WebGIS. CG&GIS Lab, Department of Computer
Science. AGILE Conference 8th, 2005
[3] David J. Maguire, Michael F Goodchild, and David W Rhind (eds). Geographic
information systems : Principles and application. Volume 1 : Principle. Longman
sciencetific & technical.. John Wiley & Sons, 1991
[4] D.R. Green, D. Rix, and J. Cadoux Hudson (eds). Geographic Information. The
source book for GIS. Association for geographic information AGI. Taylor & Francis,
1994
[5] Đặng văn Đức. Hệ thống thông tin địa lý. NXB Khoa học và Kỹ Thuật, 2001
[6] F. Rinaudo, E. Agosto, P. Ardissone. Gis and web-gis, commercial and open
source platforms: general rules for cultural heritage documentation.CIPA, 2007
[7] Merri P. Skrdla. Introduction to GIS. MicroImages, 2005
[8] M. A Brovelli, D. Magni. An archaeological web gis application based on
mapserver and postgis. ISPRS, 2005
[9] Scott Davis. GIS for Web Developers: Adding Where to Your Web Applications.
Pragmatic Bookshelf, 2007
[10] William Lalonde. Styled Layer Descriptor Implementation Specification. Open
Geospatial Consortium, 2009
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG TIN ĐỊA LÝ - WEBGIS.pdf