シームレス地質図APIで地点の地質を調べる

執筆:NextLogic元SE・IT実務15年/政府オープンデータ・各府省APIを自ら検証) / 最終更新:2026-07-15

産総研(地質調査総合センター)の「20万分の1日本シームレス地質図」は、日本全国の地質を継ぎ目なく1枚にまとめた地質図で、APIが公開されています。緯度経度を投げるだけで、その地点が「いつの時代の、どんな岩石か」が日本語で返ってきます。登録もAPIキーも不要です。防災・不動産・土木の文脈で「この場所の地盤は何か」を機械的に調べたいときに便利ですが、精度の限界を知らずに使うと危険な誤用につながります。このガイドでは、何が取れるかと、実際に叩いて確認した挙動・限界を整理します。

緯度経度から何が返るか

ベースURLは `https://gbank.gsj.jp/seamless/v2` です。地点の地質を引くには `GET /api/1.2/legend.json?point=<緯度>,<経度>` を叩きます。認証は不要です。

実際に東京駅(35.681236, 139.767125)を投げると、シンボル記号(symbol)、凡例色のRGB値、地質時代(formationAge_ja: 「新生代 第四紀 完新世」)、岩石区分(group_ja: 「堆積岩」)、岩相(lithology_ja: 「谷底平野・山間盆地・河川・海岸平野堆積物」)が返ってきます。英語版のフィールド(formationAge_en / group_en / lithology_en)も同時に入っています。

妥当性を確かめるために富士山頂(35.3606, 138.7274)でも試したところ、group_ja が「火成岩」、lithology_ja が「玄武岩 溶岩・火砕岩」と返りました。富士山が玄武岩質の成層火山であることと一致しており、データは信頼できます。

凡例は「引かなくていい」(ただし全件取得すると1MB)

地質図のAPIというと、「まず地点を引いてシンボル記号を得て、次に凡例テーブルでその記号の意味を引く」という2段構えを想像しがちですが、このAPIではその必要がありません。地点を引いた時点で、地質時代・岩石区分・岩相がすべて日本語で展開されて返ってくるからです。symbol の `H_sad` のような記号を自力で解読する場面はありません。

凡例の全件取得(`/api/1.2/legend.json` をパラメータなしで叩く)は、シンボルと色の対応表が全部必要な場合──たとえば自分で地質図を描画する場合──に使います。実測では約2,416件・約1MBが返りました。産総研の「V2では計2,400超の凡例」という説明とも一致します。単一地点の解釈のために毎回これを取るのは無駄なので、用途を分けてください。

なお両者は同じ `legend.json` というエンドポイントで、`point` パラメータの有無だけが違います。付ければ1件、付けなければ全件です。

範囲外の座標を渡すと500が返る

実装で必ず踏むのがこれです。日本の陸域から外れた座標を渡すと、空のレスポンスでも404でもなく、**HTTP 500 Internal Server Error** が返ってきます。実測では、赤道上(0,0)・ニューヨーク・ソウル、そして東京湾の沖合(35.5, 139.9)のいずれも500でした。

公式のAPIドキュメントには「不正なパラメータはHTTP 400でJSONのエラー詳細を返す」と書かれていますが、範囲外・データなしの地点については実挙動が500です。ドキュメントと実際が食い違っている状態なので、ステータスコードだけを見て「400ならユーザー入力ミス、500ならサーバー障害」と切り分ける設計にすると、正常な範囲外リクエストをサーバー障害として扱ってしまいます。

ユーザーが地図上をクリックして地質を引く、といったUIを作るなら、海の上をクリックされることは日常的に起きます。500を「その地点にデータが無い」として穏当に扱うエラーハンドリングが必要です。

また、沖合の座標が軒並み500になることから、このデータは陸域が中心で海域(海底地質)はカバーしていない可能性が高いと考えられます。ただし公式に「海域を含まない」と明記された記述は見つけられなかったため、これは実測からの推定です。

精度の限界:20万分の1を超えない(最重要)

このAPIで最も注意すべきは、技術ではなく精度の解釈です。産総研は公式に次のように明記しています。「20万分の1日本シームレス地質図は画面上で一定程度拡大できますが、位置や分布精度については元となる20万分の1地質図以上にならないことをご留意ください」。

つまり、APIは緯度経度を小数点以下6桁まで受け取りますし、画面上ではいくらでも拡大できますが、**地質境界線の位置精度は20万分の1地形図の精度を超えません**。「この番地の地質」「この建物の地盤」といった土地単位の判定には使えない、ということです。返ってくる答えが具体的で日本語なので、つい精密なデータだと錯覚しますが、そこが落とし穴です。

広域の傾向を掴む、地域ごとの地質分布を比較する、といった使い方が本来の用途です。個別の土地の地盤を判断する目的なら、ボーリング柱状図など別の精度のデータに当たる必要があります。この点をUIや出力に明記しておかないと、利用者に誤解を与えかねません。

利用条件(出典表記で自由に二次利用可)

政府標準利用規約(第2.0版)に準拠しており、出典を記載すれば改変を含む自由な二次利用が可能です。利用申請の手続きも不要です。

出典表記は「産総研地質調査総合センター,20万分の1日本シームレス地質図V2」を基本形とし、必要に応じてバージョンやURLを付記します。著作権表示は「©The Research Institute of Geology and Geoinformation (AIST) All Rights Reserved.」です。なお「シームレス地質図」は産総研地質調査総合センターの登録商標です。

商用利用を明示的に禁じる記述は見当たりませんが、「商用利用可」と明言した一文を確認できたわけでもありません。商用サービスに組み込む場合は、規約本文を直接確認しておくと安全です。

実際に叩いてみる(産総研シームレス地質図・登録不要)

緯度経度を渡すと、その地点の地質時代・岩相・岩石区分がJSONで返ります(登録不要)。海上・国外・不正な座標を渡すと全項目 null になったり 404 が返るので、陸地の有効な座標かを先に確かめるのが実装のコツです。凡例全件(legend.json)は約1MBある点も注意します。

地点の地質を取得(2026-07-18 実取得)
curl -s "https://gbank.gsj.jp/seamless/v2/api/1.2/legend.json?point=36.2,137.9"

# 実際のレスポンス(陸地の点)
{
  "symbol": "Q31_std",
  "formationAge_ja": "新生代 第四紀 後期更新世前期",
  "group_ja": "堆積岩",
  "lithology_ja": "段丘堆積物"
}
# ※海上・国外・不正な座標では全項目 null(または 404)が返る

出典

この記事を書いた人
NextLogicCiviNavi 主筆

元システムエンジニア。Web系アプリ開発6年+ソリューション9年、IT実務およそ15年。個人開発者として、政府オープンデータや各府省のAPIを実際に叩いて検証し、「何が取れるか」「実装時にどこで詰まるか」「どう活用するか」を一次検証にもとづいて記録しています。

運営者・検証方針について →
自分のAIに接続する →83ツールを見る

ほかのガイド

e-Stat APIで何が取れるか早わかり日本政府のオープンデータAPIの始め方RESAS廃止後の代替データAPI気象庁の天気予報・地震情報をAPIで取得する法令を全文検索・取得する(e-Gov法令API)住所を緯度経度に変換する(国土地理院ジオコーディング)日本銀行の時系列統計(為替・金利・マネー)を取得する国会の会議録・発言を検索・取得する(国会会議録API)法人番号・gBizINFO・EDINETで企業情報を調べる地震ハザード・地質・地震/津波をAPIで調べる不動産の取引価格・地価をAPIで調べるEDINET APIで何が取れるか早わかりJ-STAGE APIで論文を検索するPLATEAU 3D都市モデルをAPIで探すjGrants APIで補助金・助成金を検索する雇用・賃金の統計をAPIで取るCiNii Research APIで論文・研究データを横断検索するそらまめくんAPIで大気汚染データを取る国立国会図書館サーチAPIで書誌を検索するJAXAの衛星データをAPIで探す(STAC)ジャパンサーチ・IRDB・researchmap をAPIで使い分けるパブリックコメントをRSSで自動監視する外務省の海外安全情報をAPIで取るミラサポplus APIで中小企業の支援事例を探す
← ガイド一覧