Khám phá 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ụ Web Map Service (WMS)

MỤC LỤC

MỘT SỐ THUẬT NGỮ

Web Map Service (WMS)

  • GetFeatureInfo: truy vấn thông tin của các feature trên bản đồ

    Web Map Service (WMS). Thay đổi phiên bản. Mỗi một bộ số phiên bản của một đặc tả sẽ được đánh số lại tương ứng với mỗi lần thay đổi đặc tả đó. Bộ số này sẽ được tăng đều và vẫn không nhiều hơn ba số nguyên. Có thể các lần tăng sẽ không liên tục nhau. Số phiên bản xuất hiện trong ít nhất hai chỗ: một ở trong tài liệu Capabilities XML mô tả dịch vụ, và một trong danh sách tham số của câu request yêu cầu dịch vụ do client gửi. Mỗi dịch vụ có thể hỗ trợ nhiều phiên bản, và mỗi client có thể hiểu được nhiều phiên bản. Khi client gửi một câu request yêu cầu dịch vụ thì số phiên bản trong danh sách tham số của câu request này phải được dịch vụ đó hỗ trợ, nếu không client sẽ tiến hành thỏa thuận với dịch vụ để chọn ra phiên bản đặc tả phù hợp. Nếu không thỏa thuận được thì sẽ ngừng liên lạc. Quá trình thỏa thuận được thực hiện qua operation GetCapabilities và tuân theo qui tắc sau:. Tất cả tài liệu Capabilities XML đều có trong đó một con số phiên bản. Khi client gửi một request GetCapabilities dịch vụ sẽ xem phiên bản này có phù hợp với phiên bản trong đặc tả hay không, nếu không sẽ tiến hành thỏa thuận để đạt được phiên bản phù hợp. Nếu trong request không có số phiên bản thì server sẽ đáp ứng lại với phiên bản cao nhất mà nó hiểu. Việc thỏa thuận phiên bản được tiến hành theo trình tự sau:. 1)Nếu server hiểu được phiên bản trong câu request thì nó sẽ gửi phiên bản này. 2a)Nếu server không hiểu được phiên bản trong câu request thì nó sẽ gửi lại phiên bản cao nhất nhỏ hơn phiên bản này. 2b)Nếu phiên bản trong câu request nhỏ hơn bất cứ phiên bản nào mà server hỗ trợ thì server sẽ gửi lại phiên bản nhỏ nhất mà nó hỗ trợ. 3a)Nếu client vẫn không hiểu phiên bản mới mà server mới gửi lại, thì nó hoặc là ngừng liên lạc với server hoặc là gửi lại một request mới với phiên bản mà client hiểu song nhỏ hơn phiên bản mà server vừa gửi. Web Map Service (WMS). Các <Style> được kế thừa lại bởi các lớp con. Lớp con không được định nghĩa lại kiểu mà nó kế thừa từ lớp cha, song nó có thể định nghĩa một kiểu mới với một tên mới mà không có trong lớp cha. Mỗi một lớp có thể được dùng trong một hoặc nhiều hệ quy chiếu không gian. Mỗi một lớp có ít nhất một element <SRS> được định nghĩa mới hoặc kế thừa lại từ lớp cha. Lớp gốc sẽ chứa tất cả các element <SRS> có thể được dùng trong các lớp con. Sử dụng một element với nội dung trống <SRS></SRS> nếu như không có SRS nào cả. Khi một lớp có nhiều element <SRS> thì có hai cách để biểu diễn danh sách các giá trị SRS, cách đầu tiên được dùng trong phiên bản 1.1.1 , cách thứ hai tuy không còn được sử dụng song các dịch vụ vẫn hiểu được do tính tương thích lùi. 1)Danh sách các giá trị SRS được đặt trong các element <SRS> liên tiếp nhau, và mỗi element <SRS> chỉ có một giá trị. 2)Danh sách các giá trị SRS được đặt trong cùng một element <SRS> và được phân cách bởi khoảng trắng.

    Bảng 2.1. Các ký tự quy ước trong câu HTTP GET URL
    Bảng 2.1. Các ký tự quy ước trong câu HTTP GET URL

    Web Feature Service (WFS)

    • Các thành phần dịch vụ cơ sở
      • Transaction 1. Giới thiệu
        • Dịch vụ: phần này cung cấp thông tin về bản thân dịch vụ

          Ngôn ngữ đường dẫn XML (XML Path Language) chính là ngôn ngữ dùng để chỉ ra các phần của một tài liệu XML, còn ở đây nó được dùng để chỉ đển các thuộc tính của Feature, các thuộc tính này được chỉ đến bởi các thành phần (element) hoặc các thuộc tính của tài liệu XML. Theo tài liệu này thì các WFS không cần phải hỗ trợ hoàn toàn ngôn ngữ XPath, để giảm chi phí cài đặt thì các WFS chỉ phải hỗ trợ các phần sau đây của ngôn ngữ XPath. 1)WFS phải hỗ trợ các đường dẫn đến các địa chỉ được viết tắt. 2)Đường dẫn đến các địa chỉ phải dùng kí tự “/” để ngăn cách giữa các cấp. 3)Bước đầu tiên của đường dẫn phải tương ứng với thành phần gốc của thuộc tính của Feature đang được tham chiếu tới hoặc tương ứng với thành phần gốc của loại Feature mà có bước kế tiếp tương ứng với thành phần gốc của thuộc tính của Feature đang được tham chiếu tới. Web Feature Service (WFS). Tài liệu mô tả khả năng của WFS gồm các phần sau. 1) Dịch vụ: phần này cung cấp thông tin về bản thân dịch vụ. 2)Chả năng: phần này chỉ ra danh sách các request mà WFS có thể thực hiện. 3)Danh sách kiểu feature: phần này định nghĩa các kiểu feature và các giao tác có thể có trên mỗi feature. Ngoài ra còn có một số thông tin phụ thêm chẳng hạn như SRS. 4)Khả năng của bộ lọc: phần này là tùy chọn.

          Hình 3.1. Lược đồ giao thức
          Hình 3.1. Lược đồ giao thức

          Bộ lọc (Filter)

          • Các phép toán không gian (Spatial Operators) 1. Mục đích
            • Các phép toán so sánh (Comparison operators) 1. Giới thiệu
              • Các phép toán Logic 1. Giới thiệu
                • Định danh của Feature (Feature Identifier)
                  • Biểu thức (Expressions)
                    • Các phép toán số học
                      • Các hàm (Functions) 1. Giới thiệu

                        Một phép toán không gian được dùng để kiểm tra xem giữa 1 thuộc tính địa lý, được chỉ ra bởi tên thuộc tính, và 1 đối tượng địa lý (1 hình chữ nhật hoặc 1 đa giác…) có thỏa mãn mối quan hệ được chỉ ra bởi phép toán đó không. Các khả năng về Filter không gian bao gồm các khả năng lọc dữ liệu không gian dựa trên hình chữ nhật bao và các phép toán về không gian khác là :Equals, Disjoint, Touches, Within, Overlaps, Crosses, Intersects, Contains, DWithin và Beyond.

                        CarbonTools

                        • Giới thiệu

                          Lớp này chứa các thông tin cần thiết cho việc thực hiện request như: địa chỉ của server để gởi request lên, version của WFS hay WMS mà server cung cấp…. //Sau khi gọi hàm này thì ta vẫn có thể thực hiện tiếp //các tác vụ khác vì quá trình gởi và nhận dữ liệu //được thực hiện riêng biệt trong 1 tiểu trình khác.

                          Bảng 5.3. Các thuộc tính của HandlerOGCCapabilities
                          Bảng 5.3. Các thuộc tính của HandlerOGCCapabilities

                          Cài đặt chương trình OpenGIS Server

                          • Giao tiếp với client bằng giao thức HTTP
                            • Đọc dữ liệu từ chuỗi XML

                              Có chức năng nhận Transaction request với Operation là Update, được gởi lên bằng HTTP POST, thực hiện việc cập nhật các Feature theo yêu cầu và tạo response tương ứng WFS/WFS Operation. Trang này sẽ trực tiếp nhận các request từ client, thực hiện 1 số kiểm tra để đảm bảo tính hợp lệ của request, xác định loại request là WFS hay WMS và gọi lớp tương ứng để đáp ứng request.

                              Bảng 6.2.Cấu trúc chung của các bảng dữ liệu
                              Bảng 6.2.Cấu trúc chung của các bảng dữ liệu

                              Cài đặt các chương trình client

                                Cài đặt các chương trình client. Màn hình chính. Màn hình chính. Cài đặt các chương trình client. Màn hình minh họa thực hiện request WFS - GetCapabilities. Hình 7.2.Màn hình minh họa thực hiện request WFS – GetCapabilities. Cài đặt các chương trình client. Màn hình minh họa thực hiện request WFS – DescribeFeatureType. Hình 7.3.Màn hình minh họa thực hiện request WFS – DescribeFeatureType. Cài đặt các chương trình client. Màn hình minh họa thực hiện request WFS – GetFeature. Hình 7.4.Màn hình minh họa thực hiện request WFS – GetFeature. Cài đặt các chương trình client. Màn hình minh họa thực hiện request WFS – GetFeature. Hình 7.5.Màn hình minh họa thực hiện request WFS – GetFeature. Cài đặt các chương trình client. Màn hình minh họa thực hiện request WFS – Transaction. Hình 7.6.Màn hình minh họa thực hiện request WFS – Transaction. Cài đặt các chương trình client. Màn hình minh họa thực hiện request WMS – GetCapabilities. Hình 7.7.Màn hình minh họa thực hiện request WMS – GetCapabilities. Cài đặt các chương trình client. Màn hình minh họa thực hiện request WMS – GetMap. Hình 7.8.Màn hình minh họa thực hiện request WMS – GetMap. Cài đặt các chương trình client. Gởi request cho server. ™ Sau khi xây dựng xong chuỗi request bằng Xml, ta cần phải gởi chuỗi request này lên cho server. ™ Trong .NET, ta có thể thực hiện việc gởi 1 request lên cho server theo 2 cách là: đồng bộ và bất đồng bộ. Thực hiện việc gởi request bằng phương pháp đồng bộ. ™ Đối với phương pháp đồng bộ, sau khi thực hiện 1 request thì client phải chờ cho đến khi nhận xong response từ server, nó mới có thể thực hiện tiếp các tác vụ khác. Do đó, trong lúc nhận response từ server thì client không thể làm được việc gì khác. ™ Để gởi request bằng phương pháp đồng bộ, ta sử dụng 2 lớp là HttpWebRequest và HttpWebResponse. Gởi request bằng phương pháp dồng bộ với giao thức HTTP GET. ™ Trong trường hợp này chuỗi URL có thể chứa thêm các thông tin khác. ™ Ví dụ dưới đây gởi request đến 1 server có chuỗi URL là string sURL =. “http://localhost/OpenGISServer/VNesOpenGISServer.aspx?SERVIC E=WFS&. VERSION=1.0.0&REQUEST=GetFeature&TypeName=buudien,quan,duong”. ƒ Chuỗi URL này có thêm các tham số là SERVICE, VERSION, REQUEST, TypeName. ƒ Tạo đối tượng HttpWebRequest và gởi chuỗi URL System.Net.HttpWebRequest httpRequest =. System.Net.HttpWebRequest)System.Net.WebRequest.Create(sURL);. Nó chuyển dữ liệu nhận được tài nguyên internet và gán nó cho thuộc tính ResponseData của đối tượng RequestState, sau đó nó lại bắt đầu tiếp thao tác đọc dữ liệu không đồng bộ trong dòng dữ liệu của response từ server cho đến khi không còn dữ liệu trả về.

                                Hình 7.1. Màn hình chính
                                Hình 7.1. Màn hình chính