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