国土地理院APIとは
国土地理院(国交省所管)は日本の地図情報・地理空間データの整備・管理を行う機関です。国土地理院が提供するAPIを使うと、日本全国の地図タイル・標高データ・住所情報などを無料(出典明示の条件付き)で利用できます。Google Maps APIの高額な料金が課題になる場合の代替選択肢として注目されています。
地理院タイル(地図タイルAPI)
地理院タイルはウェブ地図に利用できるラスタータイル形式の地図データです。ZXYタイルの標準フォーマットに準拠しており、LeafletやOpenLayersなどのウェブマップライブラリで簡単に利用できます。
主要な地図種別
- 標準地図:一般的な地図表示(建物・道路・地名等)
- 淡色地図:コントラストを抑えたシンプルな背景地図
- 白地図:行政界のみのシンプルな地図
- 写真(航空写真):最新の空中写真タイル
- 色別標高図:標高を色で表現した地図
- 土地条件図:水害リスク・地盤情報を示す地図
タイルURLの形式
https://cyberjapandata.gsi.go.jp/xyz/{レイヤーID}/{z}/{x}/{y}.png
例:標準地図のタイルID は「std」です。
Leafletでの利用例
const map = L.map('mapid').setView([35.6762, 139.6503], 12);
// 地理院タイル(標準地図)を使用
L.tileLayer(
'https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png',
{
attribution: '© 国土地理院',
maxZoom: 18
}
).addTo(map);
標高API
任意の緯度・経度の標高値をAPIで取得できます。ハイキングアプリ・防災システム・ドローン飛行制限マップなどの開発に活用されています。
標高APIの利用方法
GET https://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php
?lon=139.6503
&lat=35.6762
&outtype=JSON
レスポンス例:
{
"elevation": 17.3,
"hsrc": "5m(レーザー)"
}
hsrcフィールドはデータソース(レーザー測量・空中写真等)を示し、精度の目安になります。
地名検索API(逆ジオコーディング)
国土地理院の「地名検索API」を使うと、緯度・経度から住所・地名を取得する逆ジオコーディングが可能です。無料で利用でき、日本の地名に特化した精度の高いデータが特徴です。
ベクタータイル
国土地理院は地物の形状・属性情報をデータとして持つ「ベクタータイル」も提供しています。ラスタータイルと異なりズームレベルに関わらず鮮明な表示が可能で、地物の属性情報を使った分析・可視化にも適しています。MapboxGLやMapLibreとの組み合わせで活用されます。
地理院地図との連携
地理院地図(maps.gsi.go.jp)はブラウザで地理院タイルを閲覧できるWebアプリケーションです。URLパラメーターで特定の地点・ズームレベルを指定したリンクを生成でき、自社サービスからの地図リンクに活用できます。
使い分けのガイドライン
| 用途 | 推奨API |
|---|---|
| 低コスト・日本国内限定の地図表示 | 地理院タイル |
| 標高データが必要 | 国土地理院 標高API |
| グローバル対応・Places検索が必要 | Google Maps Platform |
| カスタムスタイルの地図 | Mapbox / MapLibre |
| オープンソース・無料 | OpenStreetMap + Nominatim |
まとめ
国土地理院のAPIは日本に特化した無料の地図・地理情報ソースとして非常に価値があります。地図タイルAPIはLeafletと組み合わせるだけで簡単に実装でき、標高APIは防災・アウトドア・インフラ系アプリに欠かせないデータを提供します。Google Maps APIのコストが課題になる場合や、国産データへのこだわりがある場合に積極的に活用してください。