2010年6月9日水曜日

OpenLayers57g OpenStreetMap & GeoWebCache - GeoWebCache の設定ファイル 7

GeoWebCache 投影法を EPSG:2456でキャッシュ
- geowebcache.xml ファイルを作成


EPSG:4326、EPSG:900913 以外の投影法のキャッシュを作成するときは geowebcache.xml ファイルを作成することで実現できます。

geowebcache.xml の場所については、

GeoWebCache の Configurating Layers
http://geowebcache.org/docs/current/configuration/xml/index.html

には、

WEB-INF/classes/geowebcache.xml

5. GWC - GeoWebCache(前バージョンのマニュアル)
http://geoserver.org/display/GEOSDOC/5.+GWC+-+GeoWebCache

には、例えばということで

data_dir/gwc/geowebcache.xml

になっています。
今回は、

geoserver-2.0.1/wbapps/geoserver/WEB-INF/classes/geowebcache.xml

で試してみます。
(geowebcache.xml の場所を変えるには WEB-INF/geowebcache-servlet.xml で設定すると記述されています。)

geowebcache.xml の内容は

Simple Configuration Examples
http://geowebcache.org/docs/current/configuration/xml/simple.html

の Simple を参考に次のようにします。

<gwcConfiguration>
<!-- ... -->
<layers>
<!-- ... -->
<wmsLayer>
<name>sde:japan_highway</name>
<!-- <wmsUrl><string>http://localhost:8080/geoserver/wms</string></wmsUrl> -->
<mimeFormats><string>image/png</string></mimeFormats>
<gridSubsets>
<gridSetName>EPSG:2456</gridSetName>
<extent>
<coords>
<double>-279000</double>
<double>1054000</double>
<double>-185000</double>
<double>1104000</double>
</coords>
</extent>
<zoomStart>13</zoomStart><zoomStart>0</zoomStart>
<zoomStop>13</zoomStop>
</gridSubsets>
<wmsLayers>sde:japan_highway</wmsLayers>
<wmsUrl>
<string>http://localhost:8080/geoserver/wms</string>
</wmsUrl>
<bgColor>0x0066FF</bgColor>
<palette>popshade</palette>
</wmsLayer>
<!-- ... -->
</layers>
</gwcConfiguration>

この様なエラーが表示されました。

---
08 3 20:02:59 ERROR [context.ContextLoader] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gwcXmlConfig' defined in URL [jar:file:/home/user/geoserver-2.0.1/webapps/geoserver/WEB-INF/lib/gwc-2.0.1.jar!/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.geowebcache.config.XMLConfiguration]: Constructor threw exception; nested exception is java.lang.NullPointerException

このエラーは、XML ファイルが文章ルール通りでないと、他の XML ファイルを参照するために発生するようです。

geowebcache.xml を

Complete List of Configuration Elements
http://geowebcache.org/docs/current/configuration/xml/exhaustive.html

に従って作成しました。

<?xml version="1.0" encoding="utf-8"?>
<gwcConfiguration
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://geowebcache.org/schema/1.2.2/geowebcache.xsd"
xmlns="http://geowebcache.org/schema/1.2.2">
<version>1.2.1</version>
<formatModifiers>
<formatModifier>
<responseFormat>image/jpeg</responseFormat>
<requestFormat>image/png</requestFormat>
<transparent>true</transparent>
<!-- OPTIONAL Background color
<bgColor>0x0066DD</bgColor> -->
<!-- OPTIONAL Palette used on WMS server
<palette>somepalette</palette> -->
<!-- OPTIONAL Tune the compression level, 1.0 is best quality -->
<compressionQuality>0.9</compressionQuality>
</formatModifier>
</formatModifiers>
<gridSets>
<gridSet>
<name>EPSG:2456</name>
<srs><number>2456</number></srs>
<extent>
<coords>
<double>-279000</double>
<double>1054000</double>
<double>-185000</double>
<double>1104000</double>
</coords>
</extent>
</gridSet>
</gridSets>
<layers>
<!-- ... -->
<wmsLayer>
<name>sde:japan_highway</name>
<mimeFormats>
<string>image/png</string>
<string>image/jpeg</string>
</mimeFormats>
<gridSubsets>
<gridSubset>
<gridSetName>EPSG:2456</gridSetName>
<extent>
<coords>
<double>-279000</double>
<double>1054000</double>
<double>-185000</double>
<double>1104000</double>
</coords>
</extent>
<zoomStart>0</zoomStart>
<zoomStop>25</zoomStop>
</gridSubset>
</gridSubsets>
<wmsUrl>
<string>http://localhost:8080/geoserver/wms</string>
</wmsUrl>
<wmsLayers>sde:japan_highway</wmsLayers>
<!-- <bgColor>0x0066FF</bgColor>
<palette>popshade</palette> -->
</wmsLayer>
<!-- ... -->
</layers>
</gwcConfiguration>

GeoServer のログイン画面の左側の欄の Services -> GWC をクリックします。
GeoWebCache 画面の Automatically Generated Demos: の 「A list of all the layers and automatic demos」リンクをクリックします。
GeoWebCache Demo 画面の sde:japan_highway に EPSG:2456 が追加されているので、OpenLayers の png をクリックして確かめてみます。

0 件のコメント: