プレゼンテーション
このドキュメントでは、AVCS オンラインサービスへ WMS (Web Map Service) リクエストを開始する方法について説明します。
AVCSオンラインサービスをWebアプリケーションに統合するために使用します。
WMS
ウェブ地図サービスのリクエストは、地図出力を生成するために使用されます。
地図の表示内容は、WMSリクエストダイバーシティのパラメータを指定することで制御できます。
WMSリクエストとパラメータについての詳細は、リクエスト例のURLとともにこのドキュメントに記載されています。
GetCapabilitiesでマップ・トークンを取得
AVCSオンライン・サービスへの最初のリクエストは、UKHO(英国水路局)のB2B認証JWTを持つGetCapabilitiesリクエストでなければなりません。
AVCS オンラインサービスを使用するためのマップトークンが含まれています。
AVCSオンラインサービスのテスト環境は、プリプロダクション環境です。
Token | UKHO REST B2Bサービスが生成する認証トークン | |
SERVICE | WMS | 要求されたサービスがWMSであることを示します。 |
リクエスト | GetCapabilities | サポートされている操作とパラメータ、利用可能なレイヤーのリストを含む、メタ情報の取得方法。 |
VERSION | 1.3.0 | WMS |
ライセンスID | フリートマネージャーライセンスID | |
userRef | ABC321456 | ディストリビューター固有のユーザー参照 |
例
https://.azure-.net/avcso-dev/AVCS/WMS/?service=wms&version=..0&request=GetCapabilities&token=<<Token>>&licenseId=73706&userRef=123412
注:すべてのリクエストには、以下のリクエストヘッダも含まれている必要があります。
Ocp-Apim-Subscription-Key=<<subscription key>>
GetCapabilitiesリクエストにより、ユーザーは最大30分間システムにアクセスできます。タイムアウト後、最初の要求で提供されたトークンは失効します。マップ トークンの更新が必要な場合は、更新のセクションを参照してください。
GenerateTokenによるマップトークンの更新
GetCapabilitiesリクエストによってシステムが認証されるとすぐに、すべてのサブリクエストをマップサービスに直接送信できます。生成されたマップトークンは 30 分間有効です。
マップトークンの更新では、アプリからログアウトしてログインし直す必要はなく、アプリはリクエストを送信できます。
このリクエストには以下のパラメータが必要です。
Token | UKHO REST B2Bサービスが生成する認証トークン | |
ライセンスID | フリートマネージャーライセンスID | |
userRef | ABC321456 | ディストリビューター固有のユーザー参照 |
このリクエストはマップトークンを返します。マップトークンは、マップサービスへのすべてのサブリクエストによって運ばれる必要があります。
UKHO REST B2Bが生成するトークンと混同しないようご注意ください。注意: すべてのリクエストには、以下のリクエストヘッダも含める必要があります。
Ocp-Apim-Subscription-Key=<<subscription key>>
リクエスト例
https://.azure-.net/avcso-dev/tokens/generateToken?LicenseID=73706&UserRef=123456&Token=<<Token>>
成功した回答の例
{
"token": "cui_FGKST19-IJ1W_M-lq7UBZSP_hQjt21THZ4FsQDJOc.",
"expiration": "2019-02-06T14:32:07.088Z"
}
エラー応答の例:
{
"correlationId": "05937d60-3e14-4980-bd26-29c70e79ac73",
"errors": [
{
"source": "generateToken",
"description": "Forbidden"
}
]
}
地図出力の生成
WMS 要求は、要求で指定されたパラメータに基づいて地図出力を生成するために使用されます。以下のセクションでは、AVCS オンラインソリューションで適用される標準 WMS パラメーターと追加表示パラメーターの概要を説明します。
標準 WMS GetMap パラメータを使用
以下は、すべての GetMap 要求に使用できる標準 OGC GetMap 要求パラメータです。これらのパラメータを使用すると、デフォルトの IHO S-52 標準に基づくマップが表示されます。
標準パラメータは以下の通り:
Token | UKHO REST B2Bサービスが生成する認証トークン | |
ライセンスID | フリートマネージャーライセンスID | |
userRef | ABC321456 | ディストリビューター固有のユーザー参照 |
Token | <<token>> | WMSサービスが使用されていることを示します。 |
リクエスト | 73706 | GetMap リクエストであることを指定します。 |
フォーマット | image/png | 出力イメージのフォーマット |
TRANSPARENT | TRUE | 背景色を透明に設定 |
VERSION | 1.3.0 | WMS |
licenseId | 21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | 表示するレイヤーのリスト、または指定されていない場合はすべてのレイヤーを選択します。 |
WIDTH | 0010 | 出力イメージ幅 |
HEIGHT | 0010 | 出力イメージの高さ |
ちゅうかりょうりてんしょうこうぐん | EPSG:5837 | スペース基準 |
BBOX | -4199759.866962299,4999896.148476938, 3025679.5427769204,9055339.121174172 | ボックス座標 |
最適なタイルサイズ
APIによっては、マップのサイズが可視領域内で変化した場合に、最適なタイルサイズを動的に計算することができません。
このような場合、屋根板のサイズは1100をお勧めします。
これにより、クライアントのレスポンスタイムとWMSサービスに送信されるリクエスト数のバランスが最もよくなります。
基本パラメータに加えて、以下のパラメータは必須です。 WIDTH,HEIGHT,BBOXパラメータは、Use Tile Sizeパラメータの下では必須ではないことに注意してください。
tileSize | 0110 | グリッド内のタイルの幅と高さ |
リクエスト例
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?token=<<token>>&SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&tileSize=1100&CRS=EPSG:3857&UserId=<<UserId>>&userRef=ABC123456
LAYERS
LAYERSパラメータは標準的なWMSリクエストパラメータで、カンマで区切られたリストのセットで、クライアントが最終的に計算された図面にレイヤーを表示するかどうか、またどのような順序で表示するかを制御することができます。
AVCSオンラインでは、WMSレイヤーとViewOverGroupsは同じコンセプトで、WMS LAYERSパラメータを使用することで、クライアントはS-52標準に基づいてビューグループスイッチを制御することができます。
LAYERS パラメータが指定されない場合、デフォルトの動作、つまりすべてのレイヤーはデフォルトの順序に基づいて表示されます。
レイヤーを指定する順番は、レイヤーがイメージ上でレンダリングされる順番と逆になることに注意する必要があります。
LAYERSパラメータの値は以下の通り:
例-すべてのレイヤー/ビューグループを表示します:
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?token=<<token>>&SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&LAYERS=21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=-.85052648446,.126722074,-.22199085026,.755257708&UserId=<<UserId>>&userRef=ABC123456
例-海底レイヤー/ビューグループのみを表示します:
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?token=<<token>>&SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&LAYERS=16&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=-.85052648446,.126722074,-.22199085026,.755257708&UserId=<<UserId>>&userRef=ABC123456
例 - 基線、スポット測深、深度コンターレイヤー/ビューグループの表示
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?token=<<token>>&SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&LAYERS=15,11,0&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=-.85052648446,.126722074,-.22199085026,.755257708&UserId=<<UserId>>&userRef=ABC123456
標準の WMS GetFeatureInfo パラメータを使用します。
以下は、すべての標準 WMS GetFeatureInfo 要求で使用できるパラメータです。WMS GetFeatureInfo 要求を使用すると、指定したポイントのプロパティ情報を取得できます。
WMS GetFeatureInfoリクエストの標準パラメータは以下のとおりです:
0 | UKHO REST B2Bサービスが生成する認証トークン | |
ライセンスID | フリートマネージャーライセンスID | |
userRef | ABC321456 | ディストリビューター固有のユーザー参照 |
Token | <<token>> | WMSサービスが使用されていることを示します。 |
リクエスト | GetFeatureInfo | GetFeatureInfo リクエストであることを指定します。 |
フォーマット | image/png | 出力イメージのフォーマット |
TRANSPARENT | TRUE | 背景色を透明に設定 |
VERSION | 1.3.0 | WMS |
licenseId | 21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | 表示するレイヤーのリスト、または指定されていない場合はすべてのレイヤーを選択します。 |
WIDTH | 0010 | 出力イメージ幅 |
HEIGHT | 0010 | 出力イメージの高さ |
ちゅうかりょうりてんしょうこうぐん | EPSG:5837 | スペース基準 |
BBOX | -4199759.866962299,4999896.148476938, 3025679.5427769204,9055339.121174172 | ボックス座標 |
info_format | 0110 | 返り値の形式は、text/html、text/xml、またはapplication/jsonです。 |
クエリレイヤ | 21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | 情報を取得する必要があるレイヤー。 |
i | 315 | 出力イメージ幅 |
j | 632 | 出力イメージの高さ |
戻り値がJSONの場合、もう一方のパラメータも&f=pjsonにする必要があります。
注: GetFeatureInfoリクエストは、特定のマップイメージに基づいています。したがって、WIDTH、HEIGHT、BBOX、CRS、および LAYERS パラメータは、ルックアップ ポイントの位置を計算するために使用されます。
例 - すべてのレイヤーを照会します:
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?SERVICE=WMS&REQUEST=GetFeatureInfo&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=-.58774060296,.143408402,-.25917374791,.471975257&info_format=text/html&LAYERS=20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0&query_layers=21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0&i=513&j=236&Userid=<<UserId>>&token=<<token>>
注意:このエンドポイントでは、アクセス可能なイメージファイルを使用する必要があります。
AVCS オンライン WMS 固有パラメータの使用
このセクションでは、さまざまなWMSパラメータの概要を説明します。
ForceCharts WMS
Forced Map パラメータは、AVCS Online の表示優先度を指定します。
このパラメータが指定されていない場合、デフォルトで最近公開されたチャートが表示されます。
値の例を以下に示します:
注:このパラメータは、GetMap および GetFeatureInfo 要求で使用できます。
Display_params WMS
表示パラメータは、コントロールの出力スタイルを指定するために使用されます。表示パラメータはJSONで定義します。パラメータの一覧は2.3.4を参照してください。
DisplayCategory 表示パラメーター
このパラメータは、表示区分を指定するために使用します。表示分類は IHO S-57 のルックアップテーブルで定義され、クライアントはそこで定義された機能グループのオンとオフを切り替えることができます。
分類パラメータの値は以下のように表示されます。
注:これらの値は、カンマ区切りで組み合わせることができます。
例-DisplayBase。
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?token=<<token>>&SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=.37076169756,.396331931,.3990467708,.424617005&UserId=<<UserId>>&Display_params={"ECDISParameters":{"version":"..1","DynamicParameters":{"Parameter":[{"name":"DisplayCategory","value":"1"}]}}}&userRef=ABC123456
例-標準。
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?token=<<token>>&SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=.37076169756,.396331931,.3990467708,.424617005&UserId=<<UserId>>&Display_params={"ECDISParameters":{"version":"..1","DynamicParameters":{"Parameter":[{"name":"DisplayCategory","value":"2"}]}}}&userRef=ABC123456
例-その他
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?token=<<token>>&SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=.37076169756,.396331931,.3990467708,.424617005&UserId=<<UserId>>&Display_params={"ECDISParameters":{"version":"..1","DynamicParameters":{"Parameter":[{"name":"DisplayCategory","value":"4"}]}}}&userRef=ABC123456
組み合わせ例。
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?token=<<token>>&SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=.37076169756,.396331931,.3990467708,.424617005&UserId=<<UserId>>&Display_params={"ECDISParameters":{"version":"..1","DynamicParameters":{"Parameter":[{"name":"DisplayCategory","value":"1,2"}]}}}&userRef=ABC123456
SafetyContour表示パラメーター
Safety Line パラメータを使用して、安全ラインの深さを設定します。安全ラインパラメータの値は以下の通りです。
0 | 安全ラインの深さ0メートル |
10 | 安全ラインの深さ10メートル |
30 | 安全ラインの深さ30メートル |
40 | 安全ラインの深さ40メートル |
例 - 安全ラインの深さ = 0メートル。
https://avcs-...uk/server/rest/services/AVCS/MapServer/exts/MaritimeChartService/WMSServer?SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&VERSION=..0&WIDTH=1000&HEIGHT=1000&CRS=EPSG:3857&BBOX=-.7014349383,.136560182,-.34981570172,.95858042&Display_params={"ECDISParameters":{"version":"..1","DynamicParameters":{"Parameter":[{"name":"LabelContours","value":2},{"name":"LabelSafetyContours","value":2},{"name":"SafetyContour","value":0}]}}}&UserId=<<UserId>>&userRef=ABC123456&token=<<token>>