Chương 1. Tổng quan: Giới thiệu khái quát về Web Service, GIS, chuẩn
OpenGIS và mục tiêu của đề tài.
Chương 2. Web Map Service (WMS): Nghiên cứu chuẩn WMS do OpenGIS
đưa ra, chuẩn này hỗ trợ việc hiển thị bản đồ thông qua dịch vụ web.
Chương 3. Web Feature Service (WFS): Nghiên cứu chuẩn WFS do OpenGIS
đưa ra, chuẩn này hỗ trợ cho việc truy vấn thông tin các dữ liệu địa lý qua dịch vụ
web.
Chương 4. Bộlọc (Filter): Nghiên cứu sâu hơn về bộ lọc dùng trong dịch vụ
WFS.
Chương 5. CarbonTool: Nghiên cứu công cụ CarbonTool hỗ trợ cho việc đọc
các chuẩn WMS và WFS.
Chương 6. Cài đặt chương trình OpenGISServer: Mô tả việc xây dựng
chương trình server hỗ trợ hai chuẩn WMS và WFS của OpenGIS.
Chương 7. Cài đặt chương trình client: Mô tả việc xây dựng hai ứng dụng
khách khai thác hai dịch vụ WMS và WFS.
Chương 8. Tổng kết: Tổng kết quá trình nghiên cứu và rút ra hướng phát triển
trong tương lai.
183 trang |
Chia sẻ: zimbreakhd07 | Lượt xem: 1804 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Luận văn Tìm hiểu ứng dụng GIS và Xây dựng ứng dụng minh họa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
SV
ne
t.vn
i
LỜI CẢM ƠN
Chúng em xin chân thành cám ơn Khoa Công Nghệ Thông Tin, trường Đại Học
Khoa Học Tự Nhiên TpHCM đã tạo điều kiện tốt cho chúng em thực hiện đề tài
luận văn tốt nghiệp này.
Chúng em xin chân thành cám ơn Thầy Lê Thụy Anh đã tận tình hướng dẫn, chỉ
bảo chúng em trong suốt thời gian thực hiện đề tài.
Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa đã tận tình giảng
dạy, trang bị cho chúng em những kiến thức quý báu trong những năm học vừa qua.
Chúng con xin nói lên lòng biết ơn sâu sắc đối với Ông Bà, Cha Mẹ đã chăm
sóc, nuôi dạy chúng con thành người.
Xin chân thành cám ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên
chúng em trong thời gian học tập và nghiên cứu.
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng
cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Chúng em kính
mong nhận được sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các bạn.
Nhóm sinh viên thực hiện
Nguyễn Trung Kiên – Nguyễn Nguyên Bảo
Tháng 07/ 2005
SV
ne
t.vn
ii
LỜI NÓI ĐẦU
Vào thời đại ngày nay, việc phát triển phần mềm không đơn thuần chỉ là ngồi gõ
chương trình như thời buổi ban đầu. Ngày nay, nhu cầu phát triển và mở rộng phần
mềm ngày càng đòi hỏi cao hơn, nhanh hơn và chuyên nghiệp hơn. Người sử dụng
phần mềm không chỉ là những người dùng bình thường mà còn là những nhà xây
dựng, phát triển phần mềm khác. Người phát triển phần mềm không còn xây dựng
phần mềm của mình từ chỗ không có gì, họ sẽ sử dụng lại cac phần mềm của những
nhà phát triển khác. Từ đó, nhu cầu đóng gói, trao đổi và mua bán các gói phần
mềm ngày càng tăng cao. Vào thời đại ngày nay, với sự phát triển của Internet cùng
với các công nghệ hướng Net khác kèm theo, việc trao đổi, mua bán các gói phần
mềm và việc thực thi chúng ngày càng thuận lợi và nhanh chóng hơn. Từ đó, dẫn
đến sự ra đời của nhiều giải pháp phát triển phần mềm khác nhau, chẳng hạn như
DCOM, RMI, CORBRA,… Nhưng trong đó, nổi bật và chiếm nhiều ưu điểm nổi
trội phải kể đến giải pháp phát triển phần mềm dựa trên Kiến trúc Hướng Dịch vụ
(SOA – Service Oriented Architecture) và triển khai trên cơ chế Web Service.
Việc áp dụng giải pháp dịch vụ web cho ứng dụng GIS đang được triển khai
ngày càng rộng rãi. Do nó hoàn toàn giải quyết được các yêu cầu đặt ra bởi các ứng
dụng GIS.
Chính vì thế, việc tiến hành nghiên cứu kỹ thuật lập trình Web Service là một
hướng nghiên cứu mang tính chiến lược cho sự phát triển các ứng dụng trong tương
lai. Đề tài luận văn của chúng em là “Tìm hiểu về dịch vụ web cho ứng dụng GIS
và xây dựng ứng dụng minh họa khai thác dịch vụ” gồm có tất cả 8 chương.
Chương 1. Tổng quan: Giới thiệu khái quát về Web Service, GIS, chuẩn
OpenGIS và mục tiêu của đề tài.
Chương 2. Web Map Service (WMS): Nghiên cứu chuẩn WMS do OpenGIS
đưa ra, chuẩn này hỗ trợ việc hiển thị bản đồ thông qua dịch vụ web.
SV
ne
t.vn
iii
Chương 3. Web Feature Service (WFS): Nghiên cứu chuẩn WFS do OpenGIS
đưa ra, chuẩn này hỗ trợ cho việc truy vấn thông tin các dữ liệu địa lý qua dịch vụ
web.
Chương 4. Bộ lọc (Filter): Nghiên cứu sâu hơn về bộ lọc dùng trong dịch vụ
WFS.
Chương 5. CarbonTool: Nghiên cứu công cụ CarbonTool hỗ trợ cho việc đọc
các chuẩn WMS và WFS.
Chương 6. Cài đặt chương trình OpenGISServer: Mô tả việc xây dựng
chương trình server hỗ trợ hai chuẩn WMS và WFS của OpenGIS.
Chương 7. Cài đặt chương trình client: Mô tả việc xây dựng hai ứng dụng
khách khai thác hai dịch vụ WMS và WFS.
Chương 8. Tổng kết: Tổng kết quá trình nghiên cứu và rút ra hướng phát triển
trong tương lai.
SV
ne
t.vn
iv
MỤC LỤC
MỤC LỤC .........................................................................................................................iv
DANH SÁCH HÌNH........................................................................................................ix
DANH SÁCH BẢNG........................................................................................................x
DANH SÁCH BẢNG........................................................................................................x
MỘT SỐ THUẬT NGỮ..................................................................................................xi
Chương 1. Tổng quan ......................................................................................................1
1.1. Đặt vấn đề và mục tiêu đề tài........................................................................1
1.2. Giới thiệu Web Service..................................................................................3
1.3. Giới thiệu hai chuẩn WMS và WFS ............................................................3
Chương 2. Web Map Service (WMS)...........................................................................5
2.1. Giới thiệu.........................................................................................................5
2.2. Các element cơ sở...........................................................................................5
2.2.1. Đánh số và thỏa thuận phiên bản (version)...............................5
2.2.2. Những quy tắc chung trong HTTP request ...............................7
2.2.3. Những quy tắc chung trong HTTP response.............................8
2.2.4. Những quy tắc về tham số trong câu request ............................8
2.2.5. Các tham số thông dụng trong câu request ...............................9
2.2.6. Kết quả dịch vụ ...........................................................................13
2.2.7. Biệt lệ dịch vụ .............................................................................13
2.3. Các operation của Web Map Service.........................................................14
2.3.1. GetCapabilities ...........................................................................14
2.3.2. GetMap ........................................................................................26
2.3.3. GetFeatureInfo ............................................................................32
SV
ne
t.vn
v
Chương 3. Web Feature Service (WFS) ....................................................................36
3.1. Giới thiệu.......................................................................................................36
3.2. Các thành phần dịch vụ cơ sở .....................................................................38
3.2.1. Mã hóa câu request.....................................................................38
3.2.2. Không gian tên............................................................................38
3.3. Các thành phần chung..................................................................................38
3.3.1. Định danh của Feature (Feature identifier) .............................38
3.3.2. Định danh duy nhất toàn cầu ....................................................39
3.3.3. Trạng thái của Feature (Feature State).....................................40
3.3.4. Tên của các thuộc tính ...............................................................40
3.3.5. Tham chiếu đến thuộc tính ........................................................41
3.3.6. Thành phần ................................................................47
3.3.7. Filter .............................................................................................48
3.3.8. Thông báo về các biệt lệ (Exception Reporting) ....................48
3.3.9. Các thuộc tính XML chung.......................................................49
3.4. DescribeFeatureType ...................................................................................50
3.4.1. Giới thiệu.....................................................................................50
3.4.2. Request ........................................................................................50
3.4.3. Response......................................................................................51
3.4.4. Biệt lệ ...........................................................................................52
3.5. GetFeature .....................................................................................................52
3.5.1. Giới thiệu.....................................................................................52
3.5.2. Request ........................................................................................53
3.5.3. Response......................................................................................55
3.5.4. Biệt lệ ...........................................................................................56
3.6. LockFeature...................................................................................................56
3.6.1. Giới thiệu.....................................................................................56
3.6.2. Request ........................................................................................57
3.6.3. Response......................................................................................58
SV
ne
t.vn
vi
3.6.4. Biệt lệ ...........................................................................................59
3.7. Transaction ....................................................................................................60
3.7.1. Giới thiệu.....................................................................................60
3.7.2. Request ........................................................................................60
3.7.3. Response......................................................................................69
3.7.4. Biệt lệ ...........................................................................................72
3.8. GetCapabilities .............................................................................................72
3.8.1. Giới thiệu.....................................................................................72
3.8.2. Request ........................................................................................72
3.8.3. Response......................................................................................73
3.8.4. Biệt lệ ...........................................................................................73
Chương 4. Bộ lọc (Filter)...............................................................................................74
4.1. Giới thiệu:......................................................................................................74
4.2. Sử dụng Filter: ..............................................................................................74
4.3. Đặc tả của Filter: ..........................................................................................74
4.4. Các phép toán không gian (Spatial Operators) .........................................75
4.4.1. Mục đích......................................................................................75
4.4.2. Mô tả ............................................................................................75
4.5. Các phép toán so sánh (Comparison operators) .......................................78
4.5.1. Giới thiệu:....................................................................................78
4.5.2. Mô tả: ...........................................................................................78
4.6. Các phép toán Logic ....................................................................................82
4.6.1. Giới thiệu:....................................................................................82
4.6.2. Mô tả: ...........................................................................................82
4.7. Định danh của Feature (Feature Identifier):..............................................83
4.7.1. Giới thiệu:....................................................................................83
4.7.2. Mô tả: ...........................................................................................84
SV
ne
t.vn
vii
4.8. Biểu thức (Expressions): .............................................................................84
4.8.1. Giới thiệu:....................................................................................84
4.8.2. Mô tả: ...........................................................................................84
4.9. Các phép toán số học: ..................................................................................84
4.9.1. Giới thiệu:....................................................................................84
4.9.2. Mô tả: ...........................................................................................84
4.10. Các hàm (Functions) ....................................................................................85
4.10.1. Giới thiệu:....................................................................................85
4.10.2. Mô tả: ...........................................................................................86
4.11. Các khả năng về Filter: ................................................................................86
Chương 5. Carbon Tool.................................................................................................91
5.1. Giới thiệu.......................................................................................................91
5.2. Một số ví dụ về việc sử dụng bộ thư viện CarbonTools..........................92
5.2.1. Dùng CarbonTools thực hiện GetCapabilities request ..........92
5.2.2. Dùng CarbonTools thực hiện GetFeature request..................96
5.3. Dùng CarbonTools gởi GetMap request .................................................102
5.3.1. Lớp CarbonTools.Core.WMS.SourceWMS ........................102
5.3.2. Lớp CarbonTools.Core.Base.DataRaster ..............................103
5.3.3. Lớp CarbonTools.Core.WMS.HandlerWMS .......................103
5.3.4. Vi dụ thực hiện GetMap request.............................................104
5.4. Dùng CarbonTools gởi DescribeFeatureType request ..........................105
5.5. Dùng CarbonTools gởi request của Transaction và LockFeature ........106
Chương 6. Cài đặt chương trình OpenGIS Server ...............................................107
6.1. Giới thiệu.....................................................................................................107
6.2. Tổ chức và lưu trữ dữ liệu.........................................................................107
6.3. Giao tiếp với client bằng giao thức HTTP ..............................................114
6.3.1. Nhận dữ liệu từ client bằng giao thức HTTP GET: .............114
6.3.2. Nhận dữ liệu từ client bằng giao thức HTTP POST ............114
SV
ne
t.vn
viii
6.3.3. Trả kết quả về cho Client.........................................................115
6.4. Đọc dữ liệu từ chuỗi XML........................................................................115
6.4.1. Ví dụ đọc 1 tài liệu Xml ..........................................................115
6.5. Các lớp trong chương trình .......................................................................118
Chương 7. Cài đặt các chương trình client .............................................................126
7.1. Cài đặt chương trình OpenGisClientDemo.............................................126
7.1.1. Giới thiệu...................................................................................126
7.1.2. Gởi request cho server .............................................................135
7.2. Cài đặt chương trình OpenGisClientApplication ...................................144
7.2.1. Tính năng...................................................................................144
7.2.2. Màn hình giao diện...................................................................145
Chương 8. Tổng kết ......................................................................................................147
8.1. Kết quả đạt được.........................................................................................147
8.2. Hướng phát triển.........................................................................................147
PHỤ LỤC - MySQL với phần mở rộng hỗ trợ cho OpenGIS ...........................148
TÀI LIỆU THAM KHẢO ...........................................................................................171
SV
ne
t.vn
ix
DANH SÁCH HÌNH
Hình 1.1. Kiến trúc các dịch vụ web của OGC .......................................................4
Hình 2.1. Hình chữ nhật bao..................................................................................12
Hình 3.1. Lược đồ giao thức..................................................................................37
Hình 7.1. Màn hình chính ....................................................................................127
Hình 7.2. Màn hình minh họa thực hiện request WFS – GetCapabilities ...........128
Hình 7.3. Màn hình minh họa thực hiện request WFS – DescribeFeatureType..129
Hình 7.4. Màn hình minh họa thực hiện request WFS – GetFeature ..................130
Hình 7.5. Màn hình minh họa thực hiện request WFS – GetFeature ..................131
Hình 7.6. Màn hình minh họa thực hiện request WFS – Transaction .................132
Hình 7.7. Màn hình minh họa thực hiện request WMS – GetCapabilities..........133
Hình 7.8. Màn hình minh họa thực hiện request WMS – GetMap......................134
Hình 7.9. Màn hình giao diện chương trình OpenGISClientApplication............145
Hình 7.10. Màn hình lấy thông tin một điểm trên bản đồ .....................................146
SV
ne
t.vn
x
DANH SÁCH BẢNG
Bảng 2.1. Các ký tự quy ước trong câu HTTP GET URL..........................................7
Bảng 2.2. Danh sách các kiểu MIME..........................................................................10
Bảng 2.3. Các tham số trong GetCapabilities request URL .....................................14
Bảng 2.4. Mối quan hệ giữa giá trị UpdateSequence trong client và server...........15
Bảng 2.5. Thuộc tính lớp...............................................................................................23
Bảng 2.6. Qui định kế thừa các thuộc tính lớp ...........................................................26
Bảng 2.7. Các tham số trong GetMap request............................................................27
Bảng 2.8. Các tham số của request GetFeatureInfo...................................................33
Bảng 5.1. Các thuộc tính của SourceOGCCapabilities .............................................92
Bảng 5.2. Các thuộc tính quan trọng của DataOGCCapabilities .............................93
Bảng 5.3. Các thuộc tính của HandlerOGCCapabilities ...........................................94
Bảng 5.4. Các thuộc tính của CarbonTools.Core.WFS.SourceWFS.......................97
Bảng 5.5. Các thuộc tính của CarbonTools.Core.Features.DataFeatures ...............97
Bảng 5.6. Các thuộc tính của CarbonTools.Core.WFS.HandlerWFS.....................98
Bảng 5.7. Các thuộc tính của CarbonTools.Core.WMS.SourceWMS..................103
Bảng 5.8. Các thuộc tính của CarbonTools.Core.Base.DataRaster .......................103
Bảng 5.9. Các thuộc tính của CarbonTools.Core.WMS.HandlerWMS................104
Bảng 6.1. Các bảng dữ liệu trong CSDL TpHCM...................................................108
Bảng 6.2. Cấu trúc chung của các bảng dữ liệu .......................................................109
Bảng 6.3. Bảng “duong”..............................................................................................110
Bảng 6.4. Bảng “quan”................................................................................................111
Bảng 6.5. Bảng “song” ................................................................................................111
Bảng 6.6. Bảng “tuyensinh” .......................................................................................112
Bảng 6.7. Bảng “ypagesit” ..........................................................................................113
Bảng 6.8. Các lớp trong chương trình .......................................................................125
SV
ne
t.vn
xi
MỘT SỐ THUẬT NGỮ
Operation Đặc tả của phép biến đổi hoặc truy vấn trên một đối
tượng có thể được gọi thực thi.
Client Phần mềm có thể gọi operation từ server
Request Lời yêu cầu operation của client cho server.
Response Kết quả trả về của operation mà serve gửi cho client.
Tài liệu Capabilities XML Tài liệu metadata mô tả các operation mà một dịch vụ
hỗ trợ.
OGC Tổ chức Open GIS Consortium
OWS – OGC Web Service Các dịch vụ web của OGC
WMS Dịch vụ Web Map Service
WFS Dịch vụ Web Feature Service
SV
ne
t.vn
Chương 1. Tổng quan
1
Chương 1. Tổng quan
1.1. Đặt vấn đề và mục tiêu đề tài
Hệ thống thông tin địa lý (GIS) là một công cụ máy tính để lập bản đồ và phân
tích các sự vật, hiện tượng thực trên trái đất. GIS lưu giữ thông tin về thế giới thực
dưới dạng tập hợp các lớp chuyên đề có thể liên kết với nhau nhờ các đặc điểm địa
lý.
Điều này đơn giản nhưng vô cùng quan trọng và là một công cụ đa năng đã được
chứng minh là rất có giá trị trong việc giải quyết nhiều vấn đề thực tế, từ thiết lập
tuyến đường phân phối của các chuyến xe, đến lập báo cáo chi tiết cho các ứng
dụng quy hoạch, mô phỏng sự lưu thông khí quyển toàn cầu, cho đến việc xác lập
các hệ định vị toàn cầu.
Hiện nay, công nghệ GIS được nghiên cứu ứng dụng đa dạng, đa tầng trong
nhiều lĩnh vực khác nhau (phân tích các sự kiện, dự đoán tác động và hoạch định
chiến lược). Các chuyên gia của mọi lĩnh vực đều nhận thức được những ưu điểm
của sự kết hợp công việc của họ và GIS.
Chính vì thế, việc tìm hiểu các dịch vụ web cho ứng dụng GIS và xây dựng ứng
dụng minh họa khai thác dịch vụ không chỉ là một yêu cầu mang tính khoa học của
ngành công nghệ thông tin mà còn là một đòi hỏi của chính thực tiễn đời sống trong
bối cảnh toàn cầu hoá.
Yêu cầu ứng dụng công nghệ GIS đang phát triển cả về chiều rộng lẫn chiều sâu
đang đặt ra nhiều thách thức kỹ thuật trong quá trình thu thập, phân tích và xử lý dữ
liệu với khối lượng lớn.
Các dữ liệu GIS từ nhiều nguồn và có thể được định dạng theo nhiều chuẩn khác
nhau. Do đó, khi khai thác dữ liệu này, người sử dụng dễ vấp phải những trở ngại
lớn về vấn đề tính tương thích, cũng như những rắc rối trong việc mua bán phần
mềm, làm quen với việc sử dụng phần mềm, chưa kể đến việc phải bỏ ra một lượng
tiền lớn để mua toàn bộ các dữ liệu do nhà cung cấp xây dựng, trong khi hầu hết các
SV
ne
t.vn
Chương 1. Tổng quan
2
trường hợp ta chỉ cần một phần thông tin trong đó mà thôi. Các dữ liệu này được
đưa về và lưu trữ tập trung ở một nơi, lại phải bỏ ra một khoản tiền không nhỏ khác
cho việc lưu trữ, bảo trì và cập nhật chúng. Rõ ràng là tiêu phí công sức, thời gian,
và tiền bạc một cách vô ích.
Để khắc phục những trở ngại này, việc tiến hành xây dựng các dịch vụ web hỗ
trợ GIS là một giải pháp tốt hiện đang được rất nhiều nơi trên thế giới và trong nước
triển khai thực hiện. Thay vì dồn các dữ liệu lại một nơi và xử lý tập trung trên đó,
giải pháp dịch vụ web lại đi theo con đường xử lý phân tán. Mọi thông tin yêu cầu
và đáp ứng đều được gửi và nhận thông qua Internet.
Nhờ mang lại được những tiện ích thiết thực, các dịch vụ web hỗ trợ GIS đang
ngày càng phát triển nhanh và rộng khắp đến mức làm nảy sinh nhu cầu xây dựng
một chuẩn chung áp dụng rộng rãi trên toàn cầu dành riêng cho các dịch vụ web hỗ
trợ GIS, nhằm đáp ứng mục tiêu hợp tác, giao tiếp được với các dịch vụ web hỗ trợ
GIS trên phạm vi toàn cầu. Nhận thấy yêu cầu đó, tổ chức OGC đã đưa ra các chuẩn
chung thống nhất cho các dịch vụ web hỗ trợ GIS. Trong đó, hai chuẩn được xem là
cơ sở và sử dụng phổ biến nhất là Web Map Service (WMS) và Web Feature
Service (WFS).
Hiện nay, trên thế giới và ở nước ta đã có rất nhiều nơi tiến hành nghiên cứu và
xây dựng các server cung cấp các dịch vụ WMS và WFS nhằm hỗ trợ cho các bài
toán về thông tin địa lý ở những mức độ khác nhau. Tuy nhiên hầu như chỉ có một
số giải pháp được tiến hành theo hướng cung cấp các dịch vụ web trên cơ sở hỗ trợ
tối đa mọi hàm thuộc hai chuẩn WMS và WFS. Do đó, luận văn này hướng vào
mục tiêu nghiên cứu và xây dựng thành công server hỗ trợ đầy đủ các giao tác của
hai dịch vụ WMS và WFS, đồng thời xây dựng các ứng dụng client minh họa khả
năng của server này.
Lý do chọn chuẩn WMS và WFS là do nó đạt tính chuẩn hóa và tính quốc tế
cao, được sử dụng phổ biến và được kiểm nghiệm nghiêm ngặt.
SV
ne
t.vn
Chương 1. Tổng quan
3
1.2. Giới thiệu Web Service
Các file đính kèm theo tài liệu này:
- [LVIT029] - Tìm hiểu UD GIS và XD UD minh họa.pdf