96
` ĐẠ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

[Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

Embed Size (px)

Citation preview

Page 1: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong 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

Page 2: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong 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

Cán bộ hướng dẫn: PGS.TS Hoàng Xuân Huấn

Page 3: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

`

Page 4: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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ở.

`

Page 5: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

MỤC LỤC

MỞ ĐẦU.........................................................................................................................1

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.......................................................10

2.1. Hệ thống thông tin địa lý trên Web và các thách thức.....................................10

2.2. Kiến trúc hệ thống thông tin địa lý trên Web..................................................11

2.2.1. Kiến trúc chung.........................................................................................11

2.2.2. Các hình thức triển khai............................................................................14

2.2.2.1. Kiến trúc hướng phục vụ....................................................................15

2.2.2.2. Kiến trúc hướng người dùng..............................................................17

2.2.2.3. Kiến trúc kết hợp................................................................................19

2.3. Dạng dữ liệu của hệ thống thông tin địa lý......................................................19

2.3.1. Dữ liệu không gian.......................................................................................20

2.3.1.1. Dữ liệu vector.....................................................................................20

2.3.1.2. Dữ liệu raster......................................................................................27

2.3.1.3. Chuyển đổi qua lại giữa dữ liệu vector và dữ liệu rastor...................31

2.3.1.4. So sánh dữ liệu vector và dữ liệu rastor.............................................32

2.3.2. Dữ liệu phi không gian.................................................................................33

Chương 3. Một số công nghệ WebGIS nguồn mở..................................................36

3.1. Chuẩn trao đổi dữ liệu địa lý trên Web theo OGC..........................................36

3.1.1. Cơ chế hoạt động......................................................................................36

3.2. Web Map Service và Web Feature Service.....................................................37

3.2.1. Web Map Service (WMS).........................................................................38

3.2.1.1. Phương thức GetMap.........................................................................38

3.2.1.2. Phương thức GetCapbilities...............................................................39

3.2.1.3. Phương thức GetFeatureInfo..............................................................40

`

Page 6: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

3.2.2. Web Feature Service (WFS).....................................................................41

3.2.2.1. Phương thức GetCapbilities...............................................................42

3.2.2.2. Phương thức DescribeFeatureType....................................................42

3.2.2.3. Phương thức GetFeature.....................................................................44

3.3. Một số công nghệ mã nguồn mở......................................................................46

3.3.1. Mapbuider.................................................................................................46

3.3.2. GeoServer..................................................................................................49

3.3.2.1. Lịch sử phát triển................................................................................50

3.3.2.2. Đặc điểm............................................................................................51

Chương 4. Xây dựng ứng dụng WebGIS................................................................52

4.1. Mô tả bài toán..................................................................................................52

4.2. Yêu cầu hệ thống.............................................................................................53

4.3. Thiết kế hệ thống.............................................................................................53

4.3.1. Kiến trúc hệ thống.....................................................................................53

4.3.2. Xây dựng mô hình Use-case.....................................................................55

4.3.2.1. Xác định Actor và use case................................................................55

4.3.2.2. Đặc tả use case...................................................................................56

4.3.3. Thiết kế một số màn hình..........................................................................60

KẾT LUẬN...................................................................................................................63

`

Page 7: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

Page 8: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

`

Page 9: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

1

Page 10: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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

2

Page 11: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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 đó.

3

Page 12: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

4

Page 13: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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...),

5

Page 14: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

* 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ổ.

6

Page 15: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

7

Page 16: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

* 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ố

8

Page 17: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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ứcHệ 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

9

Page 18: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

10

Page 19: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

11

Page 20: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

12

Page 21: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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 đó

13

Page 22: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

14

Page 23: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

15

Page 24: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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).

16

Page 25: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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.

17

Page 26: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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.

18

Page 27: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

2.3.1. Dữ liệu không gianDữ 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).

19

Page 28: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

20

Page 29: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

21

Page 30: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

đ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í

22

Page 31: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

Đ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ụ:

23

Page 32: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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à bVù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

24

Page 33: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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 Aa1, a2, a3, a4,

a5B

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.

25

Page 34: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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

26

Page 35: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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).

27

Page 36: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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)

28

Page 37: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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ó.

29

Page 38: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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.

30

Page 39: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

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

2Cá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

3Bài toán mô hình thực hiện dễ

dàngBài toán mô hình khó thực hiện

4 Dữ liệu cồng kềnhDữ 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ó

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

31

Page 40: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

thực hiệnphép liên quan đến các thông tin

topo (như trong phân tích mạng)

6Thí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

32

Page 41: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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ý

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

33

Page 42: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

2 x x x

3 x x x

… … … …

34

Page 43: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

35

Page 44: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

36

Page 45: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

<img src=”http://webmapping.mgis.psu.edu/images/header.gif”>

37

Page 46: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

Đ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ụ:

http://webmapping.mgis.psu.edu/geoserver/wms?

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ề:

<ServiceExceptionReport version="1.1.1">

<ServiceException code="InvalidFormat">

There is no support for creating maps in image/pn format

</ServiceException>

</ServiceExceptionReport>

3.2.1.2. Phương thức GetCapbilities

38

Page 47: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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:

http://webmapping.mgis.psu.edu/geoserver/wms?

%20version=1.1.1&request=getcapabilities

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

http://webmapping.mgis.psu.edu/geoserver/wms?version=1.1.1&request=

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:states

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

39

Page 48: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

40

Page 49: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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

41

Page 50: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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="http://www.opengis.net/wfs"

xmlns:topp="http://www.openplans.org/topp"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.opengis.net/wfs

http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">

<TypeName>topp:bc_roads</TypeName>

</DescribeFeatureType>

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="http://www.openplans.org/topp"

elementFormDefault="qualified" attributeFormDefault=

"unqualified"

version="1.0">

<xs:import namespace="http://www.opengis.net/gml"

schemaLocation="http://localhost:8080/geoserver/data/

42

Page 51: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

capabilities/

gml/2.1.2/feature.xsd"/>

<xs:complexType name="bc_roads_Type">

<xs:complexContent>

<xs:extension base="gml:AbstractFeatureType">

<xs:sequence>

<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:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:element name="bc_roads" type="topp:bc_roads_Type"

substitutionGroup="gml:_Feature"/>

</xs:schema>

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) -

43

Page 52: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

- 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="http://www.openplans.org/topp"

xmlns:wfs="http://www.opengis.net/wfs"

xmlns:ogc="http://www.opengis.net/ogc"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.opengis.net/wfs

http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">

<wfs:Query typeName="topp:bc_roads">

<ogc:Filter>

<ogc:FeatureId fid="bc_roads.1"/>

</ogc:Filter>

</wfs:Query>

</wfs:GetFeature>

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="http://www.openplans.org/topp

http://localhost:8080/geoserver/wfs/DescribeFeatureType

44

Page 53: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

?typeName=topp:bc_roads

http://www.opengis.net/wfs

http://localhost:8080/geoserver/data/capabilities/wfs/1

.0.0/WFS-basic.xsd">

<gml:boundedBy>

<gml:Box srsName="http://www.opengis.net/gml/srs/eps

g.xml#27354">

<gml:coordinates decimal="." cs="," ts=" ">

494475.71056415,5433016.8189323 494982.7

0115662,5435041.95096618

</gml:coordinates>

</gml:Box>

</gml:boundedBy>

<gml:featureMember>

<topp:bc_roads fid="bc_roads.1">

<topp:the_geom>

<gml:MultiLineString –="" a="" multistring=""

srsName="http://www.opengis.net/gml/srs/epsg.xml#27354">

<gml:lineStringMember>

<gml:LineString>

<gml:coordinates decimal="." cs="," ts=" ">

494475.71056415,5433016.8189323

494982.70115662,5435041.95096618

</gml:coordinates>

</gml:LineString>

</gml:lineStringMember>

</gml:MultiLineString>

</topp:the_geom>

<topp:LENGTH>2163.48</topp:LENGTH>

<topp:BTRN_BC_ID>13166</topp:BTRN_BC_ID>

</topp:bc_roads>

</gml:featureMember>

</wfs:FeatureCollection>

45

Page 54: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

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ó ở

46

Page 55: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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ẽ

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.

47

Page 56: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

48

Page 57: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

49

Page 58: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

50

Page 59: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

Chương 4. Xây dựng ứng dụng WebGIS

4.1. Mô tả bài toánTrong 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

51

Page 60: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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ốngHệ thống thiết kế với 3 tầng khác nhau như sau:

52

Page 61: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

53

Page 62: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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-case4.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

54

Client layer

 

Application layer

Data layer

Máy tính cá nhânMáy tính cá nhân

Webbrowser(Javascript & HTML)

Webbrowser(Javascript & HTML)

Web serverWeb server

Mapbuilder & GEOServerMapbuilder & GEOServer

DatabaseDatabase

PostgresSQLPostgresSQL

Page 63: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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 đồ

55

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 đồ

Page 64: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

56

Page 65: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

Không có

57

Page 66: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

Đ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 đồ

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 đồ

58

Page 67: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

59

Page 68: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

Hình 4.1 Màn hình chính chương trình

60

PTùy chọn lớp thông tin hiển thị

CCác phím chức năng

CBản đồ

Page 69: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

Hình 4.2: Màn hình tìm kiếm

61

Vùng tìm kiếm

Kết quả tìm kiếm

Page 70: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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.

62

Page 71: [Luận văn CNTT] Tìm hiểu và xây dựng hệ thống thong tin địa lý webgis

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

63