intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 8

Chia sẻ: Cao Tt | Ngày: | Loại File: PDF | Số trang:18

65
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 6. 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 sẽ tương ứng với 1 tag trong chuỗi Xml, chẳng hạn tag là 1 XmlNode. Mỗi XmlNode có chứa nhiều XmlNode con, và có thể chứa các Attributes của node đó. Chẳng hạn, trong ví dụ trên thì node có 2 node con là và . Node này chứa 2 node con là và . Node và node ...

Chủ đề:
Lưu

Nội dung Text: Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 8

  1. Chương 6. 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 sẽ tương ứng với 1 tag trong chuỗi Xml, chẳng hạn tag là 1 XmlNode. Mỗi XmlNode có chứa nhiều XmlNode con, và có thể chứa các Attributes của node đó. Chẳng hạn, trong ví dụ trên thì node có 2 node con là và . Node này chứa 2 node con là và . Node và node có 1 attribute là “typeName”. 116
  2. Chương 6. Cài đặt chương trình OpenGISServer Đọc dữ liệu từ chuỗi Xml này. Trước hết, cần phải tạo 1 XmlDocument tương ứng với chuỗi này: XmlDocument requestDocument = new XmlDocument(); requestDocument.LoadXml(sRequestXml); Lấy node đầu tiên : XmlNode first = requestDocument.FirstNode; Lấy 2 node con và : XmlNodeList childs = first.ChildNodes; XmlNode updateNode = childs[0]; XmlNode deleteNode = childs[1]; Lấy attribute “typeName” của node string sUpdateTypeName = updateNode.Attributes[“typeName”]; Nếu như node không chứa attribute này thì hàm này trả về null. Lấy giá trị của Node , sử dụng thuộc tính InnerXml của lớp XmlNode string Name = updateNode.FirstChild.FirstChild.InnerXml; Lấy tên của Node , có cả phần NameSpace phía trước tên node string sNodeName = updateNode.Name; Khi đó sNodeName = “wfs:Update”, trong đó “wfs” là NameSpace của Update”. Lấy tên của Node , không lấy phần NameSpace phía trước tên node string sLocalNodeName = updateNode.LocalName; Khi đó sLocalNodeName = “Update”. 117
  3. Chương 6. 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 sẽ có giá trị là: NAME Ngô Gia Tự 6.5. Các lớp trong chương trình Tên lớp Mô tả Others/ExceptionBuilder Xây dựng chuỗi XML dùng để báo các lỗi về cho client khi có lỗi trong request Other/OtherTasks Chứa tên các FeatureType trong chương trình Chức các thuộc tính của các FeatureType Chứa các hàm thực hiện những tác vụ phụ trong chương trình WFS/CheckBasicParameterClasses/Abstra Lớp trừu tượng, có tác dụng lấy các ctHTTPClass tham số mà client gửi lên trong request. 118
  4. Chương 6. 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 các tham số mà client gửi lên trong 1 HTTP GET request WFS/CheckBasicParameterClasses/HTTP Kế thừa từ lớp PostClass CheckBasicParameterClasses/Abstrac tHTTPClass, có tác dụng lấy các tham số mà client gửi lên trong 1 HTTP POST request WFS/FeatureClass/AbstractFeature Là 1 lớp abstract, gồm các hàm dùng để thực hiện các tác vụ liên quan đến các FeatureType trên Server, chẳng hạn như: Đọc từ cơ sở dữ liệu để lấy về các Feature thỏa 1 số điều kiện nào đó Tạo ra chuỗi Xml mô tả các Feature để trả về cho client (chức năng này được cài đặt cụ thể ở các lớp con của nó). Lấy các thuộc tính của Feature …… 119
  5. Chương 6. Cài đặt chương trình OpenGISServer WFS/FeatureClass/DistrictFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature. Có chức năng thực hiện các thao tác trên loại Feature “Quan”: Lấy các thuộc tính của loại Feature “Quan”. Tạo chuỗi Xml mô tả với các Feature “Quan” lấy được từ cơ sở dữ liệu để trả về cho client WFS/FeatureClass/PlaceFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature. Có chức năng thực hiện các thao tác trên các Feature thuộc loại Feature “nơi chốn” Lấy các thuộc tính của loại Feature “noi chon”. Tạo chuỗi Xml mô tả với các Feature “noi chon” lấy được từ cơ sở dữ liệu để trả về cho client WFS/FeatureClass/RiverFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature. Có chức năng thực hiện các thao tác trên các Feature thuộc loại Feature “Song” Lấy các thuộc tính của loại Feature “Song”. Tạo chuỗi Xml mô tả với các Feature “Song” lấy từ csdl trả về cho client. 120
  6. Chương 6. Cài đặt chương trình OpenGISServer WFS/FeatureClass/RoadFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature. Có chức năng thực hiện các thao tác trên các Feature thuộc loại Feature “Duong” Lấy các thuộc tính của loại Feature “Duong”. Tạo chuỗi Xml mô tả với các Feature “Duong” lấy được từ cơ sở dữ liệu để trả về cho client WFS/FeatureClass/UniversityEnrollmentF Kế thừa từ lớp eature WFS/FeatureClass/AbstractFeature. Có chức năng thực hiện các thao tác trên các Feature thuộc loại Feature “UBNDQuan” Lấy các thuộc tính của loại Feature “UBNDQuan”. Tạo chuỗi Xml mô tả với các Feature “UBNDQuan” lấy được từ cơ sở dữ liệu để trả về cho client WFS/FeatureClass/YPageSitFeature Kế thừa từ lớp WFS/FeatureClass/AbstractFeature. Có chức năng thực hiện các thao tác trên các Feature thuộc loại Feature “YPageSit” Lấy các thuộc tính của loại Feature “YPageSit”. Tạo chuỗi Xml mô tả với các Feature “YPageSit” lấy từ csdl trả về client. 121
  7. Chương 6. Cài đặt chương trình OpenGISServer WFS/FilterClasses/FilterSolution Có chức năng tạo ra chuỗi query dùng để truy vấn cơ sở dữ liệu từ đối tượng XmlDocument mô tả chuỗi Filter. WFS/WFS Operation Là 1 lớp ảo, có tác dụng lấy các tham Classes/DescribeFeatureTypeSolution/Get số của DescribeFeatureType request ParameterClasses/AbstractHttp . WFS/WFS Operation Là lớp con của lớp WFS/WFS Classes/DescribeFeatureTypeSolution/Get OperationClasses/DescribeFeatureTyp ParameterClasses/HttpGetRequest eSolution/GetParameterClasses/Abstr actHttp. Có tác dụng lấy các tham số của DescribeFeatureType request được gởi lên bằng giao thức HTTP GET. WFS/WFS Operation Là lớp con của lớp WFS/WFS Classes/DescribeFeatureTypeSolution/Get OperationClasses/DescribeFeatureTyp ParameterClasses/HttpPostRequest eSolution/GetParameterClasses/Abstr actHttp. Có tác dụng lấy các tham số của DescribeFeatureType request được gởi lên bằng giao thức HTTP POST. WFS/WFS Operation Có chức năng nhận 1 Classes/DescribeFeatureTypeSolution/Des DescribeFeatureType request, lấy về cribeFeatureTypeSolution mô tả của các loại Feature và tạo chuỗi response bằng Xml. WFS/WFS Operation Là 1 lớp ảo, có tác dụng lấy các tham Classes/GetFeatureSolution/GetParameter số của GetFeature request . Classes/AbstractHttp WFS/WFS Operation Là lớp con của lớp WFS/WFS Classes/GetFeatureSolution/GetParameter OperationClasses/GetFeatureSolution/ 122
  8. Chương 6. Cài đặt chương trình OpenGISServer Classes/HttpGetRequest GetParameterClasses/AbstractHttp. Có tác dụng lấy các tham số của GetFeature request được gởi lên bằng giao thức HTTP GET. WFS/WFS Operation Là lớp con của lớp WFS/WFS Classes/GetFeatureSolution/GetParameter OperationClasses/GetFeatureSolution/ Classes/HttpPostRequest GetParameterClasses/AbstractHttp. Có tác dụng lấy các tham số của GetFeature request được gởi lên bằng giao thức HTTP POST. WFS/WFS Operation Có chức năng nhận 1 GetFeature Classes/GetFeatureSolution/GetFeatureSo request, truy vấn cơ sở dữ liệu để lấy lution về các Feature được yêu cầu và tạo chuỗi response bằng Xml. WFS/WFS Operation Là 1 lớp ảo, có tác dụng lấy các tham Classes/LockFeatureSolution/GetParamet số của LockFeature request . erClasses/AbstractHttp WFS/WFS Operation Là lớp con của lớp WFS/WFS Classes/LockFeatureSolution/GetParamet OperationClasses/LockFeatureSolutio erClasses/HttpGetRequest n/GetParameterClasses/AbstractHttp. Có tác dụng lấy các tham số của LockFeature request được gởi lên bằng giao thức HTTP GET. WFS/WFS Operation Là lớp con của lớp WFS/WFS Classes/LockFeatureSolution/GetParamet OperationClasses/LockFeatureSolutio erClasses/HttpPostRequest n/GetParameterClasses/AbstractHttp. Có tác dụng lấy các tham số của LockFeature request được gởi lên bằng giao thức HTTP POST. 123
  9. Chương 6. Cài đặt chương trình OpenGISServer WFS/WFS Operation Có chức năng nhận 1 LockFeature Classes/LockFeatureSolution/LockFeature request, khóa các Feature theo yêu cầu Solution và tạo chuỗi response bằng Xml. WFS/WFS Operation Gồm các hàm thực hiện các thao tác Classes/LockFeatureSolution/DataBaseAc trên cơ sở dữ liệu liên quan tới chức cess năng khóa và mở khóa các Feature. WFS/WFS Operation Có chức năng nhận Transaction Classes/TransactionSolution/OperationSol request với Operation là Delete, được ution/HTTPGETDelete gởi lên bằng giao thức HTTP GET, thực hiện xóa các Feature theo yêu cầu và tạo response tương ứng. WFS/WFS Operation Có chức năng nhận Transaction Classes/TransactionSolution/OperationSol request với Operation là Delete, được ution/HTTPPOSTDelete gởi lên bằng HTTP POST, thực hiện xóa các Feature theo yêu cầu và tạo response tương ứng WFS/WFS Operation Có chức năng nhận Transaction Classes/TransactionSolution/OperationSol request với Operation là Update, ution/HTTPPOSTUpdate đượ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 Có chức năng nhận Transaction Classes/TransactionSolution/OperationSol request với Operation là Insert, được ution/HTTPPOSTInsert gởi lên bằng HTTP POST, thực hiện việc thêm các Feature theo yêu cầu và tạo response tương ứng. WFS/WFS Operation Gồm các hàm dùng để thao tác trên cơ Classes/TransactionSolution/DataBaseAcc sở dữ liệu. Thực hiện thêm, xóa, sửa ess các bảng trong csdl theo yêu cầu. 124
  10. Chương 6. Cài đặt chương trình OpenGISServer WFS/WFS Operation Có chức năng nhận 1 Transaction Classes/TransactionSolution/TransactionS request, thực hiện yêu cầu transaction olution tương ứng và trả về chuỗi response bằng Xml. WFS/WFS Operation Có chức năng nhận 1 GetCapabilities Classes/GetCapabilitiesSolution request, lấy thông tin về các khả năng của server và trả về chuỗi response bằng Xml. WFS/WFS Operation Chứa 1 loại Feature cần truy vấn và Classes/FeatureRequest các điều kiện truy vấn đối với lớp đó. WFS/WFSSolution Nhận 1 WFS request, xác định loại request cụ thể và gọi lớp tương ứng để thực hiện request này Bảng 6.8.Các lớp trong chương trình Chương trình có 1 trang ASP.NET ở địa chỉ http://localhost/OpenGISServer/VNesOpenGISServer.aspx 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. Các file Xml lưu trữ các thông tin về server. File XmlFiles/WFS_Capabilities.xml: File này chứa nội dung của tài liệu Xml dùng làm response cho request GetCapabilities. File XmlFiles/ExceptionFrame.xml: File này chứa phần khung nội dung của chuỗi Xml dùng làm response khi request có lỗi. Các file trong thư mục WFS/FeatureTypeFiles: đây là các file chứa các tài liệu xml dùng để mô tả các loại Feature. Các file này hỗ trợ cho response của DescribeFeatureType request 125
  11. Chương 7. Cài đặt các chương trình client Chương 7. Cài đặt các 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 năng Chương trình OpenGISClient là 1 chương trình được cài đặt bằng C# ở dạng Window Form. Chức năng của chương trình là minh họa 1 cách cụ thể, rõ ràng việc thực hiện các request WFS và WMS lên các server hỗ trợ WFS và WMS. Chương trình lưu 1 danh sách các server hỗ trợ WFS và WMS, có thể thêm các server mới. Trong quá trình thực hiện request, ta có thể chọn bất kì server nào để gởi request và nhận kết quả 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 bộ thư viện CarbonTools. Bộ thư viện này hỗ trợ thực hiện request. 126
  12. Chương 7. Cài đặt các 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 chính Hình 7.1. Màn hình chính 127
  13. Chương 7. Cài đặt các chương trình client 7.1.1.2.2. 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 128
  14. Chương 7. Cài đặt các chương trình client 7.1.1.2.3. 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 129
  15. Chương 7. Cài đặt các chương trình client 7.1.1.2.4. 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 130
  16. Chương 7. Cài đặt các chương trình client 7.1.1.2.5. 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 131
  17. Chương 7. Cài đặt các chương trình client 7.1.1.2.6. 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 132
  18. Chương 7. Cài đặt các chương trình client 7.1.1.2.7. 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 133
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2