コンテンツにスキップ

PLATEAU-Ortho

Project PLATEAU では、航空写真測量によって作成したオルソ画像をタイル化し、PLATEAU-Ortho として配信を行っています。本チュートリアルでは、タイル化技術および PLATEAU-Ortho の利用方法について解説します。

オルソ画像タイルとは、大きなオルソ画像をタイル状に分割したものです。

オルソ画像をタイル化する理由は、現状のインターネットやパソコン、スマホの能力では、大きな画像が重たすぎて、スムーズな配信・表示ができないからです。

PLATEAU VIEW ではオルソ航空写真をあらかじめオルソ画像タイルにしてあるので、どこまでもスクロールしながら綺麗なオルソ画像を楽しむことができるようになっています。PLATEAU VIEW はサーバーから日本全部の画像をダウンロードしているのではなく、その時の表示範囲に必要な画像タイルを、ほんの何十枚かだけ取ってきています。

画像タイル 1 枚のサイズは 256x256 ピクセルの正方形で、非常に小さく軽く作られているので、新しいタイルをどんどんダウンロードしても、表示が重たくなることはありません。

PLATEAU VIEW で見ることのできるオルソ画像タイルは 2 種類あります。

  • Project PLATEAU で新たに整備した PLATEAU-Ortho
  • 国土地理院が整備した日本全国をカバーする地理院タイル全国最新写真(シームレス)

PLATEAU-Ortho の特徴は、国土地理院が整備している 地理院タイル をベースにしつつ、新たに取得したオルソ航空写真を組み合わせ、精度を高めているところです。これにより、全体のカバー率を維持しつつ、ユースケース等に必要な範囲で高精度の地形テクスチャを提供することが可能になっています。また、地理院タイルと比べて新しいデータを利用可能です。

Project PLATEAU が新たに取得したオルソ航空写真は G空間情報センター から GeoTIFF 形式で入手可能です。

Project PLATEAU で配布しているデータの利用許諾については、クリエイティブ・コモンズ・ライセンスの表示 4.0 国際等に準拠していますので、無償かつ商用も含めた利用が可能です。詳しくは Project PLATEAU サイトポリシー をご確認ください。

2023 年度に作成されたデータが利用可能です。

https://api.plateauview.mlit.go.jp/tiles/plateau-ortho-2023/{z}/{x}/{y}.png

ズームレベルは 10〜19 に対応しています。

地域コード都道府県市町村データ提供年度
01100北海道札幌市2020
03201岩手県盛岡市2024
03202岩手県宮古市2024
04100宮城県仙台市2022
05204秋田県大館市2024
07201福島県福島市2024
07203福島県郡山市2020
07204福島県いわき市2020
07205福島県白河市2020
07209福島県相馬市2023
09201栃木県宇都宮市2020
10201群馬県前橋市2023
10207群馬県館林市2020
11202埼玉県熊谷市2024
11203埼玉県川口市2024
11208埼玉県所沢市2024
11210埼玉県加須市2023
11214埼玉県春日部市2023
11217埼玉県鴻巣市2024
11222埼玉県越谷市2023
11223埼玉県蕨市2024
11228埼玉県志木市2024
11230埼玉県新座市2024
11232埼玉県久喜市2023
11234埼玉県八潮市2023
11235埼玉県富士見市2024
11237埼玉県三郷市2024
11238埼玉県蓮田市2022
11240埼玉県幸手市2024
11241埼玉県鶴ヶ島市2024
11243埼玉県吉川市2023
11246埼玉県白岡市2023
11301埼玉県伊奈町2024
11324埼玉県三芳町2024
11385埼玉県上里町2024
11442埼玉県宮代市2023
11464埼玉県杉戸市2023
11465埼玉県松伏町2023
12210千葉県茂原市2022
12217千葉県柏市2020
13100東京都23区2023
13213東京都東村山市2020
13219東京都狛江市2023
13229東京都西東京市2022
14100神奈川県横浜市2023
14130神奈川県川崎市2022
14204神奈川県鎌倉市2024
15202新潟県長岡市2023
15222新潟県上越市2023
17206石川県加賀市2022
19201山梨県甲府市2022
20202長野県松本市2020
20204長野県岡谷市2020
20206長野県諏訪市2023
20209長野県伊那市2020
20214長野県茅野市2022
20220長野県安曇野市2024
21202岐阜県大垣市2024
22203静岡県沼津市2020
22213静岡県掛川市2020
23100愛知県名古屋市2020
23201愛知県豊橋市2023
23206愛知県春日井市2023
23207愛知県豊川市2022
23208愛知県津島市2020
24202三重県四日市市2023
26100京都府京都市2022
27100大阪府大阪市2024
27203大阪府豊中市2020
27204大阪府池田市2020
28201兵庫県姫路市2023
28210兵庫県加古川市2020
28225兵庫県朝来市2022
31202鳥取県米子市2024
31384鳥取県日吉津村2023
32204島根県益田市2024
33211岡山県備前市2023
34100広島県広島市2022
34304広島県海田町2024
36201徳島県徳島市2023
37201香川県高松市2022
38201愛媛県松山市2020
40202福岡県大牟田市2023
40203福岡県久留米市2020
40225福岡県うきは市2023
40447福岡県筑前町2023
42323長崎県波佐見町2024
43100熊本県熊本市2020
43206熊本県玉名市2020
43443熊本県益城町2023
47201沖縄県那覇市2020

2020 年度に作成されたデータが WMS で利用可能です。

サービスアドレス:

https://plateauortho.geospatial.jp/mapproxy/service

WMS バージョン: 1.1.1 または 1.3.0 に準拠。

サポートする WMS リクエスト: GetCapabilities, GetMap

座標系: EPSG:4326、EPSG:3857、EPSG:900913、CRS:84

レイヤー:

レイヤー名内容
plateauPLATEAU-Ortho
photo国土地理院の写真(ベースマップ)
plateau_photoplateauphoto の重ね合わせ

リクエスト例:

  • GetCapabilities

    https://plateauortho.geospatial.jp/mapproxy/service?REQUEST=GetCapabilities
  • GetMap (EPSG:3857)

    https://plateauortho.geospatial.jp/mapproxy/service?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=15528612.30738627352,4234060.365724110045,15581327.2790426109,4277115.012342031114&CRS=EPSG:3857&WIDTH=1075&HEIGHT=878&LAYERS=plateau_photo&STYLES=&FORMAT=image/png&TRANSPARENT=TRUE
  • GetMap (EPSG:4326)

    https://plateauortho.geospatial.jp/mapproxy/service?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=35.62364808927861759,139.853018468884585,35.67783063591231496,139.9193581472800645&CRS=EPSG:4326&WIDTH=1075&HEIGHT=878&LAYERS=plateau_photo&STYLES=&FORMAT=image/png&TRANSPARENT=TRUE

ズームレベル: ズームレベル 19 までの拡大が可能で、約 30cm の解像度に相当します。

ズームレベル画像解像度
10153m
1176m
1238m
1319m
1410m
155m
162m
171.2m
180.6m
190.3m

本節では、PLATEAU-Ortho(XYZ タイル)を CesiumJS、TerriaJS、Leaflet、QGIS で利用する方法について解説します。

CesiumJS は一般的に使われている 3 次元地図を表示するための JavaScript ライブラリです。

CesiumJS でオルソ画像タイルを利用するには、地形モデルもあわせて使用することをおすすめします。ここでは、地形データとして PLATEAU-Terrain を利用し、PLATEAU-Ortho を表示するためのサンプルコードを示します。

PLATEAU-Terrain については PLATEAU-Terrain を、建物モデルは PLATEAU-3DTiles/MVT を参照してください。

<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PLATEAU-3DTiles/MVT、PLATEAU-Ortho、PLATEAU-Terrain を Cesium で表示</title>
<script src="https://cesium.com/downloads/cesiumjs/releases/1.117/Build/Cesium/Cesium.js"></script>
<link href="https://cesium.com/downloads/cesiumjs/releases/1.117/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
<style>
#cesiumContainer { position: absolute; top: 0; left: 0; height: 100%; width: 100%; margin: 0; }
html, body { height: 100%; margin: 0; padding: 0; overflow: hidden; }
</style>
</head>
<body>
<div id="cesiumContainer"></div>
<script>
Cesium.Ion.defaultAccessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlNjk0MTM4NC1lMWI0LTQxNTgtYjcxZS01ZWJhMGJlMTE1MWQiLCJpZCI6MTQ5ODk3LCJpYXQiOjE3MTUxNTEyODZ9.2aUmEQ2-fDsjf-XeC6-hZpwkgwLse3yXoXF4xTOvPAY";
const viewer = new Cesium.Viewer("cesiumContainer", {});
viewer.scene.setTerrain(
new Cesium.Terrain(Cesium.CesiumTerrainProvider.fromIonAssetId(2488101)),
);
viewer.scene.imageryLayers.addImageryProvider(
new Cesium.UrlTemplateImageryProvider({
url: 'https://api.plateauview.mlit.go.jp/tiles/plateau-ortho-2023/{z}/{x}/{y}.png',
maximumLevel: 19
})
);
Cesium.Cesium3DTileset.fromUrl(
'https://assets.cms.plateau.reearth.io/assets/0e/e5948a-e95c-4e31-be85-1f8c066ed996/13101_chiyoda-ku_pref_2023_citygml_1_op_bldg_3dtiles_13101_chiyoda-ku_lod1/tileset.json'
).then((tileset) => viewer.scene.primitives.add(tileset));
viewer.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(139.76, 35.68, 5000.0)
});
</script>
</body>
</html>

TerriaJS のカタログファイルに以下のように記述することで、PLATEAU-Ortho を TerriaJS のレイヤとして組み込むことができます。

{
"type": "open-street-map",
"id": "/basemap//オルソ画像タイル/imagery",
"name": "航空写真",
"url": "https://api.plateauview.mlit.go.jp/tiles/plateau-ortho-2023/",
"fileExtension": "png",
"attribution": ""
}

Project PLATEAU では PLATEAU VIEW 1.1 およびそのための カタログファイルジェネレータ のソーススクリプトを公開していますので、そちらも参照してください。

以下の HTML は Leaflet でオルソ画像タイルを表示するサンプルです。ortho_test.html などの名前で PC に保存して、ブラウザで開いてみてください。

<html lang="ja">
<head>
<title>Leaflet で PLATEAU-Ortho を表示する</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const map = L.map('map').setView([35.68, 139.76], 14);
map.options.minZoom = 10;
map.options.maxZoom = 18;
L.tileLayer('https://api.plateauview.mlit.go.jp/tiles/plateau-ortho-2023/{z}/{x}/{y}.png', {
attribution: '<a href="https://www.mlit.go.jp/plateau/">国土交通省 Project PLATEAU</a>'
}).addTo(map);
});
</script>
</head>
<body>
<div id="map" style="width: 80%; height: 600px; border: solid 1px"></div>
</body>
</html>

QGIS は Windows や Mac で使える、オープンソースの GIS ソフトです。QGIS では GIS データを表示するときの背景図として、PLATEAU-Ortho を使うことができます。

  1. QGIS のブラウザタブにある「XYZ Tiles」を右クリックして、「新規接続」を選びます

    QGIS XYZ メニュー

  2. 下図のウインドウが出てきますので、名前、URL、最大ズームレベルを記入してください

    • URL 欄に https://api.plateauview.mlit.go.jp/tiles/plateau-ortho-2023/{z}/{x}/{y}.png を入力
    • 最大ズームレベルは 19
    • 「OK」を押します

    QGIS XYZ ダイアログ

  3. ブラウザウインドウに「PLATEAU-Ortho 画像タイル」が追加されます

  4. 地図にオルソ画像タイルを組み込んで表示。最初に「OpenStreetMap」をつかんでレイヤタブに入れ、次に「PLATEAU-Ortho 画像タイル」をつかんでレイヤタブに入れます

    QGIS ドラッグ&#x26;ドロップ

  5. 拡大すると、PLATEAU-Ortho の画像タイルが表示されます

    QGIS マップ

4. オルソ画像タイルを作成する方法

Section titled “4. オルソ画像タイルを作成する方法”

オルソ画像タイルを作るには専用のソフトウェアを利用します。

Project PLATEAU では、大量のオルソ画像のタイル化を効率的に行うために、FME という市販のソフトウェアを利用していますが、オープンソースやフリーソフトでも、オルソ画像タイルを作成することができます。

例えば、以下のウェブサイトでは QGIS というオープンソースの GIS ソフトを利用したタイル生成の方法が紹介されています。

オルソ画像タイルを作成する手順は以下の 2 ステップです。

  1. オルソ画像の準備: オルソ画像の材料は航空写真や衛星画像です。普通は航空測量会社やリモートセンシング技術センターなどから購入することになりますが、小さな範囲であれば、ドローンを使って自前のオルソ航空写真を作成することができます。なおドローン撮影には一般的に関係部署の許可が必要です。
  2. オルソ画像のタイル化: オルソ画像を専用ソフトに読み込ませて、オルソ画像タイルを保存します。