GeoServer で ArcGIS タイルセットを公開する手順

地理空間データの国産化対応や既存資産の再利用要件から、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.xmlD:\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 拡張モジュールの導入

  1. geowebcache-1.26.2-war.war を展開ツール(7-Zip など)で開き、WEB-INF/lib/gwc-arcgiscache-1.26.2.jar をコピー
  2. 貼り付け先:geoserver-2.26.2\webapps\geoserver\WEB-INF\lib\
  3. 同様に、geowebcache-arcgiscache-context.xmlgs-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. 起動と検証

  1. GeoServer を起動:geoserver-2.26.2\bin\startup.bat(Windows)または startup.sh(Linux/macOS)
  2. ブラウザで http://localhost:8080/geoserver/gwc/demo へアクセス
  3. リストに basemap-china が表示され、Preview リンクから WMTS/TMS URL を確認可能
  4. 直接リクエスト例:
    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

タグ: geoserver geowebcache ArcGIS tiles wmts

6月12日 17:14 投稿