1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

18 209 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 558,29 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mô tả: Thành phần được mô tả bởi đoạn lược đồ XML sau: Thành phần được dùng để chỉ ra các Feature trong 1 biểu thức Filter hoặc tong các tài liệu XML khác.. Thành phần thực hiện

Trang 1

<xsd:extension base="ogc:ComparisonOpsType">

<xsd:sequence>

<xsd:element ref="ogc:PropertyName"/> <xsd:element ref="ogc:Literal"/>

</xsd:sequence>

<xsd:attribute name="wildCard"

type="xsd:string" use="required"/>

<xsd:attribute name="singleChar"

type="xsd:string" use="required"/>

<xsd:attribute name="escape" type="xsd:string" use="required"/>

</xsd:complexContent>

</xsd:complexType>

<xsd:complexType name="PropertyIsNullType">

<xsd:complexContent>

<xsd:extension base="ogc:ComparisonOpsType">

<xsd:choice>

<xsd:element ref="ogc:PropertyName"/> <xsd:element ref="ogc:Literal"/>

</xsd:choice>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

<xsd:complexType name="PropertyIsBetweenType">

<xsd:complexContent>

<xsd:extension base="ogc:ComparisonOpsType">

<xsd:sequence>

<xsd:element ref="ogc:expression"/>

Trang 2

<xsd:element name="LowerBoundary"

type="ogc:LowerBoundaryType"/>

<xsd:element name="UpperBoundary"

type="ogc:UpperBoundaryType"/>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

<xsd:complexType name="LowerBoundaryType">

<xsd:choice>

<xsd:element ref="ogc:expression"/>

</xsd:choice>

</xsd:complexType>

<xsd:complexType name="UpperBoundaryType">

<xsd:sequence>

<xsd:element ref="ogc:expression"/>

</xsd:sequence>

</xsd:complexType>

Ngoài các phép toán so sánh chuẩn (=, >, <, >=, <=, <>), còn có các phép toán

khác là <PropertyIsLike>, <PropertyIsBetween> và <PropertyIsNull>

Phép toán <PropertyIsLike> được dùng để so sánh 1 chuỗi với 1 khuôn mẫu

nào đó Một mẫu được định nghĩa bởi sự kết hợp của các kí tự thông thường như

các kí tự wildCard, singleChar, escapeChar Kí tự wildCard được dùng để tượng trưng cho 1 nhóm các kí tự hoặc là không có kí tự nào Kí tự singleChar dùng để tượng trưng cho 1 kí tự duy nhất Kí tự escapeChar được dùng loại bỏ ý nghĩa của các kí tự singleChar, wildCard và kể cả chính nó

Trang 3

Thành phần <PropertyIsNull> được dùng để kiểm tra xem giá trị trong nội

dung của nó có rỗng hay không Giá trị 0 là giá trị khác rỗng

Thành phần <PropertyIsBetween> được dùng để kiểm tra xem 1 giá trị có nằm trong 1 khoảng được chỉ ra bởi 2 thành phần là <LowerBoundary> và

<UpperBoundary> hay không

4.6 Các phép toán Logic

4.6.1 Giới thiệu:

Các phép toán logic được dùng để kết hợp các biểu thức điều kiện lại với nhau Phép toán AND sẽ có giá trị là TRUE nếu như tất cả các phép toán kết hợp có giá trị

là TRUE Phép toán OR sẽ có giá trị là TRUE nếu như có ít nhất 1 phép toán trong

số các phép toán kết hợp có giá trị là TRUE Phép toán NOT dùng để đảo ngược kết quả của 1 biểu thức

4.6.2 Mô tả:

Dưới đây là đoạn lược đồ XML mô tả các phép toán so sánh này:

<xsd:element name="And" type="ogc:BinaryLogicOpType"

substitutionGroup="ogc:logicOps"/>

<xsd:element name="Or" type="ogc:BinaryLogicOpType"

substitutionGroup="ogc:logicOps"/>

<xsd:element name="Not" type="ogc:UnaryLogicOpType"

substitutionGroup="ogc:logicOps"/>

<xsd:element name="logicOps" type="ogc:LogicOpsType"

abstract="true"/>

<xsd:complexType name="LogicOpsType" abstract="true"/>

<xsd:complexType name="BinaryLogicOpType">

<xsd:complexContent>

<xsd:extension base="ogc:LogicOpsType">

<xsd:choice minOccurs="2"

maxOccurs="unbounded">

Trang 4

<xsd:element ref="ogc:comparisonOps"/> <xsd:element ref="ogc:spatialOps"/>

<xsd:element ref="ogc:logicOps"/>

</xsd:choice>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

<xsd:complexType name="UnaryLogicOpType">

<xsd:complexContent>

<xsd:extension base="ogc:LogicOpsType">

<xsd:sequence>

<xsd:choice>

<xsd:element

ref="ogc:comparisonOps"/>

<xsd:element ref="ogc:spatialOps"/> <xsd:element ref="ogc:logicOps"/> </xsd:choice>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

Các thành phần <And> , <Or> hay <Not> được dùng để kết hợp các biểu thức

logic, biểu thức không gian hay biểu thức vô hướng để tạo ra 1 biểu thức kết hợp phức tạp

4.7 Định danh của Feature (Feature Identifier):

4.7.1 Giới thiệu:

Một định danh của Feature được dùng để chỉ 1 Feature địa lý cụ thể trong ngữ cảnh của dịch vụ web chứa Feature này

Trang 5

4.7.2 Mô tả:

Thành phần <FeatureId> được mô tả bởi đoạn lược đồ XML sau:

<xsd:element name="FeatureId" type="ogc:FeatureIdType"/>

<xsd:complexType name="FeatureIdType">

<xsd:attribute name="fid" type="xsd:anyURI"

use="required"/>

</xsd:complexType>

Thành phần <FeatureId> được dùng để chỉ ra các Feature trong 1 biểu thức

Filter hoặc tong các tài liệu XML khác

4.8 Biểu thức (Expressions):

4.8.1 Giới thiệu:

Một biểu thức là 1 sự kết hợp của 1 hoặc nhiều biểu tượng (symbol) và cho kết quả là TRUE hoặc là FALSE

4.8.2 Mô tả:

Một biểu thức có thể được tạo nên bởi các thành phần sau đây:

<Add>, <Sub>, <Mul>, <Div>, <PropertyName>, <Literal> và <Function>

4.9 Các phép toán số học:

4.9.1 Giới thiệu:

Các thành phần được đề cập trong phần này gồm có các phép toán cộng, trừ, nhân, chia… Đây là các phép toán 2 ngôi, nhận 2 tham số và trả về 1 kết quả

4.9.2 Mô tả:

Dưới đây là đoạn lược đồ XML mô tả các phép toán này:

<xsd:element name="Add"

type="ogc:BinaryOperatorType"

substitutionGroup="ogc:expression"/>

<xsd:element name="Sub"

type="ogc:BinaryOperatorType"

substitutionGroup="ogc:expression"/>

Trang 6

<xsd:element name="Mul"

type="ogc:BinaryOperatorType"

substitutionGroup="ogc:expression"/>

<xsd:element name="Div"

type="ogc:BinaryOperatorType"

substitutionGroup="ogc:expression"/>

<xsd:complexType name="BinaryOperatorType">

<xsd:complexContent>

<xsd:extension base="ogc:ExpressionType">

<xsd:sequence>

<xsd:element ref="ogc:expression" minOccurs="2" maxOccurs="2"/>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

Thành phần <Add> thực hiện phép toán cộng, hai tham số của nó có thể là bất

kì biểu thức nào

Thành phần <Sub> thực hiện phép toán trừ, thành phần thứ 1 là số bị trừ, thành

phần thứ 2 là số trừ, hai tham số của nó có thể là bất kì biểu thức nào

Thành phần <Mul> thực hiện phép toán nhân, hai tham số của nó có thể là bất kì

biểu thức nào

Thành phần <Div> thực hiện phép toán chia,thành phần thứ nhất là số bị chia,

thành phần thứ 2 là số chia, hai tham số của nó có thể là bất kì biểu thức nào Thành phần thứ 2 phải khác 0

4.10 Các hàm (Functions)

4.10.1 Giới thiệu:

Phần này đề cập đến hàm có giá trị đơn, sử dụng thành phần <Function> Một

hàm là 1 thủ tục dùng để thực hiện 1 tác vụ tính toán nào đó Một hàm có thể không nhận tham số hoặc nhận nhiều tham số và trả về 1 kết quả duy nhất

Trang 7

4.10.2 Mô tả:

Đoạn lược đồ XML dưới đây mô tả các hàm này:

<xsd:element name="Function"

type="ogc:FunctionType"

substitutionGroup="ogc:expression"/>

<xsd:complexType name="FunctionType">

<xsd:complexContent>

<xsd:extension base="ogc:ExpressionType">

<xsd:sequence>

<xsd:element ref="ogc:expression"

minOccurs="0"

maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:attribute name="name" type="xsd:string" use="required"/>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

Một hàm bao gồm tên hàm, được chỉ ra bởi thuộc tính name, không có hoặc có nhiều tham số chứa trong thành phần <Function> Các tham số có thể là bất kì biểu

thức nào

4.11 Các khả năng về Filter:

Phần này định nghĩa 1 lược đồ mô tả các khả năng, lược đồ này có thể được dùng trong các tài liệu mô tả các khả năng của 1 dịch vụ có sử dụng Filter Tài liệu này cho biết là dịch vụ này có hỗ trợ các loại Filter nào Chẳng hạn như 1 Web Feature Service có sử dụng Filter sẽ cần phải thêm đoạn mô tả đưới đây trong tài liệu mô tả các khả năng của nó để thông báo cho các client biết là nó có hỗ trợ các loại Filter nào

Trang 8

<xsd:element name="Filter_Capabilities">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="Spatial_Capabilities" type="ogc:Spatial_CapabilitiesType"/> <xsd:element name="Scalar_Capabilities" type="ogc:Scalar_CapabilitiesType"/> </xsd:sequence>

</xsd:complexType>

</xsd:element>

Một dịch vụ hỗ trợ các Filter về không gian sẽ thêm phần mô tả các khả năng về Filter không gian 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

Các khả năng về Filter không gian được mô tả trong đoạn lược đồ XML dưới đây:

<xsd:complexType name="Spatial_CapabilitiesType">

<xsd:sequence>

<xsd:element name="Spatial_Operators"

type="ogc:Spatial_OperatorsType"/> </xsd:sequence>

</xsd:complexType>

<xsd:complexType name="Spatial_OperatorsType">

<xsd:choice maxOccurs="unbounded">

<xsd:element ref="ogc:Equals"/>

<xsd:element ref="ogc:Disjoint"/>

<xsd:element ref="ogc:Touches"/>

<xsd:element ref="ogc:Within"/>

Trang 9

<xsd:element ref="ogc:Overlaps"/>

<xsd:element ref="ogc:Crosses"/>

<xsd:element ref="ogc:Intersect"/>

<xsd:element ref="ogc:Contains"/>

<xsd:element ref="ogc:DWithin"/>

<xsd:element ref="ogc:Beyond"/>

<xsd:element ref="ogc:BBOX"/>

</xsd:choice>

</xsd:complexType>

Các khả năng về các Filter vô hướng bao gồm khả năng xử lí các biểu thức logic, biểu thức so sánh, biểu thức chứa các phép toán số học và biểu thức chứa các hàm Đoạn lược đồ dưới đây mô tả khả năng về các Filter vô hướng:

<xsd:complexType name="Scalar_CapabilitiesType">

<xsd:choice maxOccurs="unbounded">

<xsd:element ref="ogc:Logical_Operators"/>

<xsd:element name="Comparison_Operators"

type="ogc:Comparison_OperatorsType"/>

<xsd:element name="Arithmetic_Operators"

type="ogc:Arithmetic_OperatorsType"/>

</xsd:choice>

</xsd:complexType>

Thành phần <Logical_Operators> dùng để chỉ ra rằng dịch vụ này có chứa các Filter của các phép toán And, Or, Not

Thành phần <Comparison_Operators> dùng để chỉ ra các loại phép toán so sánh được dịch vụ này cung cấp Thành phần <Simple_Comparisons> cho biết là các phép toán >, <, >=, <=, = được hỗ trợ Các thành phần <Like>, <Between> và

<NullCheck> cho biết là dịch vụ này có hỗ trợ các phép toán là LIKE, BETWEEN

và NULL

Trang 10

Thành phần <Arithmetic_Operators> cho biết là dịch vụ này hỗ trợ các phép toán số học nào Thành phần <Simple_Arithmetic> cho biết dịch vụ này có hỗ trợ

các phép toán là cộng, trừ, nhân, chia

Thành phần <Functions> dùng để chỉ ra tên các hàm được hỗ trợ và số lượng

tham số của từng hàm

Ví dụ:

Ví dụ dưới đây là 1 đoạn mô tả các khả năng Filter của 1 dịch vụ Tài liệu này cho biết dịch vụ này hỗ trợ tất cả các loại Filter đã được mô tả trong các phần trước cộng thêm các hàm được liệt kê:

<Filter_Capabilities>

<Spatial_Capabilities>

<Spatial_Operators>

</Spatial_Operators>

</Spatial_Capabilities>

<Scalar_Capabilities>

<Logical_Operators />

<Comparison_Operators>

Trang 11

</Comparison_Operators>

<Arithmetic_Operators>

<Functions>

<Function_Names>

<FunctionName

nArgs="1">MIN</FunctionName>

<FunctionName

nArgs="1">MAX</FunctionName>

<FunctionName

nArgs="1">SIN</FunctionName>

<FunctionName

nArgs="1">COS</FunctionName>

<!

>

</Function_Names>

</Functions>

</Arithmetic_Operators>

</Scalar_Capabilities>

</Filter_Capabilities>

Trang 12

Chương 5 CarbonTools

5.1 Giới thiệu

CarbonTools là bộ toolkit dành cho NET, được viết bằng môi trường NET Nó cung cấp các lớp, các hàm hỗ trợ cho việc giao tiếp với các server hỗ trợ WFS và WMS Nó giúp thực hiện dễ dàng các request như : GetCapabilities, GetMap… , nhận tài liệu Xml trả về, đọc hiểu tài liệu Xml này và chuyển nó thành các dạng dữ liệu dễ xử lí

Bộ CarbonTools hiện đang có phiên bản 2.0.2, có thể download miễn phí tại địa chỉ http://www.thecarbonproject.com/products/carbon.html

Sau khi install file setup CarbonTools2SDK.msi, ta sẽ được :

™ Hai file dll dùng làm thư viện là CarbonTools.Controls.dll và CarbonTools.Core.dll Để sử dụng các lớp, các hàm do toolkit này cung

cấp, chỉ cần đưa các thư viện này vào project của mình

™ Một tài liệu hướng dẫn sử dụng giới thiệu chi tiết các lớp, các hàm được cung cấp

™ Ba chương trình ví dụ mẫu sử dụng thư viện

Tuy nhiên, bộ toolkit phiên bản 2.0.2 này vẫn còn thiếu nhiều chức năng Chẳng hạn như:

™ Không hỗ trợ đọc hiểu kết quả trả về từ DescribeFeatureType request

™ Không hỗ trợ Filter cho các loại Feature khi thực hiện GetFeature request

™ Đối với 2 request LockFeature Transaction, chỉ hỗ trợ việc gởi các tài liệu Xml chứa nội dung cần gởi lên server và nhận kết quả trả về là 1 tài liệu Xml Ta phải tự tạo và tự đọc hiểu các tài liệu Xml này

Trang 13

5.2 Một số ví dụ về việc sử dụng bộ thư viện CarbonTools

5.2.1 Dùng CarbonTools thực hiện GetCapabilities request

Để thực hiện GetCapabilities request ta chủ yếu sử dụng 3 lớp quan trọng trong CarbonTools, chúng đều nằm trong Package CarbonTools.Core.OGCCapabilities: SourceOGCCapabilites, DataOGCCapabilities và HandlerOGCCapabilities

5.2.1.1 Lớp SourceOGCCapabilities

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…

SourceOGCCapabilities gồm các thuộc tính chính như sau:

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 Address System.Uri Chứa địa chỉ của server nơi mà

request được gởi đến

2 ServiceType CarbonTools.Core.Ba

se.OGCServiceTypes

Xác định loại service cần lấy thông tin là WFS hay WMS

Có 2 giá trị là:

CarbonTools.Core.Base.OGCS erviceTypes.WFS: Cho biết loại service cần lấy là WFS CarbonTools.Core.Base.OGCS erviceTypes.WMS: Cho biết loại service cần lấy là WMS

hay WMS muốn lấy từ server

4 Credentials System.Net.Network

Credential

Chứa thông tin về việc xác thực người dùng trên server

Bảng 5.1 Các thuộc tính của SourceOGCCapabilities

Ngày đăng: 30/07/2014, 17:20

HÌNH ẢNH LIÊN QUAN

Bảng 5.1. Các thuộc tính của SourceOGCCapabilities - Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 6 potx
Bảng 5.1. Các thuộc tính của SourceOGCCapabilities (Trang 13)
Bảng 5.2. Các thuộc tính quan trọng của DataOGCCapabilities - Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 6 potx
Bảng 5.2. Các thuộc tính quan trọng của DataOGCCapabilities (Trang 14)
Bảng 5.3. Các thuộc tính của HandlerOGCCapabilities - Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 6 potx
Bảng 5.3. Các thuộc tính của HandlerOGCCapabilities (Trang 15)
Bảng 5.5. Các thuộc tính của CarbonTools.Core.Features.DataFeatures - Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 6 potx
Bảng 5.5. Các thuộc tính của CarbonTools.Core.Features.DataFeatures (Trang 18)
Bảng 5.4. Các thuộc tính của CarbonTools.Core.WFS.SourceWFS - Web cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ - 6 potx
Bảng 5.4. Các thuộc tính của CarbonTools.Core.WFS.SourceWFS (Trang 18)

🧩 Sản phẩm bạn có thể quan tâm

w