Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
892,31 KB
Nội dung
Chương Cài đặt chương trình OpenGISServer xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://www.opengis.net/wfs /wfs/1.0.0/WFS-transaction.xsd"> NAME Ngô Gia Tự Mỗi XmlNode tương ứng với tag chuỗi Xml, chẳng hạn tag XmlNode Mỗi XmlNode có chứa nhiều XmlNode con, chứa Attributes node Chẳng hạn, ví dụ node có node Node chứa node Node node có attribute “typeName” 116 Chương Cài đặt chương trình OpenGISServer Đọc liệu từ chuỗi Xml Trước hết, cần phải tạo XmlDocument tương ứng với chuỗi này: XmlDocument requestDocument = new XmlDocument(); requestDocument.LoadXml(sRequestXml); Lấy node : XmlNode first = requestDocument.FirstNode; Lấy node : XmlNodeList childs = first.ChildNodes; XmlNode updateNode = childs[0]; XmlNode deleteNode = childs[1]; Lấy attribute “typeName” node string sUpdateTypeName = updateNode.Attributes[“typeName”]; Nếu node không chứa attribute hàm trả null Lấy giá trị Node , sử dụng thuộc tính InnerXml lớp XmlNode string Name = updateNode.FirstChild.FirstChild.InnerXml; Lấy tên Node , có phần NameSpace phía trước tên node string sNodeName = updateNode.Name; Khi sNodeName = “wfs:Update”, “wfs” NameSpace Update” Lấy tên Node , khơng lấy phần NameSpace phía trước tên node string sLocalNodeName = updateNode.LocalName; Khi sLocalNodeName = “Update” 117 Chương Cài đặt chương trình OpenGISServer Để lấy chuỗi Xml tương ứng với Node : string xmlUpdate = updateNode.OuterXml; Khi đó, chuỗi xmlUpdate có giá trị là: NAME Ngô Gia Tự 6.5 Các lớp chương trình Tên lớp Mơ tả Others/ExceptionBuilder Xây dựng chuỗi XML dùng để báo lỗi cho client có lỗi request Other/OtherTasks Chứa tên FeatureType chương trình Chức thuộc tính FeatureType Chứa hàm thực tác vụ phụ chương trình WFS/CheckBasicParameterClasses/Abstra Lớp trừu tượng, có tác dụng lấy ctHTTPClass tham số mà client gửi lên request 118 Chương Cài đặt chương trình OpenGISServer WFS/CheckBasicParameterClasses/HTTP Kế thừa từ lớp GetClass CheckBasicParameterClasses/Abstrac tHTTPClass, có tác dụng lấy tham số mà client gửi lên HTTP GET request WFS/CheckBasicParameterClasses/HTTP Kế thừa từ lớp PostClass CheckBasicParameterClasses/Abstrac tHTTPClass, có tác dụng lấy tham số mà client gửi lên HTTP POST request WFS/FeatureClass/AbstractFeature Là lớp abstract, gồm hàm dùng để thực tác vụ liên quan đến FeatureType Server, chẳng hạn như: Đọc từ sở liệu để lấy Feature thỏa số điều kiện Tạo chuỗi Xml mơ tả Feature để trả cho client (chức cài đặt cụ thể lớp nó) Lấy thuộc tính Feature …… 119 Chương Cài đặt chương trình OpenGISServer WFS/FeatureClass/DistrictFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature Có chức thực thao tác loại Feature “Quan”: Lấy thuộc tính loại Feature “Quan” Tạo chuỗi Xml mô tả với Feature “Quan” lấy từ sở liệu để trả cho client WFS/FeatureClass/PlaceFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature Có chức thực thao tác Feature thuộc loại Feature “nơi chốn” Lấy thuộc tính loại Feature “noi chon” Tạo chuỗi Xml mô tả với Feature “noi chon” lấy từ sở liệu để trả cho client WFS/FeatureClass/RiverFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature Có chức thực thao tác Feature thuộc loại Feature “Song” Lấy thuộc tính loại Feature “Song” Tạo chuỗi Xml mô tả với Feature “Song” lấy từ csdl trả cho client 120 Chương Cài đặt chương trình OpenGISServer WFS/FeatureClass/RoadFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature Có chức thực thao tác Feature thuộc loại Feature “Duong” Lấy thuộc tính loại Feature “Duong” Tạo chuỗi Xml mô tả với Feature “Duong” lấy từ sở liệu để trả cho client WFS/FeatureClass/UniversityEnrollmentF Kế thừa từ lớp eature WFS/FeatureClass/AbstractFeature Có chức thực thao tác Feature thuộc loại Feature “UBNDQuan” Lấy thuộc tính loại Feature “UBNDQuan” Tạo chuỗi Xml mô tả với Feature “UBNDQuan” lấy từ sở liệu để trả cho client WFS/FeatureClass/YPageSitFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature Có chức thực thao tác Feature thuộc loại Feature “YPageSit” Lấy thuộc tính loại Feature “YPageSit” Tạo chuỗi Xml mô tả với Feature “YPageSit” lấy từ csdl trả client 121 Chương Cài đặt chương trình OpenGISServer WFS/FilterClasses/FilterSolution Có chức tạo chuỗi query dùng để truy vấn sở liệu từ đối tượng XmlDocument mô tả chuỗi Filter WFS/WFS Operation Là lớp ảo, có tác dụng lấy tham Classes/DescribeFeatureTypeSolution/Get số DescribeFeatureType request ParameterClasses/AbstractHttp WFS/WFS Operation Là lớp lớp WFS/WFS Classes/DescribeFeatureTypeSolution/Get OperationClasses/DescribeFeatureTyp eSolution/GetParameterClasses/Abstr ParameterClasses/HttpGetRequest actHttp Có tác dụng lấy tham số DescribeFeatureType request gởi lên giao thức HTTP GET WFS/WFS Operation Là lớp lớp WFS/WFS Classes/DescribeFeatureTypeSolution/Get OperationClasses/DescribeFeatureTyp ParameterClasses/HttpPostRequest eSolution/GetParameterClasses/Abstr actHttp Có tác dụng lấy tham số DescribeFeatureType request gởi lên giao thức HTTP POST Có chức nhận WFS/WFS Operation Classes/DescribeFeatureTypeSolution/Des DescribeFeatureType request, lấy mô tả loại Feature tạo cribeFeatureTypeSolution chuỗi response Xml WFS/WFS Operation Là lớp ảo, có tác dụng lấy tham Classes/GetFeatureSolution/GetParameter số GetFeature request Classes/AbstractHttp WFS/WFS Operation Là lớp lớp WFS/WFS Classes/GetFeatureSolution/GetParameter OperationClasses/GetFeatureSolution/ 122 Chương Cài đặt chương trình OpenGISServer Classes/HttpGetRequest GetParameterClasses/AbstractHttp Có tác dụng lấy tham số GetFeature request gởi lên giao thức HTTP GET WFS/WFS Operation Là lớp lớp WFS/WFS Classes/GetFeatureSolution/GetParameter OperationClasses/GetFeatureSolution/ Classes/HttpPostRequest GetParameterClasses/AbstractHttp Có tác dụng lấy tham số GetFeature request gởi lên giao thức HTTP POST WFS/WFS Operation Có chức nhận GetFeature Classes/GetFeatureSolution/GetFeatureSo request, truy vấn sở liệu để lấy lution Feature yêu cầu tạo chuỗi response Xml WFS/WFS Operation Là lớp ảo, có tác dụng lấy tham Classes/LockFeatureSolution/GetParamet số LockFeature request erClasses/AbstractHttp WFS/WFS Operation Là lớp lớp WFS/WFS Classes/LockFeatureSolution/GetParamet OperationClasses/LockFeatureSolutio erClasses/HttpGetRequest n/GetParameterClasses/AbstractHttp Có tác dụng lấy tham số LockFeature request gởi lên giao thức HTTP GET WFS/WFS Operation Là lớp lớp WFS/WFS Classes/LockFeatureSolution/GetParamet OperationClasses/LockFeatureSolutio erClasses/HttpPostRequest n/GetParameterClasses/AbstractHttp Có tác dụng lấy tham số LockFeature request gởi lên giao thức HTTP POST 123 Chương Cài đặt chương trình OpenGISServer WFS/WFS Operation Có chức nhận LockFeature Classes/LockFeatureSolution/LockFeature request, khóa Feature theo yêu cầu Solution tạo chuỗi response Xml WFS/WFS Operation Gồm hàm thực thao tác Classes/LockFeatureSolution/DataBaseAc sở liệu liên quan tới chức cess khóa mở khóa Feature WFS/WFS Operation Có chức nhận Transaction Classes/TransactionSolution/OperationSol request với Operation Delete, gởi lên giao thức HTTP GET, ution/HTTPGETDelete thực xóa Feature theo yêu cầu tạo response tương ứng Có chức nhận Transaction WFS/WFS Operation Classes/TransactionSolution/OperationSol request với Operation Delete, gởi lên HTTP POST, thực ution/HTTPPOSTDelete xóa Feature theo yêu cầu tạo response tương ứng Có chức nhận Transaction WFS/WFS Operation Classes/TransactionSolution/OperationSol request với Operation Update, gởi lên HTTP POST, thực ution/HTTPPOSTUpdate việc cập nhật Feature theo yêu cầu tạo response tương ứng Có chức nhận Transaction WFS/WFS Operation Classes/TransactionSolution/OperationSol request với Operation Insert, gởi lên HTTP POST, thực ution/HTTPPOSTInsert việc thêm Feature theo yêu cầu tạo response tương ứng Gồm hàm dùng để thao tác WFS/WFS Operation Classes/TransactionSolution/DataBaseAcc sở liệu Thực thêm, xóa, sửa bảng csdl theo yêu cầu ess 124 Chương Cài đặt chương trình OpenGISServer WFS/WFS Operation Có chức nhận Transaction Classes/TransactionSolution/TransactionS request, thực yêu cầu transaction olution tương ứng trả chuỗi response Xml WFS/WFS Operation Có chức nhận GetCapabilities Classes/GetCapabilitiesSolution request, lấy thông tin khả server trả chuỗi response Xml WFS/WFS Operation Chứa loại Feature cần truy vấn Classes/FeatureRequest điều kiện truy vấn lớp WFS/WFSSolution Nhận WFS request, xác định loại request cụ thể gọi lớp tương ứng để thực request Bảng 6.8.Các lớp chương trình Chương trình có trang ASP.NET địa http://localhost/OpenGISServer/VNesOpenGISServer.aspx Trang trực tiếp nhận request từ client, thực số kiểm tra để đảm bảo tính hợp lệ request, xác định loại request WFS hay WMS gọi lớp tương ứng để đáp ứng request Các file Xml lưu trữ thông tin server File XmlFiles/WFS_Capabilities.xml: File chứa nội dung tài liệu Xml dùng làm response cho request GetCapabilities File XmlFiles/ExceptionFrame.xml: File chứa phần khung nội dung chuỗi Xml dùng làm response request có lỗi Các file thư mục WFS/FeatureTypeFiles: file chứa tài liệu xml dùng để mô tả loại Feature Các file hỗ trợ cho response DescribeFeatureType request 125 Chương Cài đặt chương trình client Chương Cài đặt chương trình client 7.1 Cài đặt chương trình OpenGisClientDemo 7.1.1 Giới thiệu 7.1.1.1 Tính Chương trình OpenGISClient chương trình cài đặt C# dạng Window Form Chức chương trình minh họa cách cụ thể, rõ ràng việc thực request WFS WMS lên server hỗ trợ WFS WMS Chương trình lưu danh sách server hỗ trợ WFS WMS, thêm server Trong q trình thực request, ta chọn server để gởi request nhận kết từ server Các request mà OpenGISClient hỗ trợ gồm: WFS: • GetCapabilities • DescribeFeatureType • GetFeature • LockFeature • Transaction WMS: • GetCapabilities • GetMap Chương trình sử dụng thư viện CarbonTools Bộ thư viện hỗ trợ thực request 126 Chương Cài đặt chương trình client 7.1.1.2 Màn hình giao diện 7.1.1.2.1 Màn hình Hình 7.1 Màn hình 127 Chương Cài đặt chương trình client 7.1.1.2.2 Màn hình minh họa thực request WFS - GetCapabilities Hình 7.2.Màn hình minh họa thực request WFS – GetCapabilities 128 Chương Cài đặt chương trình client 7.1.1.2.3 Màn hình minh họa thực request WFS – DescribeFeatureType Hình 7.3.Màn hình minh họa thực request WFS – DescribeFeatureType 129 Chương Cài đặt chương trình client 7.1.1.2.4 Màn hình minh họa thực request WFS – GetFeature Hình 7.4.Màn hình minh họa thực request WFS – GetFeature 130 Chương Cài đặt chương trình client 7.1.1.2.5 Màn hình minh họa thực request WFS – GetFeature Hình 7.5.Màn hình minh họa thực request WFS – GetFeature 131 Chương Cài đặt chương trình client 7.1.1.2.6 Màn hình minh họa thực request WFS – Transaction Hình 7.6.Màn hình minh họa thực request WFS – Transaction 132 Chương Cài đặt chương trình client 7.1.1.2.7 Màn hình minh họa thực request WMS – GetCapabilities Hình 7.7.Màn hình minh họa thực request WMS – GetCapabilities 133 ... 7.1.1.2.2 Màn hình minh họa thực request WFS - GetCapabilities Hình 7.2.Màn hình minh họa thực request WFS – GetCapabilities 1 28 Chương Cài đặt chương trình client 7.1.1.2.3 Màn hình minh họa thực request... 7.3.Màn hình minh họa thực request WFS – DescribeFeatureType 129 Chương Cài đặt chương trình client 7.1.1.2.4 Màn hình minh họa thực request WFS – GetFeature Hình 7.4.Màn hình minh họa thực request... 7.1.1.2.5 Màn hình minh họa thực request WFS – GetFeature Hình 7.5.Màn hình minh họa thực request WFS – GetFeature 131 Chương Cài đặt chương trình client 7.1.1.2.6 Màn hình minh họa thực request