Spectrum™
Technology Platform
バージョン
8.0.0 SP1
Information in this document is subject to change without notice and does not represent a commitment on the part of the vendor or its representatives. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, without the written permission of Pitney Bowes Software Inc., One Global View, Troy, New York 12180-8399.
©2013 Pitney Bowes Software Inc. All rights reserved. Pitney Bowes Software Inc. is a wholly-owned subsidiary
of Pitney Bowes Inc. Pitney Bowes, the Corporate logo, MapInfo, Group 1 Software, and MapInfo Professional are [registered] trademarks of Pitney Bowes Inc. or a subsidiary. All other trademarks are the property of their respective owners. United States: Phone: 518.285.6000 Fax: 518.285.6070 Sales: 800.327.8627 Government Sales: 800.619.2333 Technical Support: 518.285.7283 Technical Support Fax: 518.285.7575
www.pb.com/software Canada: Phone: 416.594.5200 Fax: 416.594.5201 Sales: 800.268.3282 Technical Support:.518.285.7283 Technical Support Fax: 518.285.7575
www.pb.com/software Europe/United Kingdom: Phone: +44.1753.848.200 Fax: +44.1753.621.140 Technical Support: +44.1753.848.229 www.pitneybowes.co.uk/software Asia Pacific/Australia: Phone: +61.2.9437.6255 Fax: +61.2.9439.1773 Technical Support: 1.800.648.899 www.pitneybowes.com.au/software
Contact information for all Pitney Bowes offices is located at:www.pb.com/contact-us.
Products named herein may be trademarks of their respective manufacturers and are hereby recognized. Trademarked names are used editorially, to the benefit of the trademark owner, with no intent to infringe on the trademark.
目次
第 1 章 : はじめに...5
概要...6
Web フィーチャーの機能...6
Get Capabilities...6
フィーチャー タイプの記述...6
フィーチャーの取得...7
第 2 章 : WFS リソースと設定の管理...9
設定ファイルのアクセスと変更...10
WebDAV を使用してリポジトリにアクセスする...10
JMX コンソールを使用してサービス設定を再ロードする...13
設定ファイルのパラメータ...13
サービス パラメータ...13
機能のリスト...14
操作リスト...14
フィーチャー タイプの定義...14
MapInfo Professional 内からの Web Feature Service (WFS) へのアクセス...15
MapInfo Professional への WFS サーバーの追加...15
第 3 章 : HTTP リクエストを介した WFS 機能の使用...17
サポートされる機能...18
規格...18
GetCapabilities...18
DescribeFeatureType...19
GetFeature...20
FeatureType と PropertyName の規約...22
GML2 のジオメトリへの準拠...23
セキュリティ認証のオフ...23
第 4 章 : Web Feature Service (WFS)の基礎...25
サポートされるフィルタ...26
属性のフィルタ...26
空間フィルタ...27
論理フィルタ...27
機能の制限...27
規格の制限...27
フィーチャーの制限...28
例外とエラー処理...28
Spectrum™Technology Platform 8.0.0 SP1
1
はじめに
このガイドは、Web Feature Service (WFS) にアクセスするアプリケーション の開発者向けの説明と例を提供します。 WFS によって、アプリケーションが複数の Web フィーチャーから Geography Markup Language (GML) でエンコードされた地理空間コンテンツの取得、クエ リの実行、およびフィルタリングを行います。 特定のフィーチャーまたはフィー チャーのセットに関する情報を分析のために取得できます。 フィルタをリクエ ストに適用できます。 例えば、新しい住宅地など、ある地域またはカスタム ポ リゴン内ですべての用水のフィーチャーを選択します。 アプリケーションは、 ポイントやベクトルをイメージに追加することによって、道路、店舗の位置や ランドマークアイコン など、取得したこれらのフィーチャーをマップ イメージ に重ねます。 OpenGIS コンソーシアム (OGC) の WFS規格 (バージョン 1.0.0 が www.opengeospatial.org/specsにあります) は、クライアントが HTTP を使 用してリクエストを送信し、インターネット経由、または専用イントラネット 経由でフィーチャーを取得してクエリを実行する方法について定義しています。 OGC 準拠の WFS サーバーからの結果を使用できる製品は、Spectrum™
Technology Platform OGC Web Feature Serviceと連携して動作します。
このセクションの構成
•
概要 . . . .6
概要
Web Feature Service (WFS) は、サービス レベルの検索、メタデータの記述の取得、クエリの実行、 および空間データ (フィーチャー タイプ) のフィルタリングのために使用されます。 XML インターフェ イスと構文は、WFS 1.0.0 OGC 仕様に従います。 SOAP リクエストと HTTP POST/GET リクエスト の両方がサポートされます。 その結果、MapInfo Professional など、規格に準拠した WFS クライアン トが、HTTP を介して XML リクエストを送信してデータにアクセスし、マップに表示したり、計算の ためにベクトル ジオメトリを取得したりできます。
Web Feature Serviceを使用すると、ポイント (またはその他のタイプのジオメトリ) から指定された距 離内でフィーチャーの検索を実行できます。 例えば、不動産アプリケーションが、線路、幹線道路、 ショッピングモール、警察などのさまざまなフィーチャーとと家屋との距離を比較し、その家屋の実 際値を決定します。 このアプリケーションは、WFS を呼び出して、幹線道路フィーチャーと家屋 (ポ イント) を選択します。 アプリケーションは、独自の格付けの計算のために距離の値を計算します。
Web フィーチャーの機能
クライアント ワークフローに含まれる地理空間データの取得は、WFS が提供するフィーチャー タイ プのリストを判断する get capabilities リクエストを最初に送信します。 次にクライアントは、1 つ以 上のフィーチャー タイプの記述を取得するために、DescribeFeatureType リクエストを発行します。 最後に、クライアントはフィーチャー タイプの記述を使用して、GetFeature 操作を定式化します。 レスポンスの結果を制限するために、GetFeature 操作にフィルタを適用することができます。Get Capabilities
Web Feature Service (WFS)は、capabilities を記述できます。 どのフィーチャー タイプ (コンテンツ) のサービスを提供できるか、およびどの操作が各フィーチャー タイプでサポートされているかを示し ます。 サービスは、フィーチャー タイプのエイリアスに基づき、どのフィーチャー タイプが利用で きるかを返すことができます。 次のセクションで、この機能を適用する可能性がある方法について説明します。GetCapabilities (18ページ).
フィーチャー タイプの記述
Web Feature Service (WFS) は、サービスを提供できるフィーチャー タイプの構造をリクエストで記 述できます。 サービスは返される GetCapabilities に基づき、特定のフィーチャー タイプ (コンテンツ) のメタデータ (記述) を返します。
次のセクションで、この機能を適用する可能性がある方法について説明します。DescribeFeatureType
(19ページ).
Spectrum™Technology Platform 8.0.0 SP1
6 概要
フィーチャーの取得
Web Feature Service (WFS) は、リクエストのサービスを提供して、フィーチャーのインスタンスを 取得できます。 また、クライアントはどのフィーチャーのプロパティを取得するか指定でき、空間的 または非空間的にクエリを制約できます。 サービスは、DescribeFeatureType リクエストで返される 記述に基づき、フィーチャー (コンテンツ) の検索結果を返すことができます。 アプリケーションは、フィルタによって指定される条件を満たすフィーチャーの特定のセットを取得 するフィルタを適用します。 例えば、地理的またはそれ以外のさまざまな属性を取得します。 また、 フィルタによって、ある地域または新しい住宅地 (カスタム ポリゴン) 内のすべての用水のフィーチャー など、顧客が分析のためにフィーチャーのセットを選択することもできます。 次のセクションで、この機能を適用する可能性がある方法について説明します。GetFeature(20ペー ジ). 7 Web Feature Service (WFS)
2
WFS リソースと設定の管理
このセクションでは、Web Feature Service (WFS) の設定とリソースの追加方 法について説明します。 WFS は、リポジトリに配置されている設定ファイル (名前が付いた設定) を使用してインストールおよび事前設定されます。 WFS は、他の Spectrum™Technology Platform サービスと類似する標準の XML サー
ビスの設定を使用します。 名前が付いた WFS 設定ファイル WFSConfiguration は、ルート リポジトリ の下の Configuration ディレクトリに配置されます。 例えば、デフォルトの インストールでは、 http://localhost:8080/RepositoryService/repository/default/Configuration/WFSConfiguration に WFS 設定ファイルを配置します。
標準の WebDAV プロトコル ツール (例: Windows WebFolders、DAVExplorer など) を使用して、リポジトリから設定ファイルをコピーし、変更した設定ファ イルをアップロードして戻すことができます。 アップロードしたら、Spectrum™ Technology Platform JMX コンソールを使用して、サービスの新しい設定を呼 び出す必要があります。 リポジトリのリソースにアクセスして変更を加えるには、Spectrum™ Technology Platform をホストするローカル マシンである必要があります。 注:
このセクションの構成
•
設定ファイルのアクセスと変更 . . . .10
•
設定ファイルのパラメータ . . . .13
•
MapInfo Professional 内からの Web Feature Service (WFS)
設定ファイルのアクセスと変更
名前が付いた WFS 設定ファイル WMSConfiguration は、ルート リポジトリの下の Configuration ディレクトリに配置されます。 例えば、デフォルトのインストールでは、 http://localhost:8080/RepositoryService/repository/default/Configuration/WFSConfiguration に WFS 設 定ファイルを配置します。 WFS を設定するには、次の手順を実行します。1. Spectrum™Technology Platform とリポジトリをホストするローカル マシンを使用する必要があり
ます。
2. 標準の WebDAV プロトコル ツールを使用して、リポジトリ (例: Windows WebFolders、DAVExplorer など) にアクセスし、リポジトリからローカル マシンのディレクトリに設定ファイルをコピーしま す。 WMS 設定ファイルが http://localhost:8080/RepositoryService/repository/default/Configuration/WFSConfiguration に配置されます。 標準の WebDAV ツールの例については、を参照してください。WebDAV を使用してリポジトリ にアクセスする(10ページ) 3. ローカルの WFSConfiguration ファイルを変更します。 4. WebDAV ツールを使用して、変更した設定ファイルをリポジトリの同じ場所 (と名前) にアップロー ドして戻します。
5. Spectrum™Technology Platform JMX コンソールを使用して、サービスの新しい設定を呼び出しま
す。 JMX コンソールを使用して設定をリロードする方法の手順については、を参照してください。 JMX コンソールを使用してサービス設定を再ロードする(13ページ)
WebDAV を使用してリポジトリにアクセスする
設定ファイルは、サービスごとにリポジトリにあらかじめロードされています。 これらの設定ファイ ルは、http://localhost:8080/RepositoryService/repository/default/Configuration/にあります。 サービスを設定するには、WebDAV プロトコル ツールを使用して JCR リポジトリにアクセスし、設 定ファイルをローカルにコピーし、コピーしたファイルを変更して、リポジトリに再度コピーし、JMX コンソールを使用して設定を再ロードする必要があります。 WebDAV 接続タスクの処理に利用できる ツールは多数あります。 例を 2 つ示します。WebFolders を使用してリポジトリ リソースにアクセスする
リソースを追加または変更するには、WebDAV ツールを使用してリソースをリポジトリへ、またはリ ポジトリからコピーする必要があります。 WebFolders を使用すると、リポジトリおよびリポジトリ に含まれるリソースに簡単にアクセスできます。WebFolders は Windows マシン専用です。 リポジトリにアクセスするには、Spectrum™Technology
Platform とリポジトリがインストールされているマシンと同じマシンにログインしている必要が あります。
注:
Spectrum™Technology Platform 8.0.0 SP1
10
WebFolder を設定するには 1. 使用している Windows のバージョンに適した Windows ファイル エクスプローラを使用して、 [ネットワークドライブの割り当て] を選択します。 2. ポップアップ ウィンドウで、[オンラインストレージへサインアップ、またはネットワークサーバ へ接続] リンクをクリックします。[Web サイトへ接続] というリンクが表示される場合もありま す。 3. [次へ] をクリックし、[他のネットワークの場所を選択] を選択します。 [次へ] をクリックしま す。 4. [インターネットまたはネットワークのアドレス] フィールドに、リポジトリの URL http://localhost:8080/RepositoryService/repository/default/ を追加します。 [次へ] をクリックします。 5. 認証情報の入力を求められた場合、ユーザ名とパスワードには Admin/Admin を使用します。 6. この接続に名前を指定します。 例えば、Spatial Server Repository と入力します。 [次へ]
をクリックします。 完了すると、指定したネットワーク プレースの下にリポジトリのコンテンツへのフォルダ接続が作成 されます。 リポジトリへの WebFolder 接続は、他の Windows エクスプローラ フォルダと同様に使用でき、ファ イルをリポジトリからコピーし、変更し、リポジトリ内の同じ場所に再度コピーできます。
DAVExplorer を使用してリポジトリ リソースにアクセスする
リソースを追加または変更するには、WebDAV ツールを使用してリソースをリポジトリへ、またはリ ポジトリからコピーする必要があります。 DavExplorer を使用すると、リポジトリおよびリポジトリ に含まれるリソースに簡単にアクセスできます。 DAVExplorer は、無料で利用できる WebDAV クラ イアント アプリケーションです。 このソフトウェアは、http://www.davexplorer.orgから入手でき ます。DavExplorer は Windows マシン専用です。 リポジトリにアクセスするには、Spectrum™
Technology Platform とリポジトリがインストールされているマシンと同じマシンにログインして いる必要があります。 注: DAVExplorer を使用してリポジトリからリソースを取得および追加するには、以下の手順を実行しま す。
DAVExplorer を使用してリポジトリからリソースを取得する
DAVExplorer を使用してリポジトリからリソースを取得するには、以下の手順を実行します。 1. DAVExplorer を開きます。2. DAVExplorer で、Spectrum™Technology Platform リポジトリの URL を入力し、[Connect] ボタ
ンをクリックします。
例えば、localhost:8080/RepositoryService/repository/default/ と入力します (DAVExplorer は前に http:// を自動的に付加します)。
11 Web Feature Service (WFS)
入力を求められたら、リポジトリへの接続に必要なログイン名とパスワードとして admin/admin と入力します。 リポジトリに接続すると、リポジトリ用のノードが左側のツリービュー ペインに表示されます。 3. 左側のツリービュー ペインで、取得したいリソースのタイプを含むノードが見つかるまでリポジ トリ ノードの下のノードを展開します。 例えば、取得したい名前付きリソースが設定の場合、Configuration ノードが見つかるまでリポジ トリ ノードを展開します。 ノードをクリックして選択します。 リポジトリ内の名前付き設定リ ソースが右側のペインに一覧表示されます。 4. 右側のペインで、取得したいリソースをクリックします。 名前付きリソースの任意のフィールドをクリックして選択できます。 5. [File] メニューで [Get File] を選択します。
[Save As] ダイアログ ボックスが表示されます。 6. [Save As] ダイアログ ボックスで、名前付きリソース定義ファイルの名前を入力し、そのファイル を保存するディレクトリを選択してから、[Save] ボタンをクリックします。 選択した名前付きリソース定義ファイルが、選択したファイルの場所に保存されます。 リソースは、リポジトリに表示される名前と同じ名前で常に保存する必要があります。 この 方法を使用すると、リソースをリポジトリに再度追加するときに不整合が発生しません。 注:
DAVExplorer を使用してリポジトリにリソースを追加する
DAVExplorer を使用してリポジトリにリソースを追加するには、以下の手順を実行します。 1. DAVExplorer を開きます。2. DAVExplorer で、Spectrum™Technology Platform リポジトリの URL を入力し、[Connect] ボタ
ンをクリックします。 例えば、localhost:8080/RepositoryService/repository/default/ と入力します (DAVExplorer は前に http:// を自動的に付加します)。 入力を求められたら、リポジトリへの接続に必要なログイン名とパスワードとして admin/admin と入力します。 リポジトリに接続すると、リポジトリ用のノードが左側のツリービュー ペインに表示されます。 3. 左側のツリービュー ペインで、追加するリソースのタイプに対応するノードが見つかるまでリポ ジトリ ノードの下のノードを展開します。 例えば、設定リソースを追加する場合は、Configuration ノードが見つかるまでリポジトリ ノード を展開します。 ノードをクリックして選択します。
4. [File] メニューで [Write File] を選択します。 [Write File] ダイアログ ボックスが開きます。
5. [Write File] ダイアログ ボックスで、リポジトリに追加するリソースの定義ファイルを選択し、 [Open] ボタンをクリックします。
Spectrum™Technology Platform 8.0.0 SP1
12
選択したリソースがリポジトリに追加されます。
JMX コンソールを使用してサービス設定を再ロードする
サービス設定を変更したら、JMX コンソールを使用してリポジトリ内の設定を再ロードする必要があ ります。 JMX コンソールを使用すると、アプリケーション コンテナを再起動することなく、サービ スを再ロードして管理できます。 サービス設定を再ロードするには 1. URLhttp://localhost:8080/jmx-console/ で JMX コンソールにアクセスします。 2. [Domain: EnterpriseMapping] セクションで、このサービスの管理用リンクを選択します。 例えば、EnterpriseMapping:name=Administration,type=WMS Service となります。 3. reloadConfiguration 操作用の [Invoke] ボタンをクリックします。 呼び出しのステータスに関するメッセージが表示されます。設定ファイルのパラメータ
名前が付いた WFS 設定ファイルは、リポジトリで事前に設定されます。 設定パラメータの詳細な説 明、および WFS がアクセスするデータの指定方法については、後続のセクションを参照してくださ い。サービス パラメータ
サービス パラメータは、基本の WFS 構成を定義します。 説明 パラメータ 利用者が見るための、WFS サービスの名前。 WFS の名前を追加するには、Title を編集します。 Title WFS サービスの記述の概要。 Abstract を編集して、WFS サービスが提供する フィーチャーまたはコンテンツのタイプを記述します。 Abstract WFS サービスのトップレベルの HTTP URL。 サービスの WFS のトップレベル の URL を使用して、OnlineResource のホスト名とポート番号を編集します。 OnlineResource WFS サービスによってアクセスされるリソースを保存するローカル リポジトリ の場所を定義します。 WFS サービス コンテナに一致する ResourceRoot のホス ResourceRoot ト名とポート番号を編集します。 この URL は、リポジトリ サービスの rmi を 指している必要があります。 <Service> 13 Web Feature Service (WFS)<Title>PBBI Web Feature Service</Title>
<Abstract>Web Feature Server maintained by PBBI</Abstract>
<OnlineResource>http://localhost:8080/WFSService/WFS</OnlineResource> <ResourceRoot>http://localhost:8080/RepositoryService/rmi</ResourceRoot> </Service>
機能のリスト
設定の機能のセクションでは、WFS サービスの機能が定義されます。 現在のサービスでは、 GetCapabilities、DescribeFeatureType、および GetFeature がサポートされます。 <Capabilities> <Request>GetCapabilities</Request> <Request>DescribeFeatureType</Request> <Request>GetFeature</Request> </Capabilities>操作リスト
このセクションに一覧表示されている操作は、すべてのフィーチャー タイプに適用されます。 操作セ クションがフィーチャー タイプセクションのいずれかに含まれている場合、操作はそのフィーチャー タイプにのみ適用されます。 このことは、特定のフィーチャー タイプに適用できる操作を制限できる ことを意味します。 <OperationList> <Operation>Query</Operation> </OperationList>フィーチャー タイプの定義
FeatureTypes は、WFS サービスで利用可能な個々のデータ (フィーチャー) を定義します。 説明 パラメータ フィーチャーの参照される名前。 これは、リクエストとレスポンスのフィー チャーを参照するときに使用される名前です。 Name 利用者が見るための、フィーチャーの肩書き。 Title フィーチャーの記述的な概要を定義します。 Abstract フィーチャーにクエリを実行するかどうかを定義するオプション。 QueryableSpectrum™Technology Platform 8.0.0 SP1
14
説明 パラメータ
空間参照システムを定義するための SRS (Spatial Reference System) は、フィー チャーの状態を表すのに使用する必要があります。 SRS フィーチャーの周りを囲む四角形の端を、関連するフィーチャー タイプの SRS で定義します。 LatLongBoundingBox リポジトリのフィーチャー データの場所を指します。 リソースのパスは / 文字 で開始される必要があり、ルート レベルからのリポジトリ内の場所を指します。 resourcePath <FeatureType> <Name>World</Name> <Title>World</Title> <Abstract>World</Abstract> <Queryable>true</Queryable> <SRS>EPSG:4326</SRS> <LatLonBoundingBox>-182.79,-90, 180,90</LatLonBoundingBox> <ResourcePath>/NamedTables/WorldTable</ResourcePath> </FeatureType>
MapInfo Professional 内からの Web Feature Service
(WFS) へのアクセス
MapInfo Professional から、Spectrum™Technology Platform Web Feature Service (WFS) にアクセス
できます。 詳細については、「Web フィーチャー サービスを使用したマップ データの拡張」 (MapInfo Professional のオンライン ヘルプ内) というトピックを参照してください。
MapInfo Professional への WFS サーバーの追加
WFS サーバーにアクセスする前に、まず利用可能なサーバーのリストに追加する必要があります。 WFS サーバーを追加するには 1. [オプション] メニューで、<ph ph/>[環境設定] > <ph ph/>[Web サービス]<ph ph/> を選択します。 2. [Web サービス設定] ダイアログ ボックスの [WFS] タブを選択します。 3. [サーバ] をクリックすると、[WFS サーバ リスト] ダイアログ ボックスが表示されます。 4. [追加] をクリックすると、[WFS サーバ情報] ダイアログ ボックスが表示されます。 [WFS サーバ情報] ダイアログ ボックスで、新しい Web サーバーのアドレスと記述を、指定され たフィールドに追加できます。 5. [サーバ URL] フィールドに WFS サーバーの URL を入力します。 15 Web Feature Service (WFS)[テスト URL] をクリックすると、MapInfo Professional でサーバーを見つけることができるかどう かを確認できます。 [説明の表示] をクリックして提示されたサーバーの説明を取得するか、自分で説明を入力します。 完了したら [OK] をクリックして変更を保存し、[WFS サーバ情報] ダイアログ ボックスを閉じま す。 6. [WMS サーバ リスト] ダイアログ ボックスで、[デフォルトに設定する] をクリックして、リスト でデフォルト サーバーを選択します。 このデフォルトのサーバーは、[WFS テーブルを開く] ダイアログ ボックスを次回開いたときに選 択されます。 WFS サーバーをデフォルトとして設定すると、その横にチェック マークが表示され ます。 デフォルトのサーバーを設定しない場合は、一覧の一番上にあるサーバーが、WFS セッ ション開始時に WFS サーバーとして表示されます。 7. [WFS サーバ リスト] ダイアログ ボックスで操作を終了したら、[OK] をクリックして [Web サー ビス設定] ダイアログ ボックスに戻ります。
Spectrum™Technology Platform 8.0.0 SP1
16
3
HTTP リクエストを介した
WFS 機能の使用
WFS は OGC Web Feature Service (WFS)の規格に従います。この規格は、HTTP を介して XML POST/GET リクエストを送信することにより、クライアントが GML によってエンコーディングされた地理空間データを取得できる方法を定義 します。 OGC準拠のWFSサーバーからデータにアクセスできる製品は、MapInfo Professional や MapXtreme、または他のベンダー ソフトウェアなどの Spectrum™
Technology Platform WFS 製品と連携します。
このセクションの構成
•
サポートされる機能 . . . .18
•
FeatureType と PropertyName の規約 . . . .22
•
GML2 のジオメトリへの準拠 . . . .23
•
セキュリティ認証のオフ . . . .23
サポートされる機能
Spectrum™Technology Platformの OGC WFS では、クライアントが GML でエンコーディングされた
地理空間データを取得できます。 クライアントは Get Capabilities リクエストを発行して、WFS が提 供するフィーチャー タイプのリストを判断し、1 つ以上のフィーチャー タイプの記述を取得するため に DescribeFeatureType リクエストを発行し、GetFeature 操作を定式化するためにフィーチャー タ イプの記述を使用します。
OGC WFS 仕様で定義される具体的な操作は、 GetCapabilities、DescribeFeatureType、GetFeature、 GetFeatureWithLock、LockFeature、および Transaction です。Spectrum™Technology Platform に
は、次の基本的な OGC WFS が含まれます。 読み取り専用で、GetCapabilities、DescribeFeatureType、 および GetFeature 操作を実装します。
規格
OGC WFS が準拠する規格の詳細については、http://www.opengeospatial.orgのサイトの次のドキュ メントを参照してください。 • OGC WFS 仕様バージョン 1.0.0 • フィルタ エンコーディングの仕様バージョン 1.0.0 • Level 0 Profile of GML3 from WFS バージョン 0.0.10GetCapabilities
get capabilities の操作は、OGC WFS から機能のドキュメントをリクエストするのに使用されます。 XML リクエストを WFS に発行して、WFS の capabilities を記述するレスポンスを取得します。 サポートされる空間演算子は、 Overlaps、DWithin、および Within です。 POST リクエスト リクエスト スキーマは、次の XML スキーマ定義によって定義されます。 <xsd:elementname="GetCapabilities" type="wfs:GetCapabilitiesType"/> <xsd:complexTypename="GetCapabilitiesType"> <xsd:attributename="version" type="xsd:string"use="optional"/>
<xsd:attributename="service" type="xsd:string" use="required" fixed="WFS"/> </xsd:complexType>
GET リクエスト
GET リクエストには、次の内容が含まれます。
Spectrum™Technology Platform 8.0.0 SP1
18
説明 必須
入力
get capabilities 操作のために GetCapabilities を設定します。 はい REQUEST=GetCapabilities WFS に固定されます。 はい SERVICE=WFS 1.0.0 に固定されます。 これは、このリリースで実装された Web Feature Service の規格のバージョンです。 指定された はい VERSION=1.0.0 値に関わらず、サービスはデフォルトで 1.0.0 に設定されま す。 例: http://localhost:8080/rest/Spatial/WFS?REQUEST=GetCapabilities&SERVICE=WFS&VERSION=1.0.0
DescribeFeatureType
DescribeFeatureType リクエストを使用して、OGC WFS によってサービスが提供されるフィーチャー のスキーマの記述を取得します。 スキーマの記述では、入力時にフィーチャーのインスタンスで想定 されているエンコード (記述) 方法、およびフィーチャーのインスタンスが出力で生成される方法につ いて記述します。 POST リクエスト 次のサンプルでは、DescribeFeatureType メソッドを呼び出して、World と呼ばれるフィーチャー タ イプの記述を取得します。 レスポンスは XML スキーマです。 リクエスト スキーマは、次の XML ス キーマ定義によって定義されます。 <xsd:elementname="DescribeFeatureType" type="wfs:DescribeFeatureTypeType"/> <xsd:complexTypename="DescribeFeatureTypeType"> <xsd:sequence><xsd:elementname="TypeName" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attributename="version" type="xsd:string"use="required" fixed="1.0.0"/> <xsd:attributename="service" type="xsd:string"use="required" fixed="WFS"/> <xsd:attributename="outputFormat" type="xsd:string"use="optional" default="XMLSCHEMA"/> </xsd:complexType> 19 Web Feature Service (WFS)
GET リクエスト GET リクエストには、次の内容が含まれます。 説明 必須 入力 WFS に固定されます。 はい SERVICE=WFS 1.0.0 に固定されます。 これは、このリリースで実装された Web Feature Service (WFS) の規格のバージョンです。 指 はい VERSION=1.0.0 定された値に関わらず、サービスはデフォルトで 1.0.0 に設 定されます。 フィーチャー タイプの記述の操作のために、 DescribeFeatureType を設定します。 はい REQUEST=DescribeFeatureType デフォルト値は XMLSCHEMA です。 いいえ OUTPUTFORMAT=XMLSCHEMA フィーチャー タイプのコンマ区切りのリスト。 値が指定さ れていない場合、すべてのフィーチャー タイプとして解釈 されます。 はい TYPENAME 例: http://localhost:8080/rest/Spatial/WFS?SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=World
GetFeature
GetFeature 操作は、WFS サーバーから、フィーチャーやフィーチャーについて指定された情報を取 得します。 結果セットを含む XML ドキュメントがクライアントに返されます。 POST リクエスト GetFeature リクエストの XML エンコーディングは、次の XML スキーマ定義によって定義されます。 <xsd:elementname="GetFeature" type="wfs:GetFeatureType"/> <xsd:complexType name="GetFeatureType"> <xsd:sequence> <xsd:elementref="wfs:Query" maxOccurs="unbounded"/> </xsd:sequence><xsd:attributename="version" type="xsd:string" use="required" fixed="1.0.0"/>
<xsd:attributename="service" type="xsd:string" use="required" fixed="WFS"/> <xsd:attributename="handle" type="xsd:string" use="optional"/>
<xsd:attributename="outputFormat" type="xsd:string" use="optional" default="GML2"/>
Spectrum™Technology Platform 8.0.0 SP1
20
<xsd:attributename="maxFeatures" type="xsd:positiveInteger" use="optional"/> </xsd:complexType> <xsd:elementname="Query" type="wfs:QueryType"/> <xsd:complexType name="QueryType"> <xsd:sequence> <xsd:elementref="ogc:PropertyName" minOccurs="0" maxOccurs="unbounded"/>
<xsd:elementref="ogc:Filter" minOccurs="0" maxOccurs="1"/> </xsd:sequence>
<xsd:attributename="handle" type="xsd:string" use="optional"/> <xsd:attributename="typeName" type="xsd:QName" use="required"/>
<xsd:attributename="featureVersion" type="xsd:string" use="optional"/> </xsd:complexType> GET リクエスト GET リクエストには、次の内容が含まれます。 説明 必須 入力 WFS に固定されます。 はい SERVICE=WFS 1.0.0 に固定されます。 これは、このリリースで実装された Web Feature Service (WFS) の規格のバージョンです。 指 はい VERSION=1.0.0 定された値に関わらず、サービスはデフォルトで 1.0.0 に設 定されます。 get フィーチャー操作のために GetFeature を設定します。 はい REQUEST=GetFeature デフォルト値は XMLSCHEMA です。 いいえ OUTPUTFORMAT=XMLSCHEMA 返されるフィーチャーの最大数。 いいえ MAXFEATURES フィーチャー タイプのコンマ区切りのリスト。 はい TYPENAME 例: http://localhost:8080/rest/Spatial/WFS?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=World&MAXFEATURES=10 21 Web Feature Service (WFS)
FeatureType と PropertyName の規約
フィーチャー タイプ名とプロパティ名は、要素または属性として GML または XML で表現し、有効な 要素名および属性名である必要があります。 これは、W3C の XML 仕様で定義されている修飾名 (QName) でなければなりません。 QName の定義は、次のとおりです。 NCName::=(Letter|'_')(NCNameChar)* NCNameChar::=Letter|Digit|'.'|'-'|'_'|CombiningChar|Extender QName::=(Prefix':')?LocalPart Prefix::=NCName LocalPart::=NCName以前のバージョンの Spectrum™Technology Platform WFS は、セミコロン (;) および 2 本のバックス
ラッシュ (//) を使用して、エンタープライズ、ドメイン、およびコンテンツの名前を区切っていまし た。 また、コンテンツ名およびプロパティ名でスペースの使用が許可されていました。 これらの文字 とスペースは、QName の文字として許可されません。 このため、Spectrum™Technology Platform
OGC WFS に対して次の置き換えが行われます。 • セミコロン (;) – 「_ES_」に置き換えられます。 • 2 本のバック スラッシュ (//) – 「_DS_」に置き換えられます。 • スペース – 「_SP_」に置き換えられます。 これらの規約は、WFS がインストールされている WebFeature\resources\admin ディレクトリの minameconvention.prop という名前のプロパティ ファイルで定義されています。 これらのファイル は、値のペアによる文字の規約を定義します。 デフォルト値は次のとおりです。 ;=_ES_ //=_DS_ \ =_SP_ このファイルを編集して、追加のルールを含めることができます。 例えば、「,」を「_C_」に置き換 えるには、次の行をプロパティ ファイルに追加します。 ",=_C_" また、新しいルールをこのプロパティ ファイルに追加することもできます。 プロパティ キーは置換 対象の文字列であり、プロパティ値は置き換え後の文字列で、QName の定義に従う必要があります。 置き換え後の文字列は、PropertyName のサブ文字列および FeatureType 名にしてはならないことに 注意してください。
Spectrum™Technology Platform 8.0.0 SP1
22
GML2 のジオメトリへの準拠
OGC WFS 仕様に従い、フィーチャー タイプは GML および XML スキーマを使用して記述する必要が あります。 OGC は「Level 0 Profile of GML3 for WFS」という名前のプロファイルをリリースし、 GML アプリケーションのスキーマの準拠についてテストする方法を定義します。 Spectrum™Technology
Platform OGC WFS は、このプロファイルに従います。
Spectrum™Technology Platform OGC WFS サービスは、GML2 出力フォーマットのみをサポートし
ます。 プロファイルは GML3 ジオメトリ定義を参照します。 次の表では、これらのジオメトリ定義 を GML2 に一致させています。 GML2 GML3 PointType PointPropertyType LineStringType CurvePropertyType MultiLineStringType MultiCurvePropertyType LinearRingType LinearRingPropertyType 該当なし RingPropertyType PolygonType SurfacePropertyType MulitPolygonType MultiSurfacePropertyType
セキュリティ認証のオフ
OGC Web Feature Service (WFS) 規格は、セキュリティ モデルを定義しませんが、Spectrum™
Technology Platform WFS は HTTP 基本認証を使用して、ユーザーとパスワードの指定のメカニズム を提供します。
OGC に準拠するには、WFS の認証をオフにする必要があります。
OGC WFS と WFS WebService は、同じセキュリティ モデルを共有します。 デフォルトで、OGC WFS のセキュリティはオンになっています。 OGC WFS 規格のリクエストを送信するには、セキュ リティをオフにします。 それ以外の場合は、基本認証を介してユーザー名とパスワードを送信する必 要があります。 (基本認証は、ユーザー名とパスワードを送信するための HTTP の標準的な方法です。)
23 Web Feature Service (WFS)
4
Web Feature Service (WFS)
の基礎
このセクションでは、WFS の概念、および規格との機能の違いについて説明し ます。 WFS Web サービスを使用するアプリケーションを作成する前に、基本 的な概念を理解して、WFS によってこれらの概念が実装される方法を理解する ことをお勧めします。このセクションの構成
•
サポートされるフィルタ . . . .26
•
機能の制限 . . . .27
•
例外とエラー処理 . . . .28
サポートされるフィルタ
WFS の消費者は GetFeature リクエストで満たされる特定の条件に基づき、WFS サーバからフィー チャーを選択して取得するためにフィルタを適用します。 これらの条件はフィルタ形式で表現され、 Boolean 式を表す XML です。 Boolean 式は、コンテンツのすべてのフィーチャーに対して、「true」 または「false」のいずれかを返します。 例えば、「Age > 30」という式があるとします。 このフィル タを使用すると、Age 属性が 30 より大きいフィーチャーのみが返されます。
フィルタは前の例のように簡単な式にすることも、論理演算子 OR、AND、および NOT を使用して簡 単な式を組み合わせて複雑にすることもできます。 例:
Age > 30 AND Name like 'John'
フィルタを空間フィルタにすることもできます。 空間フィルタを使用すると、地理的属性に基づいて フィーチャーを検索することができます。 例えば、指定されたポイントの 10 マイル以内にあるすべ てのフィーチャーを検索します。 WFS では、 属性、空間、および論理の 3 つのタイプのフィルタがサポートされます。 SQL ユーザーにとって、フィルタは SQL 文の「where 節」と同等です。 注:
属性のフィルタ
AttributeFilter は、比較を使用して、非空間の検索制約またはクエリを定義します。 次の比較演算子が サポートされています。 使用方法を示す例が提供されているものもあります。 • EqualTo – このフィルタを使用すると、特定の国の下位区分のフィーチャーをすべて検索すること ができます。 • NotEqualTo – このフィルタを使用すると、特定の国の下位区分に含まれないフィーチャーをすべて 検索することができます。 • LessThan – 人口が指定された値より少ないフィーチャーをすべて見つける検索を定義します。 例 えば、Population < 100,000 などです。 • GreaterThan – 人口が指定された値より多いフィーチャーをすべて見つける検索を定義します。 例 えば、Population > 200000 などです。 • LessThanOrEqualTo – 人口が指定された値以下のフィーチャーをすべて見つける検索を定義しま す。 例えば、Population <= 100,000 などです。 • GreaterThanOrEqualTo – 人口が指定された値以上のフィーチャーをすべて見つける検索を定義し ます。 例えば、Population >= 200,000 などです。 • Like – このフィルタを使用すると、国名が A で始まるすべてのフィーチャーの検索など、パターン に基づく検索を定義できます。例えば、CountryName like A% などです。 • Between – このフィルタを使用すると、人口が 2 つの値の範囲内のフィーチャーを選択できます。 例えば、Population between 100,000 AND 200,000 などです。Spectrum™Technology Platform 8.0.0 SP1
26
• IsNull – このフィルタを使用すると、誕生日が null (または設定されていない) など、属性に値が設 定されていないフィーチャーを選択できます。 例えば、DATE_OF_BIRTH is null などです。
空間フィルタ
空間フィルタは、空間演算子を使用した、空間を検索するときの制約またはクエリを定義します。 次 の空間演算子がサポートされています。 • Overlaps – 指定されたジオメトリの内部に、すべてまたは一部があるフィーチャーが返されます。 接触している境界は重なり合っているとみなされます。 • DWithin – ジオメトリから指定された距離内にあるフィーチャーが返されます。 • Within – 指定されたジオメトリの内部にあるフィーチャーが返されます。 境界は接触している可能 性がありますが、内部のオブジェクトが、周囲を囲む境界を超えたポイントを持つことはできませ ん。論理フィルタ
論理フィルタは、論理演算子 And (AndType)、Or (OrType)、および Not (NotType) を使用した属性フィ ルタと空間フィルタの組み合わせです。
機能の制限
Spectrum™Technology Platform サービスは、OGC 規格に概要が記載されている範囲を超えてサービ
スの機能を拡張します。 その結果、規格の記述内容と機能に違いがあります。 このセクションでは、 拡張または制限について説明します。
規格の制限
次の OGC 規格の操作は、現在の Spectrum™Technology Platform Web Feature Serviceの実装ではサ
ポートされていません。 このリリースに、次の制限が適用されます。
Transaction
Web Feature Service (WFS) は、トランザクション リクエストのサービスを提供できる場合がありま す。 トランザクション リクエストは、フィーチャーを変更する操作から構成されています。つまり、 地理的フィーチャーの操作を作成、更新、および削除します。
LockFeature
Web Feature Service (WFS)は、トランザクションの継続期間に対して、1 つ以上のフィーチャー タイ プのインスタンスでロック リクエストを処理できる場合があります。 これにより、トランザクション のシリアル化がサポートされます。
27 Web Feature Service (WFS)
フィーチャーの制限
OpenGIS Web フィーチャー サービスの実装仕様は、必須およびオプションの実装を持っています。 必須の部分のことを WFS Basic といい、基本的に読み取り専用のサービスです。 オプションの部分 は WFS Transactional といい、フィーチャー タイプ内でのフィーチャーの追加、変更、削除を可能に します。 Spectrum™Technology Platform の WFS の実装は、現時点では WFS Basic のみを実装して
います。 次のフィーチャーは、現在の WebFeature サービスの実装ではサポートされていません。 このリリー スに、次の制約が適用されます。 • 現在、GetCapabilities、DescriptionFeatureType、および GetFeature 操作のみがサポートされてい ます。 • GetFeature 操作の処理は、現在サポートされていません。 • outputFormat 属性のバージョンは、現在 3 つの Web フィーチャー サービス操作のすべてでサポー トされていません。 • DescribeFeatureType 操作では、境界のジオメトリは返されません。
例外とエラー処理
リクエストの処理中、または認識されていないリクエストを受信したときに WFS でエラーが発生し た場合、エラーが発生したことを示す XML ドキュメントが生成されます。 XML のエラーのレスポン スのフォーマットは、OGC/WFS 仕様 (http://www.opengeospatial.org/specs/?page=specs) のセク ション A.2 で定義されている例外レスポンス スキーマによって指定され、これに対して検証される必 要があります。Spectrum™Technology Platform 8.0.0 SP1
28