2023年10月25日水曜日

産総研の地質調査総合センターのSeamless Digital Geological Map of Japan (1:200,000)をマップ背景にする

産業技術総合研究所の地質調査総合センターが公開しているSeamless Digital Geological Map of Japan (1:200,000)のbasic versionをOracle APEXのマップ・リージョンのマップ背景にしてみます。このデータはOGC WMS(Open Geospatial Consortium - Web Map Service)の仕様をサポートしています。


マップ背景の設定方法については、こちらの記事を参照してください。本記事では、OGC WMSの設定方法について紹介します。

今回使用しているデータは、地質調査総合センターの以下のページで紹介されているものです。



basic versionをクリックすると、WMSサービスのgetCapabilitiesの応答が表示されます。

今回表示しているマップ背景は、以下のように設定しています。

名前:Seamless Digital Geological Map of Japan
タイプ:OGC WMS
WMS URL:https://gbank.gsj.jp/ows/seamlessgeology200k_b_en?version=1.3.0&service=WMS&styles=default&sld_version=1.1.0&layers=line,label,area&CRS=EPSG:3857


こうして作成したマップ背景を、マップ背景として設定しています。今回のマップの設定では、初期位置およびズームとして、タイプ静的値経度139.839478緯度35.652832ズーム・レベルとして、東京の周辺を最初に表示するようにしました。


地質調査総合センターが提供しているWMSのURLに与えるパラメータを調べた方法を説明します。

最初にWMS URLのオンライン・ヘルプを参照します。

BBOX、WIDTH、HEIGHT、REQUEST、FORMAT、SRS / CRSのパラメータは、Oracle APEXから与えられるため、WMS URLには含めません。


先ほどのパラメータよりCRS=EPSG:3857を除いて、マップを表示させてみます。

マップ背景は表示されず、JavaScriptコンソールにエラーが記録されています。


JavaScriptコンソールよりネットワークを開きます。WMSのリクエストはブラウザで動作しているMapLibreのJavaScriptコンポーネントが発行しています

WMSのリクエストのどれかのリンクのアドレスをコピーします。


ブラウザでそのリンクを開きます。エラーメッセージを確認できます。今回の例では、以下のメッセージが返されているため、CRSをパラメータに含める必要があることが分かります。

オンライン・ヘルプではCRS / SRSはAPEXが与えるとなっていますが、実際にはSRSだけが与えられています。SRSがあればCRSを必須としないWMSのサービスが一般的なのかもしれませんが、地質調査総合センターのWMSはそうなっていないようです。

WMS server error. Missing required parameter CRS


大体のケースで、versionservicelayersはマップ背景のWMS URLに含める必要があります。これらのパラメータに指定する値は、getCapabilitiesの応答から見つけることができます。

今回のケースに限りかもしれませんが、Oracle APEXがWMSのリクエストを発行する際にsrs=EPSG:3857を付加していました。そのため、必須パラメータだと言われたCRSとしても同じEPSG:3857を指定する必要がありました。

また、WMSのリクエストを受け付けるサーバー側が特別なHTTPヘッダーを要求している場合もあります。そのようなHTTPヘッダーがあれば、HTTPヘッダーの項目に設定します。

WMSのサービスによっては、Access-Control-Allow-Originヘッダーとしてno-corsを指定するよう指示しているサービスもありました。

属性には、マップ背景のコピーライト情報を記載します。


Oracle APEXのマップ背景としてOGC WMSのサービスを使用する方法について紹介しました。

Oracle APEXのアプリケーション作成の参考になれば幸いです。