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ụ

183 507 1
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ụ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

tài liệu 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ụ

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 đề tài luận văn tốt nghiệp 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, bảo chúng em suốt thời gian thực đề tài Chúng em xin chân thành cám ơn quý Thầy Cô Khoa tận tình giảng dạy, trang bị cho chúng em kiến thức quý báu năm học vừa qua Chúng xin nói lên lịng biết ơn sâu sắc Ơng Bà, Cha Mẹ chăm sóc, nuôi dạy chúng thành người Xin chân thành cám ơn anh chị bạn bè ủng hộ, giúp đỡ động viên chúng em thời gian học tập nghiên cứu Mặc dù chúng em cố gắng hoàn thành luận văn phạm vi khả cho phép chắn không tránh khỏi thiếu sót Chúng em kính mong nhận cảm thơng tận tình bảo q Thầy Cơ bạn Nhóm sinh viên thực Nguyễn Trung Kiên – Nguyễn Nguyên Bảo Tháng 07/ 2005 i 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 ngồi gõ chương trình thời buổi ban đầu Ngày nay, nhu cầu phát triển mở rộng phần mềm ngày đòi hỏi cao hơn, nhanh chuyên nghiệp Người sử dụng phần mềm không người dùng bình thường mà cịn 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 từ chỗ khơng có gì, họ sử dụng lại cac phần mềm nhà phát triển khác Từ đó, nhu cầu đóng gói, trao đổi mua bán gói phần mềm ngày tăng cao Vào thời đại ngày nay, với phát triển Internet với công nghệ hướng Net khác kèm theo, việc trao đổi, mua bán gói phần mềm việc thực thi chúng ngày thuận lợi nhanh chóng Từ đó, dẫn đến đời nhiều giải pháp phát triển phần mềm khác nhau, chẳng hạn DCOM, RMI, CORBRA,… Nhưng đó, bật chiếm nhiều ưu điểm trội phải kể đến giải pháp phát triển phần mềm dựa Kiến trúc Hướng Dịch vụ (SOA – Service Oriented Architecture) triển khai chế Web Service Việc áp dụng giải pháp dịch vụ web cho ứng dụng GIS triển khai ngày rộng rãi Do hồn tồn giải yêu cầu đặt ứng dụng GIS Chính thế, việc tiến hành nghiên cứu kỹ thuật lập trình Web Service hướng nghiên cứu mang tính chiến lược cho phát triển ứng dụng tương lai Đề tài luận văn chúng em “Tìm hiểu dịch vụ web cho ứng dụng GIS xây dựng ứng dụng minh họa khai thác dịch vụ” gồm có tất chương Chương Tổng quan: Giới thiệu khái quát Web Service, GIS, chuẩn OpenGIS mục tiêu đề tài Chương Web Map Service (WMS): Nghiên cứu chuẩn WMS OpenGIS đưa ra, chuẩn hỗ trợ việc hiển thị đồ thông qua dịch vụ web ii Chương Web Feature Service (WFS): Nghiên cứu chuẩn WFS OpenGIS đưa ra, chuẩn hỗ trợ cho việc truy vấn thông tin liệu địa lý qua dịch vụ web Chương Bộ lọc (Filter): Nghiên cứu sâu lọc dùng dịch vụ WFS Chương CarbonTool: Nghiên cứu công cụ CarbonTool hỗ trợ cho việc đọc chuẩn WMS WFS Chương 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 WFS OpenGIS Chương 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 WFS Chương Tổng kết: Tổng kết trình nghiên cứu rút hướng phát triển tương lai iii 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 Tổng quan 1.1 Đặt vấn đề mục tiêu đề tài 1.2 Giới thiệu Web Service 1.3 Giới thiệu hai chuẩn WMS WFS Chương Web Map Service (WMS) 2.1 Giới thiệu 2.2 Các element sở 2.2.1 Đánh số thỏa thuận phiên (version) .5 2.2.2 Những quy tắc chung HTTP request .7 2.2.3 Những quy tắc chung HTTP response 2.2.4 Những quy tắc tham số câu request 2.2.5 Các tham số thông dụng câu request .9 2.2.6 Kết dịch vụ 13 2.2.7 Biệt lệ dịch vụ .13 2.3 Các operation Web Map Service 14 2.3.1 GetCapabilities 14 2.3.2 GetMap 26 2.3.3 GetFeatureInfo 32 iv Chương Web Feature Service (WFS) 36 3.1 Giới thiệu .36 3.2 Các thành phần dịch vụ 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 Feature (Feature identifier) .38 3.3.2 Định danh toàn cầu 39 3.3.3 Trạng thái Feature (Feature State) .40 3.3.4 Tên 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 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 v 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 Bộ lọc (Filter) .74 4.1 Giới thiệu: 74 4.2 Sử dụng Filter: 74 4.3 Đặc tả 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 Feature (Feature Identifier): 83 4.7.1 Giới thiệu: 83 4.7.2 Mô tả: 84 vi 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ả Filter: 86 Chương Carbon Tool 91 5.1 Giới thiệu .91 5.2 Một số ví dụ việc sử dụng thư viện CarbonTools 92 5.2.1 Dùng CarbonTools thực GetCapabilities request 92 5.2.2 Dùng CarbonTools thực 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 GetMap request 104 5.4 Dùng CarbonTools gởi DescribeFeatureType request 105 5.5 Dùng CarbonTools gởi request Transaction LockFeature 106 Chương Cài đặt chương trình OpenGIS Server .107 6.1 Giới thiệu .107 6.2 Tổ chức lưu trữ liệu 107 6.3 Giao tiếp với client giao thức HTTP 114 6.3.1 Nhận liệu từ client giao thức HTTP GET: .114 6.3.2 Nhận liệu từ client giao thức HTTP POST 114 vii 6.3.3 Trả kết cho Client .115 6.4 Đọc liệu từ chuỗi XML 115 6.4.1 Ví dụ đọc tài liệu Xml 115 6.5 Các lớp chương trình .118 Chương Cài đặt 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 144 7.2.2 Màn hình giao diện 145 Chương Tổng kết 147 8.1 Kết đạt .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 viii DANH SÁCH HÌNH Hình 1.1 Kiến trúc dịch vụ web 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 127 Hình 7.2 Màn hình minh họa thực request WFS – GetCapabilities 128 Hình 7.3 Màn hình minh họa thực request WFS – DescribeFeatureType 129 Hình 7.4 Màn hình minh họa thực request WFS – GetFeature 130 Hình 7.5 Màn hình minh họa thực request WFS – GetFeature 131 Hình 7.6 Màn hình minh họa thực request WFS – Transaction 132 Hình 7.7 Màn hình minh họa thực request WMS – GetCapabilities 133 Hình 7.8 Màn hình minh họa thực 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 điểm đồ .146 ix DANH SÁCH BẢNG Bảng 2.1 Các ký tự quy ước câu HTTP GET URL Bảng 2.2 Danh sách kiểu MIME 10 Bảng 2.3 Các tham số GetCapabilities request URL .14 Bảng 2.4 Mối quan hệ giá trị UpdateSequence client server 15 Bảng 2.5 Thuộc tính lớp .23 Bảng 2.6 Qui định kế thừa thuộc tính lớp 26 Bảng 2.7 Các tham số GetMap request 27 Bảng 2.8 Các tham số request GetFeatureInfo 33 Bảng 5.1 Các thuộc tính SourceOGCCapabilities .92 Bảng 5.2 Các thuộc tính quan trọng DataOGCCapabilities .93 Bảng 5.3 Các thuộc tính HandlerOGCCapabilities 94 Bảng 5.4 Các thuộc tính CarbonTools.Core.WFS.SourceWFS .97 Bảng 5.5 Các thuộc tính CarbonTools.Core.Features.DataFeatures .97 Bảng 5.6 Các thuộc tính CarbonTools.Core.WFS.HandlerWFS .98 Bảng 5.7 Các thuộc tính CarbonTools.Core.WMS.SourceWMS 103 Bảng 5.8 Các thuộc tính CarbonTools.Core.Base.DataRaster .103 Bảng 5.9 Các thuộc tính CarbonTools.Core.WMS.HandlerWMS 104 Bảng 6.1 Các bảng liệu CSDL TpHCM 108 Bảng 6.2 Cấu trúc chung bảng 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 chương trình .125 x PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Dùng lệnh ALTER TABLE để thêm xóa cột bảng có sẵn mysql> ALTER TABLE geom ADD pt POINT; Query OK, rows affected (0.00 sec) Records: Duplicates: Warnings: mysql> ALTER TABLE geom DROP pt; Query OK, rows affected (0.00 sec) Records: Duplicates: Warnings: Thêm liệu vào cột lưu trữ thông tin không gian Dữ liệu lưu trữ cột dạng riêng bên MySQL bạn tạo định dạng riêng từ định dạng WKB WKT Các ví dụ mơ tả cách thêm liệu không gian vào bảng cách chuyển từ WKT sang định dạng riêng MySQL Ta thực việc chuyển đổi trực tiếp câu lệnh INSERT INSERT INTO geom VALUES (GeomFromText('POINT(1 1)')); SET @g = 'POINT(1 1)'; INSERT INTO geom VALUES (GeomFromText(@g)); Hoặc thực việc chuyển đổi trước thực câu lệnh INSERT SET @g = GeomFromText('POINT(1 1)'); INSERT INTO geom VALUES (@g); SET @g = 'LINESTRING(0 0,1 1,2 2)'; INSERT INTO geom VALUES (GeomFromText(@g)); Các ví dụ thêm kiểu liệu phức tạp vào bảng SET @g = 'POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5))'; INSERT INTO geom VALUES (GeomFromText(@g)); SET @g ='GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))'; INSERT INTO geom VALUES (GeomFromText(@g)); 158 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Các ví dụ sử dụng hàm GeoFromText() để tạo đối tượng đại lý, ví dụ dùng hàm riêng biệt loại SET @g = 'POINT(1 1)'; INSERT INTO geom VALUES (PointFromText(@g)); SET @g = 'LINESTRING(0 0,1 1,2 2)'; INSERT INTO geom VALUES (LineStringFromText(@g)); SET @g = 'POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5))'; INSERT INTO geom VALUES (PolygonFromText(@g)); SET @g = 'GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(0 0,1 1,2 2,3 3,4 4))'; INSERT INTO geom VALUES (GeomCollFromText(@g)); Có thể sử dụng định dạng WKB sau: Thêm POINT(1 1) vào bảng mysql> INSERT INTO geom VALUES -> (GeomFromWKB(0x0101000000000000000000F03F000000000000F03F)); Lấy liệu không gian Các đối tượng địa lý lưu trữ lấy định dạng riêng bên MySQL bạn chuyển chúng sang định dạng WKT WKB Lấy liệu theo định dạng WKT Dùng hàm AsText() để chuyển từ định dạng riêng bên MySQL thành định dạng WKT mysql> SELECT AsText(g) FROM geom; + -+ | AsText(p1) | 159 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS + -+ | POINT(1 1) | | LINESTRING(0 0,1 1,2 2) | + -+ Lấy liệu theo định dạng WKB SELECT AsBinary(g) FROM geom; Phân tích thơng tin khơng gian Các hàm dùng để truy vấn liệu khơng gian chia thành nhóm: Các hàm dùng để chuyển đổi kiểu định dạng đối tượng địa lý Các hàm dùng để truy xuất đến thuộc tính chất lượng số lượng đối tượng Các hàm mô tả quan hệ đối tượng địa lý Các hàm dùng để tạo đối tượng dựa đối tượng khác Các hàm dùng để chuyển đổi kiểu định dạng đối tượng địa lý AsBinary(g): Chuyển từ định dạng riêng bên thành WKB trả kết dạng binary AsText(g):Chuyển từ định dạng riêng bên thành WKT trả kết dạng chuỗi mysql> SET @g = 'LineString(1 1,2 2,3 3)'; mysql> SELECT AsText(GeomFromText(@g)); + + | AsText(GeomFromText(@G)) | + + | LINESTRING(1 1,2 2,3 3) | + + 160 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS GeomFromText(wkt[,srid]): Chuyển từ định dạng WKT thành định dạng riêng bên trả kết GeomFromWKB(wkb[,srid]): Chuyển từ định dạng WKT thành định dạng riêng bên trả kết Các hàm địa lý Các hàm liệt kê ràng buộc cho tham số nhận loại đối tượng Dimension(g) :Trả thuộc tính Dimension đối tượng g Giá trị trả -1, 0, 1, mysql> SELECT Dimension(GeomFromText('LineString(1 1,2 2)')); + + | Dimension(GeomFromText('LineString(1 1,2 2)')) | + + | | + + Envelope(g): Trả hình chữ nhật bao nhỏ (MBR) xung quanh đối tượng g Giá trị trả đối tượng Polygon mysql> SELECT AsText(Envelope(GeomFromText('LineString(1 1,2 2)'))); + -+ | AsText(Envelope(GeomFromText('LineString(1 1,2 2)'))) | + -+ | POLYGON((1 1,2 1,2 2,1 2,1 1)) | + -+ Polygon định nghĩa điểm góc hình chữ nhật bao POLYGON((MINX MINY,MAXX MINY,MAXX MAXY,MINX MAXY,MINX MINY)) 161 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS GeometryType(g): Trả chuỗi cho biết loại mà đối tượng thuộc Tên tương ứng với lớp cụ thể mysql> SELECT GeometryType(GeomFromText('POINT(1 1)')); + + | GeometryType(GeomFromText('POINT(1 1)')) | + + | POINT | SRID(g): Trả số ID loại hệ tọa độ đối tượng Trong MySQL SRID số liên quan đến loại đối tượng mysql> SELECT SRID(GeomFromText('LineString(1 1,2 2)',101)); + -+ | SRID(GeomFromText('LineString(1 1,2 2)',101)) | + -+ | 101 | + -+ Các hàm lớp Point Một Point gồm thành phần X Y, lấy giá trị thành phần sau: X(p) mysql> SELECT X(GeomFromText('Point(56.7 53.34)')); + + | X(GeomFromText('Point(56.7 53.34)')) | + + | 56.7 | + + Y(p) mysql> SELECT Y(GeomFromText('Point(56.7 53.34)')); + + 162 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS | Y(GeomFromText('Point(56.7 53.34)')) | + + | 53.34 | + + Các hàm lớp LineString LineString bao gồm Point Bạn lấy Point, đếm số lượng Point lấy chiều dài LineString EndPoint(ls): Trả Point cuối LineString ls mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT AsText(EndPoint(GeomFromText(@ls))); + -+ | AsText(EndPoint(GeomFromText(@ls))) | + -+ | POINT(3 3) | + -+ GLength(ls): Trả chiều dài LineString ls hệ tọa độ mà thuộc mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT GLength(GeomFromText(@ls)); + + | GLength(GeomFromText(@ls)) | + + | 2.8284271247462 | + + IsClosed(ls): Trả LineString closed (tức hàm EndPoint() hàm StartPoint() trả giá trị) Trả LineString không closed trả -1 null mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT IsClosed(GeomFromText(@ls)); 163 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS + -+ | IsClosed(GeomFromText(@ls)) | + -+ | | + -+ NumPoints(ls): Trả số lượng điểm LineString ls mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT NumPoints(GeomFromText(@ls)); + + | NumPoints(GeomFromText(@ls)) | + + | | + + PointN(ls,n): Trả Point thứ n LineString ls, tính từ số mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT AsText(PointN(GeomFromText(@ls),2)); + -+ | AsText(PointN(GeomFromText(@ls),2)) | + -+ | POINT(2 2) | StartPoint(ls): Trả Point LineString ls mysql> SET @ls = 'LineString(1 1,2 2,3 3)'; mysql> SELECT AsText(PointN(GeomFromText(@ls),2)); + -+ | AsText(PointN(GeomFromText(@ls),2)) | + -+ | POINT(2 2) | Các hàm lớp MultiLineString 164 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS GLength(mls): Trả số thập phân cho biết chiều dài MultiLineString Chiều dài tổng chiều dài mysql> SET @mls = 'MultiLineString((1 1,2 2,3 3),(4 4,5 5))'; mysql> SELECT GLength(GeomFromText(@mls)); + -+ | GLength(GeomFromText(@mls)) | + -+ | 4.2426406871193 | IsClosed(mls): Trả MultiLineString closed Các hàm lớp Polygon Area(poly): Trả diện tích Polygon dạng số thực, đo hệ tọa độ đối tượng mysql> SET @poly = 'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))'; mysql> SELECT Area(GeomFromText(@poly)); + -+ | Area(GeomFromText(@poly)) | + -+ | | + -+ ExteriorRing(poly): Trả đường bao đối tượng Polygon poly dạng LineString mysql> SET @poly = -> 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT AsText(ExteriorRing(GeomFromText(@poly))); + -+ | AsText(ExteriorRing(GeomFromText(@poly))) | + -+ 165 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS | LINESTRING(0 0,0 3,3 3,3 0,0 0) | + -+ InteriorRingN(poly,n): Trả đường bao thứ n Polygon dạng LineString, tính từ mysql> SET @poly = -> 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT AsText(InteriorRingN(GeomFromText(@poly),1)); + + | AsText(InteriorRingN(GeomFromText(@poly),1)) | + + | LINESTRING(1 1,1 2,2 2,2 1,1 1) | NumOfInteriorRings(poly): Trả số lượng đường bao bên đối tượng mysql> SET @poly = -> 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; mysql> SELECT NumInteriorRings(GeomFromText(@poly)); + -+ | NumInteriorRings(GeomFromText(@poly)) | + -+ | | + -+ Các hàm đối tượng MultiPolygon Area(mpoly): Trả diện tích MultiPolygon mpoly tính theo hệ tọa độ đối tượng mysql> SET @mpoly = -> 'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))'; 166 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS mysql> SELECT Area(GeomFromText(@mpoly)); + + | Area(GeomFromText(@mpoly)) | + + | | + + Các hàm lớp GeometryCollection GeometryN(gc,n) mysql> SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3))'; mysql> SELECT AsText(GeometryN(GeomFromText(@gc),1)); + + | AsText(GeometryN(GeomFromText(@gc),1)) | + + | POINT(1 1) | + + NumGeometries(gc): Trả số lượng đối tượng GeometryCollection gc mysql> SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3))'; mysql> SELECT NumGeometries(GeomFromText(@gc)); + + | NumGeometries(GeomFromText(@gc)) | + + | | + + Các hàm dùng để tạo đối tượng từ đối tượng có sẵn Các hàm tạo đối tượng 167 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS Envelope(g) StartPoint(ls) EndPoint(ls) PointN(ls,n) ExteriorRing(poly) InteriorRingN(poly,n) GeometryN(gc,n) Các hàm kiểm tra mối quan hệ đối tượng Các hàm phần nhận tham số đối tượng trả mối quan hệ dựa hình chữ nhật bao (MBR) chúng MySQL cung cấp hàm dùng để kiểm tra quan hệ hình chữ nhật bao đối tượng MBRContains(g1,g2): Trả cho biết hình chữ nhật bao g1 có chứa hình chữ nhật bao g2 không mysql> SET @g1 = GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); mysql> SET @g2 = GeomFromText('Point(1 1)'); mysql> SELECT MBRContains(@g1,@g2), MBRContains(@g2,@g1); + + | MBRContains(@g1,@g2) | MBRContains(@g2,@g1) | + + + | | | + + + MBRDisjoint(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 có rời (khơng giao nhau) không 168 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS MBREqual(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 khơng MBRIntersects(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 có cắt khơng MBROverlaps(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 có chồng lên khơng MBRTouches(g1,g2): Trả cho biết hình chữ nhật bao g1 hình chữ nhật bao g2 có tiếp xúc với khơng MBRWithin(g1,g2) : Trả cho biết hình chữ nhật bao g1 có nằm hình chữ nhật bao g2 không mysql> SET @g1 = GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); mysql> SET @g2 = GeomFromText('Polygon((0 0,0 5,5 5,5 0,0 0))'); mysql> SELECT MBRWithin(@g1,@g2), MBRWithin(@g2,@g1); + + + | MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) | + + + | | | Kết nối với MySQL NET Để thực việc kết nối với MySQL NET thực câu truy vấn ,ta sử dụng cơng cụ MySQL-connector-net-1.0.4 cung cấp trang chủ MySQL: www.mysql.com Sau cài đặt, ta có thư viện MySql.Data.dll file hướng dẫn sử dụng Để sử dụng ta cần thêm thư viện vào Project thêm dòng khai báo sau vào chương trình 169 PHỤ LỤC – MySQL với phần mở rộng hỗ trợ cho OpenGIS using MySql.Data.MySqlClient; Ví dụ thực kết nối truy vấn: MySqlConnection conn = new MySqlConnection(ConfigurationSettings.AppSettings.Get( "server=localhost;user id=root; password=neik; database=ogis_hcmc; pooling=false")); conn.Open(); string sQuery = "Select ID From quan" ; MySqlCommand myCommand = new MySqlCommand(sQuery,conn); MySqlDataReader myReader; myReader = myCommand.ExecuteReader(); while (myReader.Read()) { string Name = myReader.GetString(0); int ID = myReader.GetInt32(1); } myReader.Close(); conn.Close(); Để tạo kết nối ta sử dụng lớp MySqlConnection Để tạo câu lệnh truy vấn ta sử dụng lớp MySqlConnection Để lấy liệu truy vấn được, ta sử dụng lớp MySqlDataReader Ngồi ra, cịn nhiều lớp khác nữa, tham khảo chi tiết file hướng dẫn sử dụng 170 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Agmet Sayar, OGC Compatible Geographical Information Systems Web Services, Indiana University, 2005 [2] Shuichi Takino, Two Technical Factors to Migrate IGS Into Web Enviroment, GIS Research end Development Dept, 2003 [3] Kris Kolodziej, OpenGIS Web Map Server Cookbook, ver 1.0.2, OGC Document #03-050r1, 2004 [4] Jeff de La Beaujardière, Web Map Service Implementation Specification, ver 1.1.1, OGC Document #01-068r3, 2002 [5] Jeff de La Beaujardière, Web Map Service Implementation Specification – Part 2: XML for Requests using HTTP POST, ver 1.1.1, OGC Document #02-017r1, 2002 [6] Panagiotis A.Vretanos, Web Feature Service Implementation Specification, ver 1.0.0, OGC Document #02-058, 2002 [7] Simon Cox, Paul Daisey, Ron Lake, Clemens Portele, Arlisss Whiteside, OpenGIS Geography Markup Language (GML) Implementation Specification, ver 3.00, OGC Document #02-023r4, 2003 [8] R.Allen Wyke, Sultan Rechman, Brad Leupen, XML Programming, Microsoft Corporation, 2002 [9] Mesbah Ahmed, Chris Garrett, Jeremy Faircloth, Chris Payne, ASP.Net Web Developer’s Guide, Syngress Publishing, Inc, 2002 [10] Bùi Quang Vinh, Tham luận Xây Dựng Hệ Thống Thông Tin Địa Lý Trong Môi Trường Mã Nguồn Mở, Viện CNTT/ Trung tâm KHKT&CNQS/ Bộ Quốc Phòng [11] OGC official web site http://www.opengeospatial.org/ [12] Webservices Technologies http://www.w3.org/2002/ws/ 171 TÀI LIỆU THAM KHẢO [13] Trang web cho download chương trình WMSViewer http://www.wmsviewer.com/main.asp [14] Các Forum OpenGIS: http://www.ogcnetwork.org/cgi-bin/discus/discus.pl http://feature.opengeospatial.org/forumbb/ [15] Trang web cho phép thực request kiểu HTTP POST lên server http://www.onemap.org/pages/WFS.html [16] OpenSource server Deegree http://deegree.sourceforge.net/ [17] OpenSource server GeoViewer http://geoserver.sourceforge.net/html/index.php [18] OpenSource server MapServer http://mapserver.gis.umn.edu/ [19] Trang chủ CarbonTools www.thecarbonproject.com [20] Trang chủ MySQL www.mysql.com [21] Các URL WFS Server: http://regis.intergraph.com/wfs/dcmetro/request.asp? http://www2.dmsolutions.ca/cgi-bin/mswfs_filter? http://webservices.ionicsoft.com/unData/wfs/UN http://www.cadcorpdev.co.uk/wfs/SisISAPI.dll http://webservices.ionicsoft.com/worldData/wfs/WORLD http://www.refractions.net:8080/geoserver/wfs http://mapserv2.esrin.esa.it/ionicweb/wfs/OILSLICKS http://www2.dmsolutions.ca/cgi-bin/mswfs_gmap [22] Các URL WMS Server: http://globe.digitalearth.gov/viz-bin/wmt.cgi? http://www.cadcorpdev.co.uk/wms/SisISAPI.dll? http://cgns.nrcan.gc.ca/wms/cubeserv.cgi http://www2.dmsolutions.ca/cgi-bin/mswfs_gmap http://www2.demis.nl/mapserver/request.asp 172 ... Web Service hướng nghiên cứu mang tính chiến lược cho phát triển ứng dụng tương lai Đề tài luận văn chúng em ? ?Tìm hiểu dịch vụ web cho ứng dụng GIS xây dựng ứng dụng minh họa khai thác dịch vụ? ??... định chiến lược) Các chuyên gia lĩnh vực nhận thức ưu điểm kết hợp công việc họ GIS Chính thế, việc tìm hiểu dịch vụ web cho ứng dụng GIS xây dựng ứng dụng minh họa khai thác dịch vụ khơng u cầu... Hướng Dịch vụ (SOA – Service Oriented Architecture) triển khai chế Web Service Việc áp dụng giải pháp dịch vụ web cho ứng dụng GIS triển khai ngày rộng rãi Do hồn tồn giải yêu cầu đặt ứng dụng GIS

Ngày đăng: 12/04/2013, 14:29

Hình ảnh liên quan

Hình 1.1.Kiến trúc các dịch vụ web của OGC - 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ụ

Hình 1.1..

Kiến trúc các dịch vụ web của OGC Xem tại trang 15 của tài liệu.
Bảng 2.1.Các ký tự quy ước trong câu HTTPGET URL - 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ụ

Bảng 2.1..

Các ký tự quy ước trong câu HTTPGET URL Xem tại trang 18 của tài liệu.
Hình 2.1.Hình chữ nhật bao - 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ụ

Hình 2.1..

Hình chữ nhật bao Xem tại trang 23 của tài liệu.
Bảng 2.4.Mối quan hệ giữa giá trị UpdateSequence trong client và server - 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ụ

Bảng 2.4..

Mối quan hệ giữa giá trị UpdateSequence trong client và server Xem tại trang 26 của tài liệu.
Bảng 2.6.Qui định kế thừa các thuộc tính lớp - 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ụ

Bảng 2.6..

Qui định kế thừa các thuộc tính lớp Xem tại trang 37 của tài liệu.
hình chữ nhật bao theo đơn vị của SRS.  - 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ụ

hình ch.

ữ nhật bao theo đơn vị của SRS. Xem tại trang 38 của tài liệu.
Hình 3.1. Lược đồ giao thứ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ụ

Hình 3.1..

Lược đồ giao thức Xem tại trang 48 của tài liệu.
Bảng 5.1. Các thuộc tính của SourceOGCCapabilities - 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ụ

Bảng 5.1..

Các thuộc tính của SourceOGCCapabilities Xem tại trang 103 của tài liệu.
Bảng 5.2. Các thuộc tính quan trọng của DataOGCCapabilities - 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ụ

Bảng 5.2..

Các thuộc tính quan trọng của DataOGCCapabilities Xem tại trang 104 của tài liệu.
Bảng 5.4. Các thuộc tính của CarbonTools.Core.WFS.SourceWFS - 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ụ

Bảng 5.4..

Các thuộc tính của CarbonTools.Core.WFS.SourceWFS Xem tại trang 108 của tài liệu.
1 BBox CarbonTools.Core.BoundingBox Hình chữ nhật - 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ụ

1.

BBox CarbonTools.Core.BoundingBox Hình chữ nhật Xem tại trang 108 của tài liệu.
Vùng hình chữ nhật cần lấy hình ảnh - 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ụ

ng.

hình chữ nhật cần lấy hình ảnh Xem tại trang 114 của tài liệu.
Chứa hình ảnh trả về - 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ụ

h.

ứa hình ảnh trả về Xem tại trang 115 của tài liệu.
Tên bảng Ý nghĩa - 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ụ

n.

bảng Ý nghĩa Xem tại trang 119 của tài liệu.
ƒ Bảng “duong”: - 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ụ

ng.

“duong”: Xem tại trang 121 của tài liệu.
• Bảng “quan” - 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ụ

ng.

“quan” Xem tại trang 122 của tài liệu.
ƒ Bảng “tuyensinh” - 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ụ

ng.

“tuyensinh” Xem tại trang 123 của tài liệu.
ƒ Bảng ypagesit - 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ụ

Bảng ypagesit.

Xem tại trang 124 của tài liệu.
Bảng 6.8.Các lớp trong chương trình - 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ụ

Bảng 6.8..

Các lớp trong chương trình Xem tại trang 136 của tài liệu.
7.1.1.2. Màn hình giao diện - 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ụ

7.1.1.2..

Màn hình giao diện Xem tại trang 138 của tài liệu.
7.1.1.2.2. Màn hình minh họa thực hiện request WFS- GetCapabilities - 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ụ

7.1.1.2.2..

Màn hình minh họa thực hiện request WFS- GetCapabilities Xem tại trang 139 của tài liệu.
7.1.1.2.3. Màn hình minh họa thực hiện request WFS – DescribeFeatureType. - 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ụ

7.1.1.2.3..

Màn hình minh họa thực hiện request WFS – DescribeFeatureType Xem tại trang 140 của tài liệu.
7.1.1.2.4. Màn hình minh họa thực hiện request WFS – GetFeature - 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ụ

7.1.1.2.4..

Màn hình minh họa thực hiện request WFS – GetFeature Xem tại trang 141 của tài liệu.
7.1.1.2.5. Màn hình minh họa thực hiện request WFS – GetFeature - 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ụ

7.1.1.2.5..

Màn hình minh họa thực hiện request WFS – GetFeature Xem tại trang 142 của tài liệu.
7.1.1.2.6. Màn hình minh họa thực hiện request WFS – Transaction - 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ụ

7.1.1.2.6..

Màn hình minh họa thực hiện request WFS – Transaction Xem tại trang 143 của tài liệu.
7.1.1.2.7. Màn hình minh họa thực hiện request WMS – GetCapabilities - 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ụ

7.1.1.2.7..

Màn hình minh họa thực hiện request WMS – GetCapabilities Xem tại trang 144 của tài liệu.
7.1.1.2.8. Màn hình minh họa thực hiện request WMS – GetMap - 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ụ

7.1.1.2.8..

Màn hình minh họa thực hiện request WMS – GetMap Xem tại trang 145 của tài liệu.
7.2.2. Màn hình giao diện - 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ụ

7.2.2..

Màn hình giao diện Xem tại trang 156 của tài liệu.
Hình 7.10.Màn hình lấy thông tin một điểm trên bản đồ - 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ụ

Hình 7.10..

Màn hình lấy thông tin một điểm trên bản đồ Xem tại trang 157 của tài liệu.
POLYGON((MINX MINY,MAXX MINY,MAXX MAXY,MINX MAXY,MINX MINY)) - 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ụ
POLYGON((MINX MINY,MAXX MINY,MAXX MAXY,MINX MAXY,MINX MINY)) Xem tại trang 172 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan