BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT GIS Geographic Information System Hệ thống thông tin địa lý OGC Open Geospatial Consortium Một tổ chức xây dựng các chuẩn mở trên cơ sở vị trí và không
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HỒ TRUNG NGUYÊN
NGHIÊN CỨU DỊCH VỤ WEB OGC
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI - 2014
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HỒ TRUNG NGUYÊN
NGHIÊN CỨU DỊCH VỤ WEB OGC
Ngành : Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm
Mã số : 60480103
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS ĐẶNG VĂN ĐỨC
HÀ NỘI - 2014
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan rằng nội dung và những kết quả của luận văn tốt nghiệp này là
do tôi tự nghiên cứu dưới sự hướng dẫn của PGS.TS Đặng Văn Đức Trong toàn bộ nội dung của luận văn, những điều được trình bày là của cá nhân tôi hoặc được tổng hợp từ nhiều nguồn tài liệu khác Tất cả các tài liệu tham khảo đều được trích dẫn rõ ràng ở phần cuối của luận văn
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Hà Nội, ngày tháng năm 2014
Học viên
Hồ Trung Nguyên
Trang 4LỜI CẢM ƠN
Tôi xin được bày tỏ lòng biết ơn sâu sắc tới sự giúp đỡ của giảng viên hướng dẫn PGS.TS Đặng Văn Đức Thầy đã tận tình giúp đỡ tôi về chuyên môn, nghiên cứu và định hướng phát triển trong suốt thời gian làm luận văn
Tôi cũng xin gửi lời cám ơn đến tập thể các thầy cô giáo trong Khoa CNTT – ĐH Công Nghệ - ĐH Quốc Gia Hà Nội vì đã truyền đạt những kiến thức bổ ích, hiện đại cùng các phương pháp nghiên cứu khoa học để tôi có được cơ sở vững chắc và hoàn thành luận văn này
Cảm ơn bạn học viên cao học khóa K18 đã tạo điều kiện cho tôi trao đổi, chia sẻ kiến thức và kinh nghiệm thực tế qua các môn học, các buổi thảo luận và làm việc cùng nhóm Mọi người đã giúp tôi hiểu thêm những vấn đề mà tôi không có điều kiện tìm hiểu, chỉ cho tôi những thứ tôi chưa làm được
Cuối cùng, tôi xin gửi lời cảm ơn tới gia đình tôi vì đã luôn ủng hộ tôi trên con đường học tập và nghiên cứu với nhiều khó khăn, vất vả Tuy rằng, tôi đã cố gắng hết sức trong quá trình làm luận văn nhưng không thể tránh khỏi thiếu sót, rất mong nhận được những góp ý của thầy cô và các bạn
Hà Nội, Tháng 4 – Năm 2014
Trang 5TÓM TẮT NỘI DUNG LUẬN VĂN
Ngày nay, Hệ thống thông tin địa lý (GIS – Geographic Information System) đã phát triển rất mạnh 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 Nó được ứng dụng vào rất nhiều ngành và lĩnh vực khác nhau như lĩnhvực về kinh tế - xã hội, tài nguyên môi trường, bản đồ tìm đường đi, bản đồ địa chất, khoáng sản… Vì thế, những ưu điểm của công nghệ GIS đang được quan tâm và phát triển Tuy nhiên chi phí cho phần mềm về GIS là rất cao
Vì vậy, xu hướng phát triển phần mềm dựa trên công nghệ mã nguồn mở cũng đang được phát triển rất mạnh và nhanh chóng được sự hưởng ứng và đóng góp của nhiều tổ chức trên thế giới Tổ chức OGC (Open Geospatial Consortium) với mục tiêu xây dựng các chuẩn thực thi chung cho lĩnh vực dữ liệu không gian càng đưa GIS gần đến với mọi người hơn Và như chúng ta đã biết, WebGIS kết hợp với các chuẩn mở OGC
là con đường giới thiệu những sản phẩm về GIS và dữ liệu địa lý nhanh và hiệu quả đến cộng đồng mạng toàn thế giới
Trong nội dung luận văn, mục đích chính là cung cấp một số khái niệm cơ bản nhất về hệ thống thông tin địa lý (GIS), WebGIS và một số công nghệ mã nguồn
mở, trên cơ sở đó xây dựng dịch vụ Web ứng dụng trong thống kê kinh tế - xã hội của một thành phố
Phương pháp nghiên cứu chính của luận văn là tìm hiểu về các phầm mềm mã nguồn mở, tìm đọc các tài liệu có liên quan đến lĩnh vực nghiên cứu, trên cơ sở đó xây dựng dịch vụ WebGIS ứng dụng thống kê kinh tế - xã hội thành phố Đồng Hới, tỉnh Quảng Bình Cài đặt và thử nghiệm dịch vụ WebGIS đã xây dựng
Trang 6MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
TÓM TẮT NỘI DUNG LUẬN VĂN 3
MỤC LỤC 4
BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 7
DANH MỤC CÁC HÌNH VẼ 8
DANH MỤC CÁC BẢNG BIỂU 10
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THÔNG TIN ĐỊA LÝ 11
1.1 Giới thiệu tổng quan về GIS 11
1.1.1 GIS là gì 11
1.1.2 Các thành phần của Gis 11
1.1.2.1 Phần cứng 12
1.1.2.2 Phần mềm 12
1.1.2.3 Dữ liệu 12
1.1.2.4 Con người 13
1.1.2.5 Phương pháp phân tích 13
1.1.3 Các chức năng của GIS 13
1.1.3.1 Thu thập (Cature ) 14
1.1.3.2 Lưu trữ ( Store ) 14
1.1.3.3 Truy vấn ( Query ) 14
1.1.3.4 Phân tích ( Analyze ) 14
1.1.3.5 Hiển thị ( Display ) 14
1.1.3.6 Xuất dữ liệu ( Output ) 14
1.2 Các mô hình dữ liệu GIS 14
1.2.1 Mô hình dữ liệu Vector 14
1.2.1.1 Giới thiệu mô hình dữ liệu Vector 14
1.2.1.2 Cấu trúc trong dữ liệu Vector 16
1.2.3 Mô hình dữ liệu Raster 19
1.2.3.1 Giới thiệu mô hình dữ liệu Raster 19
1.2.3.2 Đặc điểm dữ liệu raster 20
1.2.3.3 Chuyển đổi cơ sở dữ liệu dạng vector và raster 22
1.2.3.4 So sánh ưu và nhược điểm của dữ liệu raster và vector 23
1.3 Tổng quan về WebGIS 24
1.3.1 Kiến trúc WebGIS 25
Trang 71.3.1.1.Tầng trình bày (Presentation tier) 26
1.3.1.2 Tầng giao dịch (Bussines tier) 26
1.3.1.3 Tầng dữ liệu (Data tier) 26
1.3.2 Chức năng WebGIS 27
1.3.3 Ứng dụng của WebGIS 28
CHƯƠNG 2 NGHIÊN CỨU VỀ OGC VÀ CÔNG NGHỆ WEBGIS NGUỒN MỞ 29
2.1 Giới thiệu về OGC (Open Geospatial Consortium) 29
2.1.1 Lịch sử của tổ chức OGC 29
2.2 Dịch vụ OGC cho GIS 30
2.2.1 Khái niệm và nguyên lý hoạt động của kiến trúc hướng dịch vụ (SOA) 30
2.2.1.1 Khái niệm 30
2.2.1.2 Nguyên lý SOA 31
2.2.2 OGC Web service (OWS) 32
2.2.3 Web Map Service (WMS) 34
2.2.4 Web Feature Service (WFS) 35
2.3 Công nghệ mã nguồn mở dựng để xây dựng WebGIS 36
2.3.1 PostgreSQL 36
2.3.1.1 Các công cụ quản trị PostgreSQL 36
2.3.1.2 Phần mở rộng PostGIS 36
2.3.2 Mapbuilder 36
2.3.3 GeoServer 39
CHƯƠNG 3: XÂY DỰNG DỊCH VỤ WEBGIS ỨNG DỤNG PHÂN TÍCH SỒ LIỆU THỐNG KÊ THÀNH PHỐ ĐỒNG HỚI TỈNH QUẢNG BÌNH 43
3.1 Phân tích 43
3.1.1 Hiện trạng và nhu cầu thông tin 43
3.1.2 Phân tích hệ thống và định hướng công nghệ 43
3.3 Mô hình hệ thống 44
3.4 Thiết kế 45
3.4.1 Thiết kế kiến trúc hệ thống 45
3.4.2 Thiết kế chức năng 46
3.4.2.1 Sơ đồ chức năng chính 46
3.4.2.2 Mô tả chức năng 46
3.4.3 Thiết kế giao diện 47
3.4.3.1 Giao diện quản trị 47
3.4.3.2 Giao diện người dùng 48
Trang 83.5 Xây dựng hệ thống 49
3.5.1 Cài đặt và sử dụng PostgresSQL+PostGIS 50
3.5.1.1 Cài đặt hệ quản trị cơ sở dữ liệu PostgreSQL 50
3.5.1.1 Import shapefile vào PostgreSQL/PostGIS – Kết nối gvSIG với CSDL 54
3.5.1.2 Đƣa CSDL trong postgreSQL lên GeoServer và tạo kiểu hiển thị (style) cho các lớp dữ liệu 56
3.6 Cài đặt và thử nghiệm 63
KẾT LUẬN 64
TÀI LIỆU THAM KHẢO 65
PHỤ LỤC 66
Trang 9BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
GIS Geographic Information System Hệ thống thông tin địa lý
OGC Open Geospatial Consortium Một tổ chức xây dựng các chuẩn mở
trên cơ sở vị trí và không gian địa lý
WebGIS Website Geographic
HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản
HTTP Hypertext Transfer Protocol Giao thức truyền siêu văn bản
XML eXtensible Markup Language Ngôn ngữ đánh dấu mở rộng
GML Geography Markup Language Ngôn ngữ đánh dấu địa lý
WMS Web Map Service Tạo và hiển thị các bản đồ
trong GML CAT Catalog Interface Định nghĩa các giao diện chuẩn
SLD Styled Layer Descriptor Một mã hóa cho đặc tả WMS
CSDL Database System Cơ sở dữ liệu của hệ thống
Trang 10DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Các thành phần của GIS 12
Hình 1.2 Biểu diễn bản đồ vector( Nguồn: Đặng Văn Đức, 2001) 15
Hình 1.3 Dữ liệu topology vector 17
Hình 1.4 Biểu đồ dữ liệu raster (Nguồn: Đặng Văn Đức, 2001) 20
Hình 1.5 Biểu diễn các đối tượng cơ sở trong raster 22
Hình 1.6 Sự chuyển đổi giữa hai mô hình vector và raster 22
Hình 1.7 Chuyển đổi cấu trúc dữ liệu (Nguồn: Tor Bernhardsen, 1992) 23
Hình 1.8 Mô hình WebGIS Nguồn http://gis.ascc.net/STIS/eng/main2-3.html 25
Hình 1.9 Mô hình 3 lớp trong kiến trúc WebGIS 27
Hình 2.1 Mô hình cơ bản của SOA 31
Hình 2.2 Giao diện của Web Map Service 34
Hình 2.3 Mô hình MapBuilder 38
Hình 2.4 Giao diện GeoServer 40
Hình 2.5 Quy trình hiển thị bản đồ trên GeoServer 41
Hình 3.1 Sơ đồ hệ thống 45
Hình 3.2: Sơ đồ các chức năng chính 46
Hình 3.3: Sơ đồ web dành cho người quản trị 47
Hình 3.4: Sơ đồ web dành cho người dùng 48
Hình 3.5: Giao diện trang chủ 48
Hình 3.6: Giao diện bản đồ 49
Hình 3.7 Sơ đồ tổ chức trang Web 50
Hình 3.8 Cấu trúc template_postgis 51
Hình 3.9 Giao diện pgAdmin III của PostgreSQL 51
Hình 3.10 Giao diện tạo mới Database 51
Hình 3.11 Cấu trúc tạo Database 52
Hình 3.12 Restore Database vào CSLD 53
Hình 3.13 Cấu trúc bảng trong CSDL 53
Hình 3.14 Cấu trúc template_postgis 54
Hình 3.15 Tạo mới GIS database trên cơ sở template_postgis 54
Hình 3.16 Menu Plugins trong PostgreSQL 55
Hình 3.17 Cửa sổ Shape File to PostGIS Importer 55
Hình 3.18 Dữ liệu bảng cây xanh trong pgAdmin III 56
Hình 3.19 Hộp thoại tạo Workspace 56
Hình 3.20 Hộp thoại tạo Store 57
Hình 3.21 Hộp thoại thông tin về kho dữ liệu 57
Trang 11Hình 3.22 Hộp thoại chon hệ tọa độ trong GeoServer 58
Hình 3.23 Code tạo kiểu hiển thị 59
Hình 3.24 Code tạo kiểu hiển thị hành chính phường 60
Hình 3.25 Hộp thoại chọn kiểu hiển thị (style) cho lớp bản đồ (layer) 61
Hình 3.26 Lớp bản đồ hành chính phường được chọn kiểu hiển thị 62
Trang 12DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1 Cấu trúc Spaghetti 16
Bảng 1.2 Bảng Topology vùng 18
Bảng 1.3 Bảng Topology cung 18
Bảng 1.4 Bảng Topology nút 18
Bảng 1.5 Bảng dữ liệu tọa độ cung 19
Trang 13CHƯƠNG 1 TỔNG QUAN VỀ HỆ THÔNG TIN ĐỊA LÝ
1.1 Giới thiệu tổng quan về GIS
1.1.1 GIS là gì
Hệ thống thông tin địa lý (GIS – Geographic Information System) ra đời từ những năm 1960 và phát triển mạnh mẽ trong khoảng 10 năm trở lại đây 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 Công nghệ GIS kết hợp các cơ sở dữ liệu thông thường và các phép phân tích thống
kê, phân tích địa lý, trong đó phép phân tích địa lý là hình ảnh được cung cấp từ các bản đồ
GIS được hình thành từ nhiều ngành khoa học: Địa lý, bản đồ, tin học và toán học 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, ví dụ:
- 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 thiết kế để làm việc với các dữ liệu trong
hệ toạ độ quy chiếu GIS bao gồm một hệ cơ sở dữ liệu và các phương thức để thao tác với dữ liệu đó
- 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ừ các định nghĩa trên, ta có thể hiểu một cách tổng quát về GIS như sau Theo [2]
“Hệ thống các công cụ nền máy tính dùng để thu thập,lưu trữ, truy cập và biến đổi, phân tích và thể hiện dữ liệu liên quan đến các vị trí trên bề mặt trái đất và tích hợp các thông tin này vào quá trình ra quyết định”
1.1.2 Các thành phần của Gis
GIS được kết hợp bởi 5 thành phần cơ bản: Con người, phần cứng, phần mềm,
dữ liệu và phương pháp phân tích
Trang 14Hình 1.1 Các thành phần của GIS
1.1.2.1 Phần cứng
Phần cứng là hệ thống máy tính mà trên đó một hệ GIS hoạt động Phần cứng bao gồm máy tính, máy in, màn hình, thiết bị nhập dữ liệu và các thiết bị mạng cần thiết khi triển khai GIS trên môi trường mạng
1.1.2.2 Phần mềm
Một phần mềm GIS thường có 4 chức năng chính:
- Nhập thông tin không gian và thông tin thuộc tính từ các nguồn khác nhau
- Lưu trữ, điều chỉnh, cập nhật và tổ chức các thông tin không gian và thông tin thuộc
tính
- Phân tích biến đổi thông tin trong cơ sở dữ liệu nhằm giải quyết các bài toán tối ưu
và mô hình mô phỏng không gian- thời gian
- Hiển thị và trình bày thông tin dưới các dạng khác nhau, với các biện pháp khác
nhau
1.1.2.3 Dữ liệu
Dữ liệu trong hệ thống thông tin địa lý là những dữ liệu luôn thay đổi và rất phức tạp Chúng bao gồm những mô tả số của hình ảnh bản đồ , mối quan hệ logic giữa các hình ảnh đó, những dữ liệu thể hiện các đặc tính của hình ảnh và các hiện
tượng xảy ra tại các vị trí địa lý xác định Theo [4] “Dữ liệu địa lý được tham chiếu tới các vị tri trên bề mặt Trái Đất thông qua việc sử dụng một hệ thống các tọa độ chuẩn Hệ thống này có thể mang tính chất cục bộ như trong trường hợp khảo sát một khu vực có diện tích nhỏ, hoặc cũng có thể được định vị trong một hệ tọa độ mang tính quốc gia hoặc quốc tế”
Trang 15Một cơ sở dữ liệu địa lý thường được chia thành hai loại dữ liệu cơ bản đó là dữ liệu không gian và dữ liệu phi không 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 trữ số liệu, hiệu quả, xử lý và hiển thị
Dữ liệu không gian ( spatial) cho ta biết về kích thước vật lý và vị trí địa lý của các đối tượng trên bề mặt trái đất Các dữ liệu không gian biểu diễn các đối tượng địa
lý ứng với những sự vật đã được định vị của thế giới thực
Dữ liệu phi không gian (non-spatial) hay còn gọi là dữ liệu thuộc tính: Là các dữ liệu ở dạng văn bản mô tả các đặc điểm của các đối tượng địa lý
1.1.2.4 Con người
Con người là nhân tố thực hiện các thao tác điều hành sự hoạt động của các hệ thống GIS, vì GIS thường là hệ thống lớn và phức tạp nên cũng có nhiều đối tượng con người khác nhau với các mục đích khác nhau như:
- Người dùng GIS: Là những người sử dụng các phần mềm GIS để giải quyết các bài toán không gian theo mục đích của họ Họ thường là những người được đào tạo tốt
về lĩnh vực GIS hay là các chuyên gia
- Người xây dựng bản đồ: Sử dụng các lớp bản đồ được lấy từ nhiều nguồn khác nhau, chỉnh sửa dữ liệu để tạo ra các bản đồ theo yêu cầu
- Người xuất bản: Sử dụng phần mềm GIS để kết xuất ra bản đồ dưới nhiều định dạng khác nhau
- Người phân tích: Giải quyết các vấn đề như tìm kiếm, xác định vị trí…
- Người xây dựng dữ liệu: Là những người chuyên nhập dữ liệu bản đồ bằng các cách khác nhau: vẽ, chuyển đổi từ định dạng khác, truy nhập CSDL…
- Người quản trị CSDL: Quản lý CSDL GIS và đảm bảo hệ thống vận hành tốt
- Người thiết kế CSDL: Xây dựng các mô hình dữ liệu lôgic và vật lý
1.1.2.5 Phương pháp phân tích
Ðây là 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 được giao nhiệm vụ xây dựng hoặc cải tạo các phần mền GIS để đáp ứng các nhu cầu cụ thể
1.1.3 Các chức năng của GIS
Hệ thống thông tin địa lý có sáu chức năng chính: Thu thập, lưu trữ, truy vấn, phân tích, hiển thị và xuất dữ liệu
Trang 161.1.3.1 Thu thập (Cature )
Dữ liệu của hệ thống thông tin đi ̣a lý có thể được cung cấp từ bản đồ giấy, số liệu ghi nhận trên giấy, ảnh vệ tinh hoặc ảnh máy bay, các thiết bị đo đạc kỹ thuật số, các thiết bị định vị mặt đất, các thiết bị định vị vệ tinh (GPS: Global Position System), hệ thống thu thập dữ liệu tự động (SCADA: Supervisory Control And Data Acquisition),…
1.1.3.5 Hiển thị ( Display )
Dữ liệu GIS được hiển thị lên màn hình máy tính hoặc trên giấy in để cung cấp thông tin cho người dùng Trong GIS người ta dùng hình ảnh, hình vẽ, mô hình trực quan, chữ viết, biểu đồ, bản đồ, bảng thống kê, ký hiệu, màu sắc, âm thanh để trình bày vị trí và thuộc tính của các đối tượng và các kết quả phân tích
1.1.3.6 Xuất dữ liệu ( Output )
Hỗ trợ việc kết xuất dữ liệu bản đồ dưới nhiều định dạng: Giấy in, ảnh, file…
1.2 Các mô hình dữ liệu GIS
1.2.1 Mô hình dữ liệu Vector
1.2.1.1 Giới thiệu mô hình dữ liệu Vector
Mô hình dữ liệu vector coi các đối tượng là tập các thực thể không gian cơ sở
và tổ hợp giữa chúng 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 (point), đường (line) và vùng (polygon) và được biểu diễn trên một hệ thống tọa độ nào đó
- Điểm: Điểm là hình thức cơ bản nhất của dữ liệu vector Điểm (thực thể địa lý) được thể hiện như một vector có độ dài bằng không (không có kích thước), và vị trí của nó được xác định bởi một cặp tọa độ (x,y) duy nhất Ngoài ra thì các dữ liệu mô tả điểm đó như ký hiệu, tên gọi…cũng được lưu trữ cùng với cặp tọa độ
Trang 17Điểm biểu diễn các feature (tính năng) không có miền bao hay độ dài, nhiều khi
nó biểu diễn các tính năng có kích thước quá nhỏ so với tỷ lệ của bản đồ Ví dụ như vị trí các cột đèn, vị trí xảy ra tai nạn, các trung tâm (địa chỉ, chủ sở hữu)…
- Đường: Thực thể đường (line entity): được định nghĩa như là tập hợp các thực thể địa lý được xác định bằng những đoạn thẳng có ít nhất hai hay nhiều cặp tọa độ Đường đơn giản nhất là đường nối giữa hai điểm bất kỳ có toạ độ (Xi, Yi) và (Xj Yj)
và có thể kèm theo dữ liệu ký hiệu thể hiện nó trên bản đồ Điểm xuất phát và điểm kết
thúc của đường gọi là nút (node) và các điểm tạo nên đường gọi là đỉnh (Vertices)
Đường dùng để biểu diễn các feature có chiều dài xác định nhưng không có miền bao hay những feature rất hẹp so với tỷ lệ bản đồ Ví dụ như: Đường phố, sông suối,
hệ thống nước…
- Vùng Polygons là đối tượng hai chiều, có vị trí, có chiều dài, và có cả chiều
rộng (hay có diện tích) khép kín bởi các đường Vậy vùng là tổ hợp của đường khép
kín nên toạ độ của vùng tại ranh giới vùng chính là toạ độ của các điểm (nút hoặc vertex) nằm trong các đường hình thành nên vùng Khi có bất kỳ toạ độ nào nằm trong vùng mà không được ghi nhận trong cơ sở dữ liệu vùng, GIS có thể cho phép đưa ra toạ độ của chúng bằng các modul nội suy một cách nhanh chóng và chính xác
Vùng được dùng để biểu diễn các tính năng có miền bao xác định: ruộng đất, ao,
hồ, vùng lũ lụt…
Hình 1.2 Biểu diễn bản đồ vector [1]
Trang 181.2.1.2 Cấu trúc trong dữ liệu Vector
1.2.1.2.1 Cấu trúc Spaghetti:
Cấu trúc dữ liệu Spaghetti mỗi điểm được xác định bằng cặp tọa độ (x,y), mỗi đường được biểu diễn bằng một chuỗi những cặp tọa độ (xi,yi) này, và mỗi vùng cũng được xác định bằng một chuỗi các cặp tọa độ (xi,yi) nhưng có tọa độ điểm đầu và tọa
độ điểm cuối trùng nhau Cấu trúc Spaghetti không lưu trữ các đặc trưng giống nhau của các đối tượng không gian trên cùng hệ tọa độ, nghĩa là tại đường chung của hai vùng kề nhau thì có hai đường độc lập
Ví dụ cho hai vùng : Vùng a và vùng b có cung AB chung, cấu trúc Spaghetti biểu diễn hai vùng như sau:
Trang 19Cấu trúc Spaghetti thường được sử dụng để lập bản đồ số, nhưng không thích hợp cho bài toán phân tích GIS vì không mô tả được các quan hệ không gian
1.2.2.2.2 Cấu trúc Topology
Để giải quyết vấn đề quan hệ không gian thì cấu trúc Topology là một phương án khả thi Trong hệ thống thông tin địa lý, cấu trúc Topology còn được gọi là cấu trúc cung-nút (arc-node) Cấu trúc Topology được xây dựng trên mô hình dữ liệu cung-nút với cung là phần tử cơ sở Việc xác định các đối tượng không gian dựa trên các định nghĩa sau:
Mỗi cung được xác định bởi hai điểm đầu và điểm cuối gọi là nút, còn các điểm giữa cung xác định hình dạng của cung gọi là đỉnh
Các cung giao nhau tại nút, kết thúc một cung phải là nút
Vùng là tập hợp các cung nối liền và khép kính, những cung này chính là đường biên của vùng Một vùng có thể được giới hạn bởi hai đường cong khép kín lòng vào nhau và không cắt nhau
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 độ
Hình 1.3 Dữ liệu topology vector
Trang 21- Bảng Topology vùng xác định những cung làm đường biên của vùng, phần bên ngoài bản đồ cũng được xem như một vùng không xác định cung đường biên
- Bảng Topology nút xác định mỗi nút thuộc những cung nào
- Bảng Topology cung xác định quan hệ của nút và vùng với cung
Từ ba bảng này, ta có thể phân tích các quan hệ của các phần tử trong bản đồ Bảng thứ tư lưu trữ tọa độ của các cung bằng cách lưu trữ tọa độ của các nút và các đỉnh của cung, để từ đó vị trí của mỗi phần tử trên bản đồ được liên hệ với thế giới thực
1.2.3 Mô hình dữ liệu Raster
1.2.3.1 Giới thiệu mô hình dữ liệu Raster
Cấu trúc raster là một trong những cấu trúc dữ liệu đơn giản nhất trong GIS
Nó còn được gọi là “tổ chức theo ô vuông của dữ liệu không gian” (cellular organization of spatial data) Nó biểu diễn các đặc trưng địa lý bằng các điểm ảnh (pixel) Pixel là phần tử cơ sở của cấu trúc dữ liệu Raster để biểu diễn một đặc trưng
Dữ liệu tọa độ cung
Cung
Nút đầu (x,y) Đỉnh vertex(x,y) Nút cuối (x,y)
Trang 22địa lý f(x,y) nào đó, giá trị của pixel chỉ tính chất của đối tượng không gian Giá trị số của pixel chính là mã được gắn cho đối tượng không gian (tức là mỗi đối tượng không gian có một mã nhất định) Giá trị bằng không thường là những pixel chỉ vùng ngoài khu vực nghiên cứu Dữ liệu Raster gắn liền với dữ liệu dạng ảnh hoặc dữ liệu có tính liên tục cao Dữ liệu Raster có thể biễu diễn được rất nhiều các đối tượng từ hình ảnh
bề mặt đất đến ảnh chụp từ vệ tinh, ảnh quét và ảnh chụp Định dạng dữ liệu Raster rất đơn giản nhưng hỗ trợ rất nhiều kiễu dữ liệu khác nhau Có thể sử dụng số nguyên, số thực, ký tự hay tổ hợp chúng để làm giá trị Mỗi đặc tính giống nhau sẽ có cùng giá trị
số Độ chính xác của mô hình raster phụ thuộc vào kích thước hay độ phân giải của các pixel Một điểm có thể là là một điểm ảnh, một đường là vài điểm ảnh liền kề
nhau, một vùng là tập hợp nhiều điểm ảnh Tóm lại, theo [3] thì “Mô hình dữ liệu raster chủ yếu dùng để phản ánh các đối tượng dạng vùng, ứng dụng cho các bài toán tiến hành trên các đối tượng dạng vùng: phân loại, chồng xếp”
1.2.3.2 Đặc điểm dữ liệu raster
Raster được tạo nên bởi một mảng hai chiều các điểm ảnh hay cell Cell là một đơn vị đồng nhất biểu diễn một vùng xác định trên trái đất Các cell có cùng kích thước Góc tọa độ của hệ được đặt tại cell nằm tại đỉnh góc trái Mỗi cell được xác
Hình 1.4 Biểu đồ dữ liệu raster [1]
Trang 23định bởi chỉ số dòng và chỉ số cột, đồng thời nó chứa một số nguyên ( hoặc số thực) biểu diễn kiểu hay giá trị thuộc tính xuất hiện trên bản đồ
Kích thước của cell trong raster phụ thuộc nhiều vào độ phân giải dữ liệu Cell phải có kích thước đủ nhỏ để có thể thu thập chi tiết dữ liệu, nhưng cũng phải có kích thước đủ lớn để có thể phân tích dữ liệu một cách thuận tiện
Trong cấu trúc dữ liệu raster, điểm, đường và vùng có thể được biểu diễn như sau
Điểm có thể được biểu diễn bằng một cell, đường được biểu diễn bằng một tập các cell có hướng xác định, độ rộng của đường bằng chiều rộng của một cell Vùng được biểu diễn bởi một dãy các cell nằm kề nhau
Trang 24Các nguồn dữ liệu xây dựng nên dữ liệu raster có thể bao gồm:
- Ảnh chụp từ vệ tinh, chụp từ 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)
1.2.3.3 Chuyển đổi cơ sở dữ liệu dạng vector và raster
Tùy theo yêu cầu của người dùng hoặc yêu cầu của hệ thống máy tính mà có thể chọn cấu trúc dữ liệu dạng vector hoặc raster Một số công cụ phân tích GIS phụ thuộc chặt chẽ vào mô hình dữ liệu raster, do vậy nó đòi quá trình biến đổi mô hình dữ liệu vector sang dữ liệu raster, hay có thể gọi là raster hóa Hoặc ngược lại, biến đổi từ raster sang mô hình vector, hay còn gọi là vector hóa Raster hóa là tiến trình chia đường hay vùng thành các ô vuông (pixcel) Vector hóa là tập hợp các pixcel để tạo thành đường hay vùng
Hình 1.5 Biểu diễn các đối tượng cơ sở trong raster
Hình 1.6 Sự chuyển đổi giữa hai mô hình vector và raster
Trang 25Để chuyển đổi dữ liệu raster sang vector thường dựa vào sự khác biệt màu sắc
từ 0 đến 256 byte của màu Đối với đường thì thì việc chuyển đổi như sau: Vector đường sẽ gắn mã theo mức độ xám hay theo giá trị số màu của đường trong raster Đối với điểm cấu trúc vector được tạo nên bằng hệ tọa độ(x,y) của pixel và có giá trị thuộc tính hình học bằng giá trị bảng màu từ ảnh raster Để chuyển một vùng từ raster sang vector trước hết nhận dạng đường biên của vùng bằng sự khác biệt các mã màu hoặc mức xám của các pixel trong vùng, sau đó chuyển đường biên đó sang dạng vector như là một đường
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
1.2.3.4 So sánh ưu và nhược điểm của dữ liệu raster và vector
Dữ liệu raster có những ưu điểm sau:
- Trong mô hình raster toàn bộ dữ liệu hình thành bản đồ được lưu trong bộ nhớ máy tính Do vậy, các thao tác kiểu như so sánh được thực hiện dễ dàng
Hình 1.7 Chuyển đổi cấu trúc dữ liệu (Nguồn: Tor Bernhardsen, 1992)
Trang 26- Cấu trúc dữ liệu đơn giản, quá trình tính toán đơn giản hơn và dễ dàng hơn dữ liệu vector
- Thuận lợi cho hiển thị không gian, thống nhất với dữ liệu ảnh, tự động thu nhận
dữ liệu
Nhược điểm:
- Khó khăn trong việc lưu trữ dữ liệu Bởi vì bản đồ thường được chia làm nhiều lớp, mỗi lớp gồm hàng triệu tế bào biểu diễn một đặc trưng địa lý nào đó, cho nên số lương lưu trữ dữ liệu là khổng lồ, điều này dẫn đến khó khăn cho hệ thống thông tin
- Kích thước ô định rõ sự quyết định ở phương pháp đại diện Điều này đặc biệt khó để cân xứng với sự hiện diện đặc tính thuộc về đường thẳng
- Kém chính xác về vị trí không gian của đối tượng Khi độ phân giải càng thấp (kích thước pixel lớn ) thì sự sai lệch này càng tăng
Dữ liệu vector có những ưu điểm sau:
- Vị trí của các đối tượng được định vị chính xác ( nhất là các đối tượng điểm, đường và đường bao)
- Dễ lưu trữ dữ liệu hơn hệ thống dữ liệu raster nhờ dung lượng dữ liệu nhỏ, truy cập nhanh, chuyển đổi nhanh
- Bản đồ gốc có thể được hiển diện ở sự phân giải gốc của nó Điều này giúp cho người sử dụng đễ dàng biên tập bản đồ, chỉnh sửa, in ấn
Nhược điểm:
- Khi thực hiện các phép chồng xếp và cập nhật bản đồ thì rất phức tạp
- Vị trí của điểm đỉnh cần được lưu trữ một cách rõ ràng Mối quan hệ của những điểm này phải được định dạng trong một cấu trúc thuộc về địa hình học, mà nó rất khó
để hiểu và điều khiển
- Giá thành thu thập dữ liệu đắt
1.3 Tổng quan về WebGIS
WebGIS có nhiều định nghĩa Thường các định nghĩa của WebGIS dựa trên những định nghĩa đa dạng của GIS và có thêm các thành phần của Web Đây là một số định nghĩa về WebGIS:
WebGIS là một hệ thống phức tạp cung cấp truy cập trên mạng với những chức năng như: bắt giữ hình ảnh (capturing), lưu trữ, hợp nhất dữ liệu (integrating), điều
khiển bằng tay (manipulating), phân tích và hiền thị dữ liệu không gian (theo Harder 1998)
Trang 27WebGIS là hệ thống thông tin địa lý (Geographic Information System -GIS) đƣợc phân bố thông qua hệ thống mạng máy tính phục vụ cho việc thốp nhất, phồ biến (disseminate), giao tiếp với các thông tin địa lý đƣợc hiền thị trên World Wide
Hình 1.8 Mô hình WebGIS Nguồn http://gis.ascc.net/STIS/eng/main2-3.html
Trang 28khác nhau Kiến trúc 3 tầng cơ bản của WebGIS được mô tả bao gồm tầng trình bày, tầng giao dịch và tầng dữ liệu
1.3.1.1.Tầng trình bày (Presentation tier)
Tầng trình bày 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,…
1.3.1.2 Tầng giao dịch (Bussines tier)
Tầng này 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 và 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 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 chí client có thể xử lý một số bài toán về không gian Thông thường các response và request đều theo chuẩn HTTP POST hoặc GET
1.3.1.3 Tầng dữ liệu (Data tier)
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ùy theo từng quy mô của hệ thống mà lựa chọn hệ quản trị
cơ sở dữ liệu phù hợp
Trang 29Kiến trúc 3 tầng là kiến trúc thông dụng nhất dành cho các ứng dụng web, tuy nhiên trong thực tế để giải quyết nhiều vấn đề chúng ta phải kết nối, trao đổi thành phần hệ thống lại với nhau hoặc kết nối các hệ thống lại với nhau để có thể đạt được các tính năng tốt nhất có thể có Với thực tế đó kiến trúc 3 tầng sẽ trở nên không linh hoạt và nặng nề trong vận hành Trong hoàn cảnh này các kiến trúc n tầng sẽ được phát triển và mở rộng cho các hệ thống thông tin Kiến trúc n tầng thường được áp dụng cho các hệ thống phân tán, tức là các hệ thống độc lập nhưng có khả năng kết hợp lại với nhau thành một hệ thống lớn hơn
Để thực hiện một yêu cầu của người sử dụng hệ thống theo kiến trúc n tầng cần phải truy cập, trao đổi thông điệp và xử lý qua nhiều tầng giao dịch của nhiều hệ thống hay thành phần khác nhau Trong nhiều mô hình, kiến trúc n tầng còn được thể hiện qua sự tương tác trực tiếp của client với nhiều hệ thống
Third Tier Second Tier First Tier
(Data tier) (Bussines tier) ( Presentation)
Hình 1.9 Mô hình 3 lớp trong kiến trúc WebGIS
Trang 30- 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ể
- In bản đồ
Chức năng phân tích và thiết kế
- 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 đề
1.3.3 Ứng dụng của WebGIS
a Thống kê và quản lý kinh tế - xã hội
- Thống kê, quản lý dân số
- Quản lý mạng lưới giao thông(đường thủy – đường bộ)
- Thống kê, 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
b Quản lý rừng
- Theo dõi sự thay đổi của rừng
- Phân loại rừng
- Nghiên cứu tình trạng xói mòn đất
c 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ủa 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
Trang 31CHƯƠNG 2 NGHIÊN CỨU VỀ OGC VÀ CÔNG NGHỆ
WEBGIS NGUỒN MỞ
2.1 Giới thiệu về OGC (Open Geospatial Consortium)
2.1.1 Lịch sử của tổ chức OGC
Vào giữa thập niên 80 của thế kỷ 20, Hệ thông tin địa lý (GIS) đã được sử dụng
trong các lĩnh vực quốc phòng, quản lý tài nguyên thiên nhiên, đặc biệt là trong các cơ
quan chính phủ Trên thị trường, các nhà kinh doanh, giao thông vận tải, kỹ thuật
công trình đã nghiêm túc khai thác công nghệ này để ứng dụng trong lĩnh vực của
mình
Người dùng thích sức mạnh và tiềm năng của các ứng dụng mới trong GIS, đó là
tính năng lập bản đồ và các công cụ phân tích không gian Tuy nhiên, các phần mềm
rất hạn chế trong việc mở rộng, chia sẻ dữ liệu không gian giữa các hệ thống, cùng với
chi phí bỏ ra cho mỗi phần mềm rất lớn nên đã tạo ra sự thất vọng của người dùng
Trong khi một số sản phẩm GIS thương mại đã có sẵn, vì nhiều lý do khác nhau liên
quan đến kinh phí tài trợ, một số cơ quan, tổ chức chỉ phát triển phần mềm GIS của
riêng họ dẫn đến việc không đồng nhất về dữ liệu địa lý Vì vậy để quản lý chung thì
sẽ rất khó khăn khi phải tích hợp dữ liệu từ nhiều nguồn Ví dụ như bản đồ đường ống
nước của sở Tài nguyên thiên nhiên và môi trường không chồng lớp với đường dây
điện do sở Điện lực quản lý vì sử dụng lưới chiếu khác nhau Điều này dẫn đến việc
tốn kém thời gian, chi phí trong việc quản lý chung Như vậy, chi phí và nhu cầu về sự
đồng bộ là vấn đề cần quan tâm trong sự phát triển rộng rãi của GIS
Các nhà khoa học và các nhà nghiên cứu mã nguồn mở thấy được nhu cầu và lợi
ích của việc đồng bộ hóa dữ liệu GIS nên đã cùng nhau tìm giải pháp cho vấn đề này,
đó là thành lập một tổ chức nghiên cứu phát triển về sự tích hợp các cơ sở dữ liệ địa lý
mà không quan tâm đến dữ liệu nền được thực hiện bằng phần mềm nào
Tháng 10/1994, Công ty “Open Geospatial Consortium, Inc” ra đời OGC được
thành lập với 8 thành viên: Camber Corporation, Đại học Arkansas-CAST, trung tâm
nghiên cứu thiết kế cho môi trường tại trường đại học California – Berkeley,
Intergraph Corporation, PIC Remote Sensing, QUABA, USACERL (US Army Corps
of Engineers Research Laboratory), và Dịch vụ bảo tồn đất USDA
OGC đưa ra nhãn hiệu “OpenGIS” Nhãn hiệu này được bảo vệ chính thức của “
Cộng đồng sỡ hữu trí tuệ - Community intellectual property”, điều này là rất cần thiết
để kích hoạt OGC phát triển xứng tầm với vị trí của mình và các sản phẩm của
Trang 32OpenGIS (OpenGIS Specifications) thật sự “mở” và cung cấp trung lập (vendor – neutral)
2.2 Dịch vụ OGC cho GIS
Trên thế giới có rất nhiều công nghệ GIS khác nhau như: ESRI, GEOMEDIA, MAPINFO, DOLSOFT…với các format dữ liệu khác nhau, trên các hệ quản trị cơ sở
dữ liệu, hệ điều hành khác nhau Tổ chức OGC ra đời với mục tiêu làm cho các GIS có thể “giao tiếp” được với nhau Tư tưởng giải quyết vấn đề này là sử dụng SOA(Service Oriented Architecture) với các OGC Web service (OWS)
2.2.1 Khái niệm và nguyên lý hoạt động của kiến trúc hướng dịch vụ (SOA)
2.2.1.1 Khái niệm
SOA (Service Oriented Architecture) – Kiến trúc hướng dịch vụ là một hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng, hệ thống theo dạng modul Kiến trúc SOA rất giống với cấu trúc của các phần mềm hướng đối tượng gồm nhiều module Tuy nhiên khái niệm module trong SOA không đơn thuần là một gói phần mềm, hay một bộ thư viện nào đó Thay vào đó, mỗi module trong một ứng dụng SOA là một dịch vụ được cung cấp rải rác ở nhiều nơi khác nhau và có thể truy cập thông qua môi trường mạng Hiểu một cách đơn giản thì một hệ thống SOA là một tập hợp nhiều dịch vụ được cung cấp trên mạng, được tích hợp lại với nhau để cùng cộng tác thực hiện các tác vụ nào đó theo yêu cầu của khách hàng
Dịch vụ (service) là yếu tố then chốt trong SOA Có thể hiểu dịch vụ như là một loại module thực hiện một quy trình nghiệp vụ nào đó Một trong những mục đích của SOA là giúp các ứng dụng có thể “giao tiếp” được với nhau mà không cần biết các chi tiết kỹ thuật bên trong Để thực hiện điều đó SOA định ra một chuẩn giao tiếp (dùng
để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng Như vậy, SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến quy trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật bên dưới Sự trừu tượng là cốt lõi của khái niệm dịch vụ, nó giúp cho các doanh nghiệp có thể tích hợp các thành phần hiện có vào các ứng dụng mới và các thành phần này có thể được chia sẻ hoặc tái sử dụng trong nhiều lĩnh vực khác nhau của công ty đó mà không cần phải chỉnh sửa mã nguồn hay phải tái cấu trúc lại hệ thống Bốn nguyên tắc chính của hệ thống SOA
- Sự phân định rạch ròi giữa các dịch vụ: Các dịch vụ thực hiện quá trình tương tác thường thông qua thành phần giao tiếp Thành phần giao tiếp này sẽ quy định về những định dạng sử dụng trong quá trình trao đổi Thông điệp nào được chấp nhận và thông điệp nào không được chấp nhận Và đây chính là cách để các đối tượng bên
Trang 33ngoài có thể truy cập thông tin và chức năng của dịch vụ Ta chỉ cần gửi các thông điệp theo các định dạng đã được định nghĩa trước mà không cần quan tâm đến cách xử
lý của dịch vụ như thế nào( môi trường thực thi, ngôn ngữ lập trình…) Điều này đạt được do tách biệt giữa thành phần giao tiếp và thành phần xử lý trong kiến trúc của dịch vụ
- Tính tự trị: Các dịch vụ cần phải được triển khai và hoạt động như những thực
thể độc lập mà không lệ thuộc vào dịch vụ khác Dịch vụ phải có tính bền vững cao, nghĩa là nó sẽ không bị sụp đổ khi có sự cố
- Các dịch vụ chia sẻ lược đồ: Các dịch vụ nên cung cấp các thành phần giao tiếp của nó ra bên ngoài, và hỗ trợ chia sẻ các cấu trúc thông tin, các ràng buộc dữ liệu thông qua các lược đồ dữ liệu chuẩn( độc lập ngôn ngữ, độc lập hệ nền) Như vậy hệ thống sẻ có tính liên kết và mở rộng hệ thống
- Tính tương thích của hệ thống dựa trên chính sách: Một dịch vụ muốn tương
tác với dịch vụ khác thì phải thỏa mãn các chính sách( policy) và yêu cầu của dịch vụ
đó như mã hóa, bảo mật…Để thực hiện điều này, mỗi dịch vụ cần phải cung cấp công khai các yêu cầu, chính sách đó
- Ứng dụng phải mở ra khả năng cho phép các ứng dụng mới hoặc ứng dụng đang tồn tại có thể sử dụng được Nó cũng phải có khả năng kết nối tới các dịch vụ
Hình 2.1 Mô hình cơ bản của SOA
Trang 34được đưa ra bởi các ứng dụng khác để tạo thành các dịch vụ cao cấp hơn hay còn gọi
- Phải chú ý tới việc quản lý và và đảm bảo khả năng có thể quản trị của hệ thống
để đảm bảo tính linh hoạt do ba nguyên tắc đầu tiên không bị xáo trộn và xung đột với nhau
Nói cách khác, SOA nhấn mạnh việc hạ thấp các rào cản truyền thống tới khả năng tái sử dụng của ứng dụng Tôn trọng nguyên tắc thiết kế này của SOA sẽ giải quyết được bài toán lớn về vấn đề tích hợp cũng như bảo trì hệ thống phần mềm đang
là thách thức đối với các nhà phát triển công nghệ thông tin trong giai đoạn hiện nay Dựa trên nguyên lý, hệ thống SOA có những tính chất cơ bản Để có thể xem xét hoạt động và xây dựng được hệ thống thì việc hiểu rõ tính chất của hệ thống đóng vai trò rất quan trọng
2.2.2 OGC Web service (OWS)
W3C Web Service cơ bản bao gồm SOAP, WSDL và UDDI thì OGC Web Service có 16 specifications (đặc tả) cơ bản được coi là chuẩn mở nhằm trao đổi thông tin giữa các GIS khác nhau
1 Catalog Interface (CAT) Định nghĩa các giao diện chuẩn có khả năng hỗ trợ các ứng dụng thiết lập các chức năng truy vấn, liệt kê và khám phá đối với các máy chủ lưu trữ các catalog gốc và không thuần nhất, phân tán
2 Coordinate Transformation Services (CT) Cung cấp các giao diện cho việc chuyển đổi tọa độ, hệ quy chiếu và vị trí
3 Filter Encoding (Filter) Tài liệu này định nghĩa việc mã hóa dưới dạng XML cho các biểu thức lọc (truy vấn) dữ liệu
4 Geography Markup Language (GML): Ngôn ngữ đánh dấu địa lý là một dạng ngôn ngữ dựa trên nền XML để truyền tải và lưu trữ các thông tin địa lý, bao gồm cả hình thức và thuộc tính của đối tượng địa lý Khả năng tích hợp tất cả các dạng thông tin địa lý là điểm nổi bật của GML
5 GO-1 Application Objects (AOS): Đặc tả AOS định nghĩa một tập hợp các thành phần cốt lõi hỗ trợ một tập hợp các dạng hình học, một tập hợp cơ bản của đồ thị
có khả năng được tô vẽ tương ứng với các dạng hình học đó, các trừu tượng của các
Trang 35thiết bị 2D( màn hình, chuột, bàn phím,…) và hỗ trợ các lớp.Thực hiện các API sẽ hỗ trợ các yêu cầu của nhiều người sử dụng thông tin hình học và không gian địa lý
6 Grid Coverages (GC): Đặc tả này được thiết kế để tăng cường việc đồng vận hành giữa các phần mềm của nhiều hãng , cung cấp các khả năng xử lý và phân tích các dữ liệu kiểu lưới
7 OGC Web Service Common Specification (Common): Tài liệu chỉ định nhiều diện mạo mà được coi là chung cho tất cả hay cho nhiều đặc tả hiện thực các giao diện của OGC Web Service (OWS) Những đặc tả này hiện tại bao gồm Web map Service (WMS), Web Feature Service (WFS) và Web Coverage Service (WCS) Các diện mạo chung bao gồm : nội dung request và response của hành động, các tham số có trong request và response, và mã hóa các request và response đó
8 OpenGIS Location Services (OpenLS): Đặc tả hiện thực này mô tả các dịch vụ
vị trí (OpenGIS Location Services và được biết dưới cái tên GeoMobility Server (GMS), là một nền tảng mở cho các dịch vụ ứng dụng trên nền tảng vị trí Nó còn là các chỉ dẫn về tầm vực và mối quan hệ của OpenLS với các đặc tả khác và các hành động chuẩn hóa khác Mục tiêu đầu tiên của OpenLS là xác định cách thức truy cập đến các dịch vụ cơ bản và các loại dữ liệu trừu tượng (ADT) của geoMobility Server - một nền tảng mở cho các dịch vụ vị trí
9 Simple Feature – CORBA (SFC) Giao diện lập trình dựa trên đặc tả SFC cung cấp việc công bố,lưu trữ, truy cập và các chức năng đơn giản trên các đối tượng đơn giản (Simple Features : point, line, polygon, Multipoint,…) trên chuẩn CORBA
10 Simple Feature – SQL (SFS) Các giao diện lập trình ứng dụng dựa trên các đặc tả (SFS) cung cấp khả năng công bố, lưu trữ, truy cập và các thao tác đơn giản trên các đối tượng đơn giản (Simple Features : point, line, polygon, multi-point,…) trên SQL
11 Simple Features OLE/COM (SFO) Các giao diện lập trình ứng dụng dựa trên đặc tả (SFO) cung cấp khả năng công bố, lưu trữ, truy cập và các thao tác đơn giản trên các đối tượng đơn giản (Simple Features : point, line, polygon, multi-point,…) trên nền công nghệ OLE/COM
12 Styled Layer Descriptor (SLD) SLD là một mã hóa cho đặc tả WMS có thể
mở rộng để cho phép ký hiệu hóa dữ liệu theo yêu cầu người sử dụng
13 Web Coverage Services (WCS) Đây là giao diện mở rộng của WMS cho phép truy cập đến các dữ liệu kiểu “phủ trùm” thể hiện các giá trị và thuộc tính của các
vị trí không gian hơn là chỉ đơn thuần thể hiện bản đồ đã được tổng hợp (dạng hình ảnh, pictures)
Trang 3614 Web Feature Service (WFS): Là cách phối hợp các đặc trưng địa lý thông qua một dịch vụ Web đến với ứng dụng phía người dùng hoặc một trình duyệt Người dùng có thể yêu cầu dữ liệu một cách có chọn lọc để phục vụ cho mục đích của mình Web Feature Service là một sự chuẩn hoá của việc phân phối dữ liệu vector đến người dùng, đồng thời khách hàng có thể nhập dữ liệu dạng vector khi yêu cầu thông tin và WFS sẽ đáp ứng yêu cầu đó
15 Web Map Context Document (WMCS) Tài liệu này là một đặc tả kết hợp với đặc tả WMS nhằm chỉ định cụ thể một máy chủ cá thể có thể mô tả và cung cấp nội dung bản đồ như thế nào Đặc tả WMS hiện tại khẳng định việc nhóm lại các bản đồ từ một hay nhiều servers có thể được mô tả trong một định dạng độc lập, uyển chuyển để lưu trữ trong các repository hay truyển tải giữa các clients
16 Web Map Service (WMS) Cung cấp ba nghi thức thao tác cơ bản : getCapabilities, getMap, getFeatureInfo nhằm hỗ trợ việc tạo và hiển thị các hình ảnh tựa bản đồ theo định dạng ược áp đặt hay được đăng ký (các dịnh dạng này là SVG, JPEG, PNG,TIFF, GIF, WSF) đồng thời đi đến từ các nguồn khác nhau không thuần nhất trên mạng Internet
Trong 16 đặc tả này hai đặc tả Web Feature Service (WFS) và Web Map Service (WMS) đề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
2.2.3 Web Map Service (WMS)
Web Map Service cung cấp ba nghi thức cơ bản gồm: GetCapabilities, GetMap, GetFeatureInfo nhằm hỗ trợ việc tạo và hiển thị các bản đồ theo định dạng được áp đặt hay được đăng ký từ các nguồn dữ liệu đa dạng khác nhau không thuần nhất trên mạng Internet
OGC Web Map Service
GetCapabilites
(không bắt buộc)
GetMap (bắt buộc)
GetFeatureInfo (bắt buộc)
Hình 2.2 Giao diện của Web Map Service