災害アーカイブデータベースシステム
地図 API 配信のための
GeoServer セットアップマニュアル

Ver.1.5.0
2016/03/25

国立研究開発法人 防災科学技術研究所

目次
1.

MySQL の設定 .................................................................................................................1

2.

GeoServer のインストール..............................................................................................1

3.

GeoServer への Layer の追加 .........................................................................................1
3.1 連絡先情報の追加 .........................................................................................................2
3.2 Store の追加 ..................................................................................................................2
3.3 Layer の追加..................................................................................................................5
3.4 WMS 配信の確認 ........................................................................................................ 10
3.5 WMS のサービスメタデータ（Capabilities URL）の設定 ....................................... 11
3.6 地図 API のための SQL およびパラメータ等の設定 ................................................ 13
3.6.1 SQL ...................................................................................................................... 13
3.6.2 パラメーター ....................................................................................................... 17
3.7 WMS の描画設定 ........................................................................................................ 22

1. MySQL の設定
日 本 語 で の 検 索 を 可 能 に す る た め に MySQL の 設 定 フ ァ イ ル /etc/my.cnf に て
default-character-set を指定する。
[mysqld]以後、他の[xxxx]以前に、
default-character-set = utf8という行を入れること。

2. GeoServer のインストール
http://geoserver.org/download/より、GeoServer2.5 以上および MySQL extension をダウンロードし、インストールする。
CentOS6.5 にて、OS 標準の Tomcat6 と Web Archive 形式の GeoServer2.5.0 により動作確認済みである。
Tomcat6 では、server.xml の Connetctor タグに useBodyEncodingForURI="true"およびURIEncoding="UTF-8"を追加しなければ文字化けが発生し日本語を含む検索を行うことが で き な い 。 設 定 変 更 後 Tomcat6 の 再 起 動 が 必 要 で あ る 。 CentOS で は/etc/tomcat6/server.xml の 69 行目付近である。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
useBodyEncodingForURI="true"
URIEncoding="UTF-8"
redirectPort="8443" />3. GeoServer への Layer の追加
Layer を追加するためには、まず data store を追加する必要がある。以下の作業は、GeoServer に管理ユーザーでログインして行う。GeoServer インストール直後の管理ユー
ザーはユーザー名 admin パスワード geoserver である。

1

3.1 連絡先情報の追加
GeoServer を用いて地図 API を配信するために、配信者の連絡先情報を追加する。ログイ
ン後のトップ画面「概要＆ステータス」から、「連絡先情報」をクリックすることで、入力
画面が表示され修正することができる。
ここの情報は、Capabilities の XML に反映される。

3.2 Store の追加
Data store の追加を行う。トップ画面から「ストア追加」をクリックする。なお、下図左
上の GeoServer の文字をクリックすることによりいつでもこのトップ画面に戻ることができる。

2

データソースのタイプを選択する画面となるので、MySQL を選択する。MySQL が表示されない場合は、GeoServer の MySQL エクステンションが組み込まれていないので、
http://geoserver.org/download/より取得してインストールする。

3

アーカイブシステムで使用している DB の設定を入力する。

4

3.3 Layer の追加
トップ画面で「レイヤ追加」をクリックし、レイヤ先ほど追加した store を選択する。

テーブルが一覧表示されるが、ここからは選択せずに、「SQL ビューを新規作成」でまずSQL view を作成する。

5

SQL ビューの名称（「名称を表示」の部分）は、
テーブル名は使用できないので、適宜 contents
等テーブル名とは重ならないものを指定する。
「SQL ステートメント」には表示するコンテンツを取得するための SQL 文を記述する。select 節に記述したフィールドが WFS による配信対象となるが、ここには地理情報も必ず含める必要があるので、「point(md_content_point_x,md_content_point_y) as geom」も必ず指定する。また id も必ず指定する。検索条件を指定しての絞り込みを行う場合は、where 節に記載するが、wms
等の viewparams に指定するパラメータは、%パラメータ名%によって指定する。

6

select 節に記述したフィールドは、「属性」の欄の「再読み込み」によって、また where 節に記述したパラメータは SQL ビューパラメーター欄の「SQL 特殊文字をエスケープ」により認識させる。SQL ビューパラメーターの「正規表現を検証」には自動的に^[¥w¥d¥s]+$が挿入されるが、パラメータの値に日本語を含む場合はこれはマッチしないので、削除して7おく。属性欄の SRID には 4326 を指定し、id の Identifier には必ずチェックしておく。
保存ボタンを押すとレイヤの作成画面へ移行する。
レイヤ作成画面では、リソース基本情報の名前とタイトルにアーカイブデータと入力する。
なお、範囲矩形は「ネイティブ範囲矩形」と「緯度経度範囲矩形」両方とも指定が必須であり、それぞれ「データを元に算出」と「ネイティブの範囲を元に算出」をクリックすると値が入るようになっている。

8

9

3.4 WMS 配信の確認
トップ画面左のメニューのレイヤをクリックし、今回の該当するレイヤ以外は削除すること。

メニューからレイヤプレビューを選択し、OpenLayers をクリックすると、追加したレイヤーを確認することができる。

10

3.5 WMS および WFS のサービスメタデータ（Capabilities URL）の設定
WMS のサービスメタデータを記述する Capabilities の出力する内容を設定する。トップ
画面左メニューから WMS をクリックする。
「タイトル」にはアーカイブ等の名称、「概要」には本アーカイブの概要を記入するして保存する。

e コミマップ等の WMS に対応した地図システムでは、WMS Capabiliteies の URL を把握する必要がある。トップ画面の右側にサービスキャパビリティがあるので、WMS の場合は1.1.1 を用いると、e コミマップ等の WMS のインタフェースを有する GIS では表示が可能となる。
WFS の場合は、同じくトップ画面左メニュー から WMS をクリックすることで、
Capabilities の出力内容を設定できる。また、トップページ画面右側に WFS の Capabilitiesの URL を把握できる。

11

12

3.6 地図 API のための SQL およびパラメータ等の設定
WMS の GetFeatureInfo および WFS で参照可能な属性情報の項目は以下の通りである。
表 3-1 WMS の GetFeatureInfo および WFS で参照可能な属性情報
属性名

内容

id

ID

identifier

コンテンツ識別子

regist_date

登録日時

content_date

取得日時

copyrighter

著作者

publisher

提供者

title

タイトル

description

概要

md_content_type

コンテンツタイプ

address

コンテンツの住所

longitude

経度

latitude

緯度

content_url

コンテンツの URL（コンテンツ詳細画面）

termsofuse

利用制限

これらを表示するための SQL について詳しく説明する。
SQL view は、GUI 上から編集できる parameters を 25 個に制限している模様である。そこで、設定を保存した xml ファイルを直接編集する。SQL view での設定は、geoserver のフ ァ イ ル を 展 開 し た デ ィ レ ク ト リ (CentOS6 の Tomcat6 を 使 用 す る 場 合 は/usr/share/tomcat6/webapps/geoserver であろう)以下の、/data/workspaces/{ワークスペー
ス名}/{データストア名}/{レイヤー名}/featuretype.xml に保存されている。

3.6.1 SQL
<sql>タグ内を、以下の SQL 文に置き換える。
select content.id, identifier, regist_date,&#xd;
concat(convert(md_content_year

using

cp932),&apos;/&apos;,convert(md_content_month using cp932), &apos;/&apos;, convert(md_content_day
using cp932),&#xd;&apos;&apos;,

convert(md_content_hour
13

using

cp932),&apos;:&apos;,convert(md_content_min using cp932), &apos;:&apos;, convert(md_content_sec using
cp932)) as content_date,&#xd;
md_copyrighter as copyrighter, md_publisher as publisher, md_title as title,
md_description as description,&#xd;
case md_content_type&#xd;
when 1 then &apos;写真&apos;&#xd;
when 2 then &apos;動画&apos;&#xd;
when 3 then &apos;音声&apos;&#xd;
when 4 then &apos;文章&apos;&#xd;
when 5 then &apos;地図&apos;&#xd;
when 6 then &apos;証言・手記&apos;&#xd;
end as md_content_type,&#xd;
concat(md_content_address_ken,

md_content_address_sikucyoson,

md_content_address_cyoaza, md_content_address_banchi) as address,&#xd;
md_content_point_x as logitude, md_content_point_y as latitude,&#xd;
concat(&apos;%archiveUrl%&apos;,&apos;/search/detail/&apos;,

identifier)ascontent_url,&#xd;
case md_termsofuse&#xd;
when 0 then &apos;制限なし&apos;&#xd;
when 1 then &apos;庁内利用のみ&apos;&#xd;
when 2 then &apos;表示方法の指定あり&apos;&#xd;
when 3 then &apos;デッドコピーの第三者提供不可&apos;&#xd;
when 4 then &apos;改変・変更不可&apos;&#xd;
end as termsofuse,&#xd;
CASE md_content_type&#xd;
WHEN 2 THEN point(md_camera_point_x,md_camera_point_y)&#xd;
ELSE point(md_content_point_x,md_content_point_y)&#xd;
END as geom, d.name as disaster from content &#xd;
left join (select contentid,count(*) as c from taglink where tagid in (%tags%) group bycontentid) as tagcount on content.id = tagcount.contentid &#xd;
left join disasterlink as dl on content.holderid=dl.holderid &#xd;
left join disaster as d on dl.disasterid=d.id &#xd;
where &#xd;
CASE md_content_type&#xd;
WHEN 2 THEN md_camera_address_ken&#xd;
ELSE md_content_address_ken&#xd;
14

END like &apos;%%addressKen%%&apos; &#xd;
AND CASE md_content_type&#xd;
WHEN 2 THEN md_camera_address_sikucyoson&#xd;
ELSE md_content_address_sikucyoson&#xd;
END like &apos;%%addressSikucyoson%%&apos; &#xd;
AND CASE md_content_type&#xd;
WHEN 2 THEN md_camera_address_cyoaza&#xd;
ELSE md_content_address_cyoaza&#xd;
END like &apos;%%addressCyoaza%%&apos; &#xd;
AND CASE md_content_type&#xd;
WHEN 2 THEN md_camera_address_banchi&#xd;
ELSE md_content_address_banchi&#xd;
END like &apos;%%addressBanchi%%&apos; &#xd;
AND (%fileType1% and md_content_type = 1 &#xd;
OR %fileType2% and md_content_type = 2 &#xd;
OR %fileType3% and md_content_type = 3 &#xd;
OR %fileType4% and md_content_type = 4 &#xd;
OR %fileType5% and md_content_type = 5 &#xd;
OR %fileType6% and md_content_type = 6) &#xd;AND(md_disaster_flagIN(%disasterFlag%)

OR

CASE

WHEN

&apos;%disasterFlag%&apos; LIKE &apos;%null%&apos; THEN md_disaster_flag IS
NULL ELSE md_disaster_flag &gt; 2 END) &#xd;
AND(CONCAT(md_title,md_description,md_content_landmark)like&apos;%%freewordData1%%&apos;&#xd;
or(md_title2_flag

=

true

AND

CONCAT(md_title2,md_description2)

like&apos;%%freewordData1%%&apos;)) &#xd;
AND(CONCAT(md_title,md_description,md_content_landmark)like&apos;%%freewordData2%%&apos;&#xd;
or(md_title2_flag

=

true

AND

CONCAT(md_title2,md_description2)

like&apos;%%freewordData2%%&apos;)) &#xd;
AND(CONCAT(md_title,md_description,md_content_landmark)like&apos;%%freewordData2%%&apos;&#xd;
or(md_title2_flag

=

true

AND

CONCAT(md_title2,md_description2)&apos;%%freewordData2%%&apos;)) &#xd;
AND (tagcount.c &gt; 0 or %tags% = 0) &#xd;
AND (content.holderid = %holderid% or %holderid% = 0) &#xd;
15

like

AND md_content_landmark like &apos;%%landmark%%&apos; &#xd;
AND

CASE

md_content_type

WHEN

2

THEN

md_camera_point_y

ELSE

THEN

md_camera_point_y

ELSE

THEN

md_camera_point_x

ELSE

THEN

md_camera_point_x

ELSE

md_content_point_y END &lt; %latMax% &#xd;
AND

CASE

md_content_type

WHEN

2

md_content_point_y END &gt; %latMin% &#xd;
AND

CASE

md_content_type

WHEN

2

md_content_point_x END &lt; %lonMax% &#xd;
AND

CASE

md_content_type

WHEN

2

md_content_point_x END &gt; %lonMin% &#xd;
AND (CASE WHEN md_content_year = -1 THEN %contentYear1% ELSE
md_content_year END + 1)*14*33*25*61*61+(CASE WHEN md_content_month = -1
THEN %contentMonth1% ELSE md_content_month END + 1)*33*25*61*61+(CASE
WHEN md_content_day = -1 THEN %contentDay1% ELSE md_content_day END +1)*25*61*61+(CASE WHEN md_content_hour = -1 THEN %contentHour1% ELSE
md_content_hour

END+1)*61*61+(CASE

WHEN

md_content_min=-1

THEN %contentMin1% ELSE md_content_min END + 1)*61+(CASE WHEN
md_content_sec = -1 THEN %contentSec1% ELSE md_content_sec END + 1) &gt;=(%contentYear1%+1)*14*32*25*61*61+(%contentMonth1%+1)*33*25*61*61+(%content
Day1%+1)*25*61*61+(%contentHour1%+1)*61*61+(%contentMin1%+1)*61+(%content
Sec1%+1) &#xd;
AND (CASE WHEN md_content_year = -1 THEN %contentYear2% ELSE
md_content_year END + 1)*14*33*25*61*61+(CASE WHEN md_content_month = -1
THEN %contentMonth2% ELSE md_content_month END + 1)*33*25*61*61+(CASE
WHEN md_content_day = -1 THEN %contentDay2% ELSE md_content_day END +1+1)*25*61*61+(CASE WHEN md_content_hour = -1 THEN %contentHour2% ELSE
md_content_hour

END+1)*61*61+(CASE

WHEN

md_content_min=-1

THEN %contentMin1% ELSE md_content_min END + 1)*61+(CASE WHEN
md_content_sec = -1 THEN %contentSec2% ELSE md_content_sec END + 1) &lt;=(%contentYear2%+1)*14*33*25*61*61+(%contentMonth2%+1)*33*25*61*61+(%content
Day2%+1)*25*61*61+(%contentHour2%+1)*61*61+(%contentMin2%+1)*61+(%content
Sec2%+1) &#xd;
AND md_open_level = 2 AND acknowledge_flag = 2&#xd;
ORDER by CASE &apos;%sortKey%&apos;&#xd;
WHEN &apos;registDate&apos; THEN regist_date&#xd;
WHEN&apos;date&apos;

THEN(md_content_year+1)*13*32*25*61*61+(md_content_month+1)*32*25*61*61+(md_cont
16ent_day+1)*25*61*61+(md_content_hour+1)*61*61+(md_content_min+1)*61+(md_cont
ent_sec+1)&#xd;
WHEN&apos;address&apos;

THEN

concat(md_content_address_ken,md_content_address_sikucyoson,md_content_address_cyoaza,md_content_address_banchi)&#xd;
WHEN &apos;title&apos; THEN md_title&#xd;
END %sortOrder% &#xd;
limit %start%,%limit% &#xd;
3.6.2 パラメーター<param>……………</param>の書かれている部分を、以下で置き換える。ただし、赤字部
分はインストール環境に応じて、アーカイブシステムのトップページ URL（下記赤文字箇所）を記述すること。
<parameter><name>freewordData2</name></parameter><parameter><name>contentMin1</name><defaultValue>-1</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>fileType3</name><defaultValue>true</defaultValue><regexpValidator>^true|false$</regexpValidator></parameter><parameter><name>tags</name><defaultValue>0</defaultValue><regexpValidator>^[¥d]+(,[¥d]+)+$</regexpValidator></parameter><parameter><name>contentSec2</name><defaultValue>59</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter>17

<parameter><name>archiveUrl</name><defaultValue>http://localhost/marugoto</defaultValue><regexpValidator>https?://[¥w/:%#¥$&amp;¥?!()¥~¥.=¥+¥-]+</regexpVal
idator></parameter><parameter><name>contentHour2</name><defaultValue>24</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>holderid</name><defaultValue>0</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>sortKey</name><defaultValue>registDate</defaultValue><regexpValidator>^registDate|date|address|title$</regexpValidator></parameter><parameter><name>lonMax</name><defaultValue>180</defaultValue><regexpValidator>^[¥d]+.[¥d]+$</regexpValidator></parameter><parameter><name>addressCyoaza</name></parameter><parameter><name>contentSec1</name><defaultValue>-1</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter>18

<parameter><name>fileType1</name><defaultValue>true</defaultValue><regexpValidator>^true|false$</regexpValidator></parameter><parameter><name>contentDay1</name><defaultValue>-1</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>contentMonth1</name><defaultValue>-1</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>contentMin2</name><defaultValue>59</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>freewordData3</name></parameter><parameter><name>fileType2</name><defaultValue>true</defaultValue><regexpValidator>^true|false$</regexpValidator></parameter><parameter><name>disasterFlag</name><defaultValue>0,1,null</defaultValue><regexpValidator>^(0|1|null)(,0|,1|,null){0,2}$</regexpValidator></parameter><parameter><name>contentDay2</name><defaultValue>31</defaultValue>19

<regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>start</name><defaultValue>0</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>freewordData1</name></parameter><parameter><name>sortOrder</name><defaultValue>ASC</defaultValue><regexpValidator>^ASC|DESC$</regexpValidator></parameter><parameter><name>addressBanchi</name></parameter><parameter><name>addressKen</name></parameter><parameter><name>contentMonth2</name><defaultValue>12</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>fileType6</name><defaultValue>true</defaultValue><regexpValidator>^true|false$</regexpValidator></parameter><parameter><name>contentYear1</name><defaultValue>-1</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter>20

<parameter><name>landmark</name></parameter><parameter><name>contentHour1</name><defaultValue>0</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>fileType5</name><defaultValue>true</defaultValue><regexpValidator>^true|false$</regexpValidator></parameter><parameter><name>limit</name><defaultValue>1000</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>contentYear2</name><defaultValue>3000</defaultValue><regexpValidator>^[¥d]+$</regexpValidator></parameter><parameter><name>fileType4</name><defaultValue>true</defaultValue><regexpValidator>^true|false$</regexpValidator></parameter><parameter><name>lonMin</name><defaultValue>-180</defaultValue><regexpValidator>^[¥d]+.[¥d]+$</regexpValidator></parameter><parameter><name>latMax</name><defaultValue>90</defaultValue>21

<regexpValidator>^[¥d]+.[¥d]+$</regexpValidator></parameter><parameter><name>addressSikucyoson</name></parameter><parameter><name>latMin</name><defaultValue>-90</defaultValue><regexpValidator>^[¥d]+.[¥d]+$</regexpValidator></parameter>
3.7 WMS の描画設定
アーカイブするコンテンツの種類（1：写真、2：動画、3：音声、4：文書、5 地図、6：
証言、手記）ごとに異なるアイコンで、地図上にプロットされるように設定を行う。そのた め の ア イ コ ン 画 像 を パ ッ ケ ー ジ さ れ た zip フ ァ イ ル か ら 解 凍 さ せ て 、{geoserver}/data/styles へアップロードする。
アイコン表示の設定（SLD 編集）を行う。左メニューのスタイルをクリックすると、スタ
イルのテンプレート一覧が表示されるので、はじめにすべてにチェックボックスを入れて
削除する。

22

次に、新規スタイル追加をクリックするとスタイルエディタが起動する。名称は「md_content_type」とする。

23

次にエディタの中に、以下の内容を張り付けて保存する。
<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptor

xmlns="http://www.opengis.net/sld"

xmlns:sld="http://www.opengis.net/sld"
xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"version="1.0.0"><sld:UserLayer><sld:LayerFeatureConstraints><sld:FeatureTypeConstraint/></sld:LayerFeatureConstraints><sld:UserStyle><sld:Name>Default Styler</sld:Name><sld:Title>Default Styler</sld:Title>24

<sld:FeatureTypeStyle><sld:Name>simple</sld:Name><sld:Title>title</sld:Title><sld:Abstract>abstract</sld:Abstract><sld:FeatureTypeName>Feature</sld:FeatureTypeName><sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier><sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier><sld:Rule><sld:Title>写真</sld:Title><ogc:Filter><ogc:PropertyIsEqualTo><ogc:PropertyName>md_content_type</ogc:PropertyName><ogc:Literal>写真</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter><sld:PointSymbolizer><sld:Graphic><sld:ExternalGraphic><sld:OnlineResource
xlink:type="simple"
xlink:href="icon01ｍ_shashin.png"/><sld:Format>image/png</sld:Format></sld:ExternalGraphic><sld:Size>20.0</sld:Size></sld:Graphic></sld:PointSymbolizer></sld:Rule><sld:Rule><sld:Title>動画</sld:Title><ogc:Filter><ogc:PropertyIsEqualTo><ogc:PropertyName>md_content_type</ogc:PropertyName><ogc:Literal>動画</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter><sld:PointSymbolizer>25

<sld:Graphic><sld:ExternalGraphic><sld:OnlineResource
xlink:type="simple"
xlink:href="icon02m_douga.png"/><sld:Format>image/png</sld:Format></sld:ExternalGraphic><sld:Size>20.0</sld:Size></sld:Graphic></sld:PointSymbolizer></sld:Rule><sld:Rule><sld:Title>音声</sld:Title><ogc:Filter><ogc:PropertyIsEqualTo><ogc:PropertyName>md_content_type</ogc:PropertyName><ogc:Literal>音声</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter><sld:PointSymbolizer><sld:Graphic><sld:ExternalGraphic><sld:OnlineResource
xlink:type="simple"
xlink:href="icon03m_onsei.png"/><sld:Format>image/png</sld:Format></sld:ExternalGraphic><sld:Size>20.0</sld:Size></sld:Graphic></sld:PointSymbolizer></sld:Rule><sld:Rule><sld:Title>文章</sld:Title><ogc:Filter><ogc:PropertyIsEqualTo><ogc:PropertyName>md_content_type</ogc:PropertyName>26

<ogc:Literal>文章</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter><sld:PointSymbolizer><sld:Graphic><sld:ExternalGraphic><sld:OnlineResource
xlink:type="simple"
xlink:href="icon04m_bunshou.png"/><sld:Format>image/png</sld:Format></sld:ExternalGraphic><sld:Size>20.0</sld:Size></sld:Graphic></sld:PointSymbolizer></sld:Rule><sld:Rule><sld:Title>地図</sld:Title><ogc:Filter><ogc:PropertyIsEqualTo><ogc:PropertyName>md_content_type</ogc:PropertyName><ogc:Literal>地図</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter><sld:PointSymbolizer><sld:Graphic><sld:ExternalGraphic><sld:OnlineResource
xlink:type="simple"
xlink:href="icon05m_chizu.png"/><sld:Format>image/png</sld:Format></sld:ExternalGraphic><sld:Size>20.0</sld:Size></sld:Graphic></sld:PointSymbolizer></sld:Rule><sld:Rule>27

<sld:Title>証言・手記</sld:Title><ogc:Filter><ogc:PropertyIsEqualTo><ogc:PropertyName>md_content_type</ogc:PropertyName><ogc:Literal>証言・手記</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter><sld:PointSymbolizer><sld:Graphic><sld:ExternalGraphic><sld:OnlineResource
xlink:type="simple"
xlink:href="icon06m_shougenshuki.png"/><sld:Format>image/png</sld:Format></sld:ExternalGraphic><sld:Size>20.0</sld:Size></sld:Graphic></sld:PointSymbolizer></sld:Rule></sld:FeatureTypeStyle></sld:UserStyle></sld:UserLayer></sld:StyledLayerDescriptor>
レイヤープレビューで表示させると、アイコンが赤い四角からアイコンの表示に切り替わっていることが確認できる。
これで Geoserver の設定は完了である。E コミマップの場合、地図追加において WMS
Capabilities の URL を入力して追加すると、以下のように主題図に地図が追加でき、地図上のアイコンをクリックするとコンテンツが表示され、その内容から個別のアーカイブ
データの詳細ページへ移動できる。

28

29