SLDReader本体をカスタマイズして、ラインのサイズを変更する

はじめに

前回の投稿では、SLDReader本体を変更せずにアイコンのサイズを変更しました。
一方、今回は、SLDReader本体をカスタマイズしてサイズを変更できるか試してみました。

UOMの利用

まず最初に、UOMの設定が利用できないか調べました。ところが、UOMの設定箇所がまちまちで、設定されたUOMの情報を取得することが、非常に難しいことが判明し、早々に断念しました。

SLDのベンダーオプション(Vendor Option)の利用

次に、SLDのベンダーオプションを調査しました。
SLDでは、標準の SLD スキーマで定義されていない、特定の GIS ソフトウェアやライブラリが独自に拡張したベンダーオプション(Vendor Option)が利用できます。これにより、標準ではサポートされないスタイリング機能を柔軟に実現できます。

ベンダーオプションの特徴

  1. 拡張性
    • 各ソフトウェアが独自のスタイリング機能を追加できます。
  2. 互換性
    • 標準外の機能であるため、特定のソフトウェアやライブラリでのみ機能します。他のツールでは無視される場合があります。
  3. 記述方法
    • XML の属性やタグとして記述されます。例えば、<VendorOption>タグや属性として追加されます。

ベンダーオプションの使用例

ベンダーオプションにUOMを設定してみました。

s_aed_uom.txt

sldreader.js

SLDReader本体をカスタマイズします。まず、スタイル設定時にresolutionの値が必要なので、各関数の引数にresolutionを追加します。その後、各スタイル設定時に、ベンダーオプションのUOMが’metre’に設定されている場合は、サイズを計算し、再設定します。

jsコード

SLDReader本体をカスタマイズしたので、呼び出し側では特に何もしていません。

カスタマイズ後の地図

サイズが変更されています。

まとめ

SLDReader本体をカスタマイズして、サイズを変更を試しましたが、思ったより、簡単に実装できました。SLDReaderでベンダーオプション(Vendor Option)の対応できていたのが大きかったです。このベンダーオプション(Vendor Option)を利用すれば、もっと高度なスタイル設定ができそうです!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする