国立研究開発法人産業技術総合研究所地質調査総合センター(GSJ)が提供するシームレス地質図や、国土交通省国土地理院が提供するハザードマップをLeafletの背景地図にオーバーレイ表示します。
使い方
1.オーバーレイレイヤーを作成
var _aist = L.tileLayer('https://gbank.gsj.jp/seamless/v2/api/1.2.1/tiles/{z}/{y}/{x}.png?layer=glfs', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://www.gsj.jp/license/index.html" target="_blank">GSJ, AIST</a>'
});
2.地図選択コントローラーの作成
var Overlays = {
'シームレス地質図': _aist,
'洪水浸水想定区域(想定最大規模)': _overlay1,
'浸水継続時間(想定最大規模)': _overlay2,
'高潮浸水想定区域': _overlay3,
'津波浸水想定': _overlay4,
'土砂災害警戒区域(土石流)': _overlay5,
'土砂災害警戒区域(急傾斜地の崩壊)': _overlay6,
'土砂災害警戒区域(地すべり)': _overlay7,
'土石流危険渓流': _overlay8,
'急傾斜地崩壊危険箇所': _overlay9,
'地すべり危険箇所': _overlay10,
'雪崩危険箇所': _overlay11
};
デフォルト表示は下記の通りです。css等で表示スタイルを変更することも可能です。
![](https://blog.dpto.jp/wp/wp-content/uploads/2023/08/overlay.jpg)
3.Mapへ設定
L.control.layers(Layers, Overlays, { collapsed: true }).addTo(_map);
全体コード
<html lang="ja">
<head>
<title>Leafletの地図のオーバーレイ</title>
<meta charset="utf-8">
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css">
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
</head>
<body>
<div id="map" style="width:100%;height:100%"></div>
<script>
//表示位置を設定
var _map = L.map('map');
//初期表示時に中心座標とズームレベルを設定
_map.setView([35.6895, 139.69172], 10);
//初期表示時の表示地図を設定
var _gsi_std = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', {
attribution: "<a href='https://maps.gsi.go.jp/development/ichiran.html' target='_blank'>国土地理院</a>"
}).addTo(_map);
//シームレス地質図を設定
var _aist = L.tileLayer('https://gbank.gsj.jp/seamless/v2/api/1.2.1/tiles/{z}/{y}/{x}.png?layer=glfs', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://www.gsj.jp/license/index.html" target="_blank">GSJ, AIST</a>'
});
//洪水浸水想定区域(想定最大規模)を設定
var _overlay1 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/01_flood_l2_shinsuishin_data/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//浸水継続時間(想定最大規模)を設定
var _overlay2 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/01_flood_l2_keizoku_data/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//高潮浸水想定区域を設定
var _overlay3 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/03_hightide_l2_shinsuishin_data/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//津波浸水想定を設定
var _overlay4 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/04_tsunami_newlegend_data/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//土砂災害警戒区域(土石流)を設定
var _overlay5 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/05_dosekiryukeikaikuiki/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//土砂災害警戒区域(急傾斜地の崩壊)を設定
var _overlay6 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/05_kyukeishakeikaikuiki/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//土砂災害警戒区域(地すべり)を設定
var _overlay7 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/05_jisuberikeikaikuiki/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//土石流危険渓流を設定
var _overlay8 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/05_dosekiryukikenkeiryu/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//急傾斜地崩壊危険箇所を設定
var _overlay9 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/05_kyukeisyachihoukai/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//地すべり危険箇所を設定
var _overlay10 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/05_jisuberikikenkasyo/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
//雪崩危険箇所を設定
var _overlay11 = L.tileLayer('https://disaportaldata.gsi.go.jp/raster/05_nadarekikenkasyo/{z}/{x}/{y}.png', {
opacity: 0.5, maxNativeZoom: 17,
attribution: '<a href="https://disaportal.gsi.go.jp/hazardmap/copyright/opendata.html" target="_blank">ハザードマップポータルサイト</a>'
});
var Layers = {
'国土地理院(標準地図)': _gsi_std
};
var Overlays = {
'シームレス地質図': _aist,
'洪水浸水想定区域(想定最大規模)': _overlay1,
'浸水継続時間(想定最大規模)': _overlay2,
'高潮浸水想定区域': _overlay3,
'津波浸水想定': _overlay4,
'土砂災害警戒区域(土石流)': _overlay5,
'土砂災害警戒区域(急傾斜地の崩壊)': _overlay6,
'土砂災害警戒区域(地すべり)': _overlay7,
'土石流危険渓流': _overlay8,
'急傾斜地崩壊危険箇所': _overlay9,
'地すべり危険箇所': _overlay10,
'雪崩危険箇所': _overlay11
};
L.control.layers(Layers, Overlays, { collapsed: true }).addTo(_map);
</script>
</body>
</html>
コメント