Skip To Content

WMS リクエストで layerDefs パラメーターを使用したフィーチャのフィルタリング

この ArcGIS 11.0 ドキュメントはアーカイブされており、今後更新されません。 コンテンツとリンクが古い場合があります。 最新のドキュメントをご参照ください

WMS 仕様には、GetMap リクエストにクエリ文字列または where 句を追加するフィルタリング メカニズムがありません。 SLD 内のルールを使用してフィルターを適用できますが、同時に SLD 内のシンボル部を作成する必要があります。

その代わりに、ArcGIS Server は、GetMap および GetFeatureInfo WMS オペレーションの両方に layerDefs というベンダー固有パラメーターを実装しています。 これにより、クライアントは、レイヤーの定義式を指定することにより、エクスポートされたマップに含まれる個別のレイヤーのフィーチャを簡単にフィルタリングできます。

layerDefs パラメーターは ArcGIS Server マップ サービスの layerDefs パラメーターから取得されます。 このパラメーターの詳細については、「ArcGIS REST API」のドキュメントをご参照ください。

リクエストでの layerDefs の使用

GetMap リクエストと GetFeatureInfo リクエストで layerDefs パラメーターを使用する方法の例を次に示します。

注意:

layerDefs パラメーター内のフィルター条件式は SLD や SLD_BODY に定義されているフィルター条件式と同時に使用できないことに注意してください。 両方が GetMap リクエストまたは GetFeatureInfo リクエストに存在すると、layerDefs の優先度が低くなるか、無視されます。

GetMap

人口が 100 万人以上の国だけを表示することで、国レイヤーをフィルタリングします: layerDefs={"country":"POP_CNTRY>100000000"}

サンプル リクエスト:

http://gisserver.domain.com:6080/arcgis/services/MyMapService/MapServer/WmsServer?VERSION=1.3.0&REQUEST=GetMap&CRS=CRS:84&BBOX=-180,-90,180,83.604158999999996&WIDTH=660&HEIGHT=318&LAYERS=country&STYLES=default&EXCEPTIONS=xml&FORMAT=image/png&BGCOLOR=0xFEFFFF&TRANSPARENT=TRUE&layerDefs={"country":"POP_CNTRY>100000000"}

GetFeatureInfo

人口が 100 万人以上で Amazon という名前の川を含む国の情報だけを取得することで、国レイヤーをフィルタリングします: layerDefs={"country":"POP_CNTRY>100000000","rivers":"NAME LIKE 'Amazon'"}

サンプル リクエスト:

http://gisserver.domain.com:6080/arcgis/services/MyMapService/MapServer/WmsServer?VERSION=1.3.0&REQUEST=GetFeatureInfo&CRS=CRS:84&BBOX=-180,-90,180,83.604158999999996&WIDTH=660&HEIGHT=318&LAYERS=country,rivers&STYLES=default,default&EXCEPTIONS=xml&FORMAT=image/png&BGCOLOR=0xFEFFFF&TRANSPARENT=TRUE&QUERY_LAYERS=country,rivers&INFO_FORMAT=text/html&I=50&J=50&layerDefs={"country":"POP_CNTRY>100000000","rivers":"NAME LIKE 'Amazon'"}

WMS リクエストでの画像のフィルタリング

イメージ サービスに基づく WMS は、ベンダー固有のパラメーターを使用した画像のフィルタリングをサポートしています。 ユーザーは、Query パラメーターを使用して条件を指定するか、Images パラメーターを使用して画像 ID を指定することができます。 これらのパラメーターは、モザイク データセットから公開されたサービスに適用されます。

画像

IMAGES パラメーターは、オブジェクト ID によってモザイク データセット内の個々のラスターを検索します。

リクエスト: 次の例は、1 のオブジェクト ID を持つ 1 つの画像を表示します。

http://gisserver.domain.com:6080/arcgis/services/folder/ServiceName/ImageServer/WMSServer?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=0&STYLES=&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&CRS=EPSG:4326&BBOX=17.9995833333334,-161.000416666667,23.0004166666666,-153.999583333333&WIDTH=981&HEIGHT=826&images=1

リクエスト: 次例は、3 と 5 のオブジェクト ID を持つ 2 つの画像を表示します。

http://gisserver.domain.com:6080/arcgis/services/folder/ServiceName/ImageServer/WMSServer?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=0&STYLES=&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&CRS=EPSG:4326&BBOX=17.9995833333334,-161.000416666667,23.0004166666666,-153.999583333333&WIDTH=981&HEIGHT=826&images=3,5

QUERY

10.3 では、イメージ サービス WMS は、新しい Query パラメーターをサポートしています。 Query パラメーターは、条件に基づいて画像を検索します。

リクエスト: 次の例は、「Cotton」で始まるプロジェクト名を持つ画像を表示します。 この例では、projectName はモザイク データセット内のカスタム フィールド名です。

http://gisserver.domain.com:6080/arcgis/services/ServiceName/ImageServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&CRS=CRS:84&BBOX=-.00012294555236728837,-.00056041068726637587,.0038293544476327114,.0040723426808816961&WIDTH=697&HEIGHT=817&LAYERS=0&STYLES=&FORMAT=image/png&BGCOLOR=0xFEFFFF&TRANSPARENT=TRUE&Query=ProjectName like 'Cotton%25'

注意:

Query パラメーターは、デフォルトでは標準化されたクエリのみを受け取ります。 詳細については、「標準化されたクエリについて」をご参照ください。