地理空間データの国産化対応や既存資産の再利用要件から、ArcGIS 形式の事前生成タイル(.tpk / conf.xml + _alllayers 構造)を GeoServer 経由で OGC 標準サービス(WMTS/TMS)として提供するニーズが増加しています。本稿では、GeoServer 2.26.x と GeoWebCache 1.26.x を用いた最新の統合手法を、実行可能な構成を中心に解説します。
1. 必要コンポーネントの準備
- GeoServer 2.26.2:公式サイトよりダウンロード(
geoserver-2.26.2-war.zip推奨) - GeoWebCache 1.26.2:独立版 WAR パッケージ(
geowebcache-1.26.2-war.war)を取得 - ArcGIS タイルディレクトリ構造:以下を含む有効なパス(例:
D:\tiles\arcgis\conf.xmlとD:\tiles\arcgis\_alllayers\)
2. ディレクトリ構成と初期設定
作業ディレクトリは全角・スペース・日本語文字を含まない英数字パスを推奨します。例:
D:\gs-deploy\
├── geoserver-2.26.2\
├── tiles\
│ └── arcgis\ ← ArcGIS タイルルート
│ ├── conf.xml ← tiling scheme 定義
│ └── _alllayers\ ← L0~L20 の PNG/JPEG フォルダ群
└── gwc-cache\ ← GeoWebCache キャッシュ格納先(任意)
3. GeoServer のカスタム起動設定
geoserver-2.26.2\webapps\geoserver\WEB-INF\web.xml を編集し、キャッシュディレクトリを明示的に指定します:
<context-param>
<param-name>GEOWEBCACHE_CACHE_DIR</param-name>
<param-value>D:/gs-deploy/gwc-cache</param-value>
</context-param>
※ Windows 環境ではスラッシュ / 使用が推奨(バックスラッシュはエスケープ問題を引き起こす可能性あり)
4. GeoWebCache 拡張モジュールの導入
geowebcache-1.26.2-war.warを展開ツール(7-Zip など)で開き、WEB-INF/lib/gwc-arcgiscache-1.26.2.jarをコピー- 貼り付け先:
geoserver-2.26.2\webapps\geoserver\WEB-INF\lib\ - 同様に、
geowebcache-arcgiscache-context.xmlをgs-gwc-2.26.2.jar内のMETA-INF/spring/へ追加(jar を展開→ファイル挿入→再パック)
5. タイルレイヤーの宣言(geowebcache.xml)
D:/gs-deploy/gwc-cache/geowebcache.xml(初回起動後に自動生成)を編集し、<layers> セクションに以下を追加:
<arcgisLayer>
<name>basemap-china</name>
<tilingScheme>D:/gs-deploy/tiles/arcgis/conf.xml</tilingScheme>
<tileCachePath>D:/gs-deploy/tiles/arcgis/_alllayers</tileCachePath>
<gridSubsets>
<gridSubset>EPSG:3857</gridSubset>
</gridSubsets>
</arcgisLayer>
※ <gridSubset> は ArcGIS タイルの座標系(通常 Web Mercator)に合わせて指定
6. 起動と検証
- GeoServer を起動:
geoserver-2.26.2\bin\startup.bat(Windows)またはstartup.sh(Linux/macOS) - ブラウザで
http://localhost:8080/geoserver/gwc/demoへアクセス - リストに
basemap-chinaが表示され、Previewリンクから WMTS/TMS URL を確認可能 - 直接リクエスト例:
http://localhost:8080/geoserver/gwc/service/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&LAYER=basemap-china&STYLE=&TILEMATRIXSET=EPSG:3857&TILEMATRIX=EPSG:3857:10&TILEROW=321&TILECOL=642&FORMAT=image/png