SLDReaderを利用して、地図の解像度によって、アイコン及びラベルのサイズを変更する

はじめに

今回も、SLDReaderをカスタマイズして、地図の解像度によって、アイコン及びラベルのサイズを変更しました。

SLDには、UOMという属性が設定でき、UOMを設定することで、スタイルのサイズを地図の単位(例えばメートル)で指定することが可能になります。このUOMに対応することで、アイコン及びラベルのサイズを動的に変更できるようにしました。

UOM使用例

s_aed_uom.txt

sldreader.js

SLDReader本体をカスタマイズします。まず、SLDReaderでは、uomを登録しないので、登録できるようにします。その後、createOlStyleFunction()で取得したresolutionを~getPointStyle()まで引数を渡します。その後、getPointStyle()で、サイズの計算をします。ポイントと同じように、テキストなどでもサイズの変更処理を行います。

カスタマイズ後の地図

縮尺によりアイコン及びラベルのサイズが変更されています。

まとめ

SLDReaderがだいぶ理解できるようになり、念願のuom対応ができました。SLDには他にも高度な記述方法があるので、またチャレンジしてみます!

シェアする

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

フォローする