Skip to main content

WMS サービスを含む Styled Layer Descriptor の使用

SLD (Styled Layer Descriptor) を使用すると、OGC (Open Geospatial Consortium) で規定された XML 仕様を使用する WMS サービスのためのシンボル スキーマを公開できます。 また、サービスのクライアントが独自の SLD を使用して、独自に選択したシンボルを適用することもできます。

SLD ファイルと SLD スタイル

SLD ファイルは、クライアント/サーバー間のやり取りで認識されるように OGC SLD 構文に準拠した XML ファイルです。

SLD スタイルは SLD ファイルに物理的に保存されます。 論理的には、このような SLD スタイルは、指定された WMS レイヤー内の指定されたフィーチャ セットに対してシンボル ルールを定義します。 1 つのスタイルに複数のルールを定義することができます。各ルールは、レンダリングされるフィーチャを説明する 1 つのフィルターと、これらのフィーチャの表示方法を説明する複数のシンボライザーで定義できます。

次に、サンプルの SLD xml ドキュメントを示します。

<sld:StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
<!--
ESRI_StatesCitiesRivers_USA @
http://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?
-->
<sld:NamedLayer>
<!--
layer "2" is the "cities" point layer in the WMS service
-->
<sld:Name>2</sld:Name>
<sld:UserStyle>
<!--
 style should be applied on layer "2", reference the style by it's name "pointSymbolizer"
-->
<sld:Name>pointSymbolizer</sld:Name>
<sld:Title>pointSymbolizer</sld:Title>
<sld:FeatureTypeStyle>
 <sld:Rule>
  <sld:PointSymbolizer>
   <sld:Graphic>
    <sld:Mark>
     <!-- uses a circle to mark a city -->
     <sld:WellKnownName>circle</sld:WellKnownName>
     <!-- fill circle with color #666666 -->
     <sld:Fill>
      <sld:CssParameter name="fill">#666666</sld:CssParameter>
      <sld:CssParameter name="fill-opacity">1</sld:CssParameter>
     </sld:Fill>
     <!-- circle boundary with color #666666 -->
     <sld:Stroke>
      <sld:CssParameter name="stroke">#666666</sld:CssParameter>
      <sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
      <sld:CssParameter name="stroke-width">1</sld:CssParameter>
     </sld:Stroke>
    </sld:Mark>
    <!-- circle opacity 1.0 -->
    <sld:Opacity>1</sld:Opacity>
    <!-- circle size "3" -->
    <sld:Size>3</sld:Size>
    <sld:Rotation>0</sld:Rotation>
   </sld:Graphic>
  </sld:PointSymbolizer>
 </sld:Rule>
</sld:FeatureTypeStyle>
</sld:UserStyle>
</sld:NamedLayer>
</sld:StyledLayerDescriptor>

ArcGIS Server での WMS SLD の実装は、OGC Styled Layer Descriptor (SLD) Implementation Specification に基づいています。 SLD の概要については、OGC Web サイトの「Styled Layer Descriptor」ページをご参照ください。

ArcGIS Server における WMS SLD (Styled Layer Descriptor) のサポート

ArcGIS Server は、WMS SLD (Styled Layer Descriptor) バージョン 1.0.0 実装仕様をサポートします。 SLD の概要については、OGC Web サイトの Styled Layer Descriptor ページをご参照ください。

ArcGIS Server WMS サービスでサポートされる、およびサポートされない SLD の固有エレメントを次に示します。

サポートされる SLD エレメント

次の SLD エレメントは ArcGIS Server WMS サービスでサポートされます:

サポートされていない SLD エレメント

次の SLD エレメントは ArcGIS Server WMS サービスではサポートされません:

フィーチャ シンボライザーとジオメトリー タイプ

10.7 では、フィーチャ シンボライザーの LineSymbolizerPolygonSymbolizerPointSymbolizer を使用して、あらゆるタイプのフィーチャ ジオメトリーをシンボル表示できます。 たとえば、PointSymbolizer を使用すると、ポリゴン フィーチャをシンボル表示できます。 使用されるシンボライザーがネイティブなジオメトリー タイプと一致しない場合の動作を次の表に示します。

ライン

ポリゴン

ポイント

LineSymbolizer

  • LineSymbolizer で指定されたストロークを使用してシンボル表示されたアウトライン。

  • 透明な塗りつぶし。

  • LineSymbolizer で指定されたストロークを使用した実線と破線。

PolygonSymbolizer

  • PolygonSymbolizer で指定されたストロークを使用した実線と破線。
  • PolygonSymbolizer で指定されたストロークを使用して、塗りつぶしとアウトラインで塗りつぶされた正方形のマーカー シンボル。

  • GraphicFill エレメントはサポートされていません。

PointSymbolizer

  • PointSymbolizer で指定されたシンボルを使用してシンボル表示され、ラインの中央に配置された単一マーカー シンボル。

  • Graphic エレメントはサポートされていません。

  • PointSymbolizer で指定されたシンボルを使用してシンボル表示され、ポリゴンの重心に配置された単一マーカー シンボル。

  • Graphic エレメントはサポートされていません。

SLD による複数のスタイルの公開

SLD を使って WMS レイヤーのための複数のスタイルを公開するには、次のワークフローに従います。

  1. システム生成のケーパビリティー ファイルを使って WMS サービスを作成します。

  2. WMS サービス内のレイヤーごとに複数のスタイルを定義する SLD XML ドキュメントを作成します。

  3. SLD XML を WMS サービスとバインドします。

これを行うための手順は次のとおりです。

ArcGIS Server Manager の場合:

  1. WMS サービス」で説明するガイドラインに従って、WMS サービスを公開します。

  2. 公開する WMS レイヤーごとに追加のスタイルを定義する XML ドキュメントを SLD 構文で作成します。 この SLD XML ドキュメントをローカル ディスクに保存するか、URL としてアクセスできるようにします。

  3. ArcGIS Server Manager を起動し、ログインします。 この手順の詳細については、ArcGIS Server Manager へのログインをご参照ください。

  4. サービス > サービスの管理 の順にクリックします。

  5. サービスの管理 モジュールで、サービスを検索して 編集 をクリックします。 サービスがリストに表示されていない場合は、サイト (ルート) フォルダーの下にあるサブフォルダーに格納されています。

  6. 編集 モジュールで、ケーパビリティー をクリックします。

  7. ケーパビリティーのリストで、WMS をクリックし、WMS が有効化されていることを確認します。

  8. WMS 構成 リストに、SLD パス/URL テキスト ボックスが表示されます。 SLD XML ドキュメントの URL を入力するか、ファイル ブラウザーでディスク上の SLD XML を選択します。

  9. 保存して再起動 をクリックします。 サービスに対する編集内容は直ちに適用されます。

メモ:

SLD XML が WMS サービスに正しくバインドされていることを確認し、次のどちらかの操作を実行します。

  • ブラウザーで WMS GetCapabilities リクエストを実行します。 XML レスポンスには、WMS レイヤーごとに SLD で定義した追加のスタイルごとに、