OGC 표준 소개 12

36586 단어 Web.netxmlXHTML
I. WFS- 요소 웹 서비스
· 개술
WFS(OpenGIS® 웹 피 처 서비스) 현재 버 전 은 1.1.0 입 니 다.WFS 표준 은 사용자 가 분포 식 환경 에서 HTTP 를 통 해 공간 데 이 터 를 조회, 편집 할 수 있 도록 하 는 작업 을 정의 했다.
WFS 서 비 스 는 서비스의 인 터 페 이 스 를 XML 로 설명 해 야 하고 데이터 상호작용 은 반드시 GML 로 해 야 하 며 데이터 필 터 는 CQL [1] 언어 를 사용 해 야 한다.
· WFS 종류 와 조작
클 라 이언 트 가 WFS 서 비 스 를 방문 하려 고 할 때 다음 과 같은 절차 가 있 습 니 다.
1. 조작 을 통 해 WFS 서비스 가 지원 하 는 조작 과 요소 클래스 (Feature Type, WFS 의 데이터 세트 로 이해 가능) 를 가 져 옵 니 다.
2. (가능) 조작 을 통 해 WFS 서비스 가 지원 하 는 요소 류 의 정 의 를 얻 을 수 있 습 니 다.
3. 클 라 이언 트 가 어떤 조작 에 대한 요청 을 보 냅 니 다.
4. WFS 서비스 처리 요청.
5. WFS 서 비 스 는 처리 결과 와 상 태 를 되 돌려 줍 니 다.
위의 몇 단계 에서 언급 한 '조작' 은 다음 과 같다.
1. GetCapabilities (서비스의 요소 클래스 와 지원 하 는 동작 가 져 오기)
2. DescribeFeatureType (요소 류 의 정보 설명)
3. GetFeature (획득 요소)
4. GetGmlObject (XLink 를 통 해 GML 대상 획득)
5. Transaction (데이터 생 성, 업데이트, 삭제 작업)
6. LockFeature (업무 중 잠 금 요소)
그러나 이런 조작 은 반드시 전부 실현 되 어야 하 는 것 이 아니 라 전부 또는 부분 을 실현 해 야 한다.지원 하 는 동작 에 따라 WFS 는 3 가지 로 나 눌 수 있 습 니 다.
1. Basic WFS (가장 많이 언급 되 는 WFS 입 니 다. GetCapabilities/DescribeFeature Type/GetFeature 작업 을 지원 해 야 합 니 다. 기능 적 으로 읽 기 전용 데이터 서 비 스 를 제공 하 는 것 을 의미 합 니 다)
2. XLink WFS (Basic WFS 에 GetGmlObject 작업 을 추가 해 야 함)
3. Transaction WFS (WFS - T 라 고도 부 르 며 Basic WFS 에 Transaction 조작 을 추가 하여 데이터 편집 을 지원 해 야 합 니 다. 또한 GetGmlObject/LockFeature 작업 도 추가 할 수 있 습 니 다)
서비스 와 관련 된 기본 요 소 는 앞의 장 을 참고 할 수 있다.다음 내용 에서 서비스의 조작 은 Basic WFS 와 Transaction WFS 에서 실현 해 야 할 조작 만 소개 합 니 다. 즉, GetCapabilities, DescribeFeature Type, GetFeature 와 Transaction 조작 입 니 다.
· GetCapabilities 조작
1. KVP 형식 요청
GetCapabilities 작업 에는 다음 과 같은 인자 가 필요 합 니 다.
매개 변수
반드시
기본 값
SERVICE
예.
WFS
REQUEST=GetCapabilities
예.
다음은 WFS 에서 KVP 형식 을 사용 하 는 GetCapabilities 작업 예제 입 니 다.
http://www.someserver.com/wfs?
SERVICE=WFS&
REQUEST=GetCapabilities
2. XML 형식 요청
다음은 WFS 가 XML 형식 을 사용 하 는 GetCapabilities 작업 예제 입 니 다.
xml version="1.0" ?>

GetCapabilities service="WFS" xmlns="http://www.opengis.net/wfs"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.opengis.net/wfs ../wfs/1.1.0/WFS.xsd" />

3. 응답 예시
다음은 WFS 의 GetCapabilities 작업 에 대한 응답 예제 입 니 다.
xml version="1.0" encoding="UTF-8"?>

wfs:WFS_Capabilites xmlns:ows="http://www.opengis.net/ows"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.opengis.net/wfs ../wfs.xsd" version="1.1.0"

updateSequence="0">

<!-- ================================================================== -->

<!-- SERVICE IDENTIFICATION SECTION -->

<!-- ================================================================== -->

ows:ServiceIdentification> ows:ServiceType>WFSows:ServiceType> ows:ServiceTypeVersion>1.1.0ows:ServiceTypeVersion> ows:Title>OGC Member WFSows:Title> ... ows:ServiceIdentification> <!-- ================================================================== --> <!-- SERVICE PROVIDER SECTION --> <!-- ================================================================== --> ows:ServiceProvider> ows:ProviderName>BlueOxows:ProviderName> ows:ServiceContact> ... ows:ServiceContact> ows:ServiceProvider> <!-- ================================================================== --> <!-- OPERATIONS METADATA SECTION --> <!-- ================================================================== --> ows:OperationsMetadata> ows:Operation name="GetCapabilities"> ... ows:Operation> ows:Operation name="DescribeFeatureType"> ... ows:Operation> ows:Operation name="GetFeature"> ... ows:Operation> ows:Operation name="GetFeatureWithLock"> ... ows:Operation> ows:Operation name="GetGMLObject"> ... ows:Operation> ows:Operation name="LockFeature"> ... ows:Operation> ows:Operation name="Transaction"> ... ows:Operation> ows:Parameter name="srsName"> ows:Value>EPSG:4326ows:Value> ows:Parameter> ows:Constraint name="DefaultMaxFeatures"> ows:Value>10000ows:Value> ows:Constraint> ... ows:OperationsMetadata> <!-- ================================================================== --> <!-- FEATURE TYPE LIST SECTION --> <!-- ================================================================== --> wfs:FeatureTypeList> wfs:FeatureType xmlns:bo="http://www.BlueOx.org/BlueOx"> wfs:DefaultSRS>EPSG:62696405wfs:DefaultSRS> wfs:OutputFormats> wfs:Format>text/xml; subtype=gml/3.1.1wfs:Format> wfs:OutputFormats> ows:WGS84BoundingBox> ows:LowerCorner>-180 -90ows:LowerCorner> ows:UpperCorner>180 90ows:UpperCorner> ows:WGS84BoundingBox> ... wfs:FeatureType> wfs:FeatureTypeList> <!-- ================================================================== --> <!-- SERVES GML OBJECT TYPE LIST SECTION --> <!-- ================================================================== --> wfs:ServesGMLObjectTypeList> wfs:GMLObjectType xmlns:bo="http://www.BlueOx.org/BlueOx"> wfs:Name>bo:OxTypewfs:Name> wfs:Title>Babe's Lineagewfs:Title> wfs:OutputFormats> wfs:Format>text/xml; subtype=gml/3.1.1wfs:Format> wfs:Format>text/xhmtlwfs:Format> wfs:OutputFormats> wfs:GMLObjectType> wfs:ServesGMLObjectTypeList> <!-- ================================================================== --> <!-- SUPPORTS GML OBJECT TYPE LIST SECTION --> <!-- ================================================================== --> wfs:SupportsGMLObjectTypeList> wfs:GMLObjectType> wfs:Name>gml:PointTypewfs:Name> wfs:OutputFormats> wfs:Format>text/xml; subtype=gml/3.1.1wfs:Format> wfs:Format>text/xhtmlwfs:Format> wfs:OutputFormats> wfs:GMLObjectType> ... wfs:SupportsGMLObjectTypeList> <!-- ================================================================== --> <!-- FILTER CAPABILITIES SECTION --> <!-- ================================================================== --> ogc:Filter_Capabilities> ogc:Spatial_Capabilities> ogc:GeometryOperands> ogc:GeometryOperand>gml:Envelopeogc:GeometryOperand> ogc:GeometryOperand>gml:Pointogc:GeometryOperand> ogc:GeometryOperand>gml:LineStringogc:GeometryOperand> ogc:GeometryOperand>gml:Polygonogc:GeometryOperand> ... ogc:GeometryOperands> ogc:SpatialOperators> ogc:SpatialOperator name="BBOX" /> ogc:SpatialOperator name="Equals" /> ogc:SpatialOperator name="Disjoint" /> ogc:SpatialOperator name="Intersects" /> ogc:SpatialOperator name="Touches" /> ogc:SpatialOperator name="Crosses" /> ogc:SpatialOperator name="Within" /> ogc:SpatialOperator name="Contains" /> ogc:SpatialOperator name="Overlaps" /> ogc:SpatialOperator name="Beyond" /> ogc:SpatialOperators> ogc:Spatial_Capabilities> ogc:Scalar_Capabilities> ogc:LogicalOperators /> ogc:ComparisonOperators> ogc:ComparisonOperator>LessThanogc:ComparisonOperator> ogc:ComparisonOperator>GreaterThanogc:ComparisonOperator> ogc:ComparisonOperator>LessThanEqualToogc:ComparisonOperator> ogc:ComparisonOperator>GreaterThanEqualToogc:ComparisonOperator> ogc:ComparisonOperator>EqualToogc:ComparisonOperator> ogc:ComparisonOperator>NotEqualToogc:ComparisonOperator> ogc:ComparisonOperator>Likeogc:ComparisonOperator> ogc:ComparisonOperator>Betweenogc:ComparisonOperator> ogc:ComparisonOperator>NullCheckogc:ComparisonOperator> ogc:ComparisonOperators> ogc:ArithmeticOperators> ogc:SimpleArithmetic /> ogc:Functions> ogc:FunctionNames> ogc:FunctionName nArgs="1">MINogc:FunctionName> ogc:FunctionName nArgs="1">MAXogc:FunctionName> ogc:FunctionName nArgs="1">SINogc:FunctionName> ogc:FunctionName nArgs="1">COSogc:FunctionName> ogc:FunctionName nArgs="1">TANogc:FunctionName> ogc:FunctionNames> ogc:Functions> ogc:ArithmeticOperators> ogc:Scalar_Capabilities> ogc:Id_Capabilities> ogc:EID /> ogc:FID /> ogc:Id_Capabilities> ogc:Filter_Capabilities> wfs:WFS_Capabilites>

[1] OGC Common Query Language 는 'OGC Catalogue Service 2.0.2' 기준의 6.2 장 을 참고 한다.

좋은 웹페이지 즐겨찾기