User:Mage Whopper/ortho with josm

From OpenStreetMap Wiki
Jump to navigation Jump to search

オルソ化空中写真 WMSをJOSMのWMSプラグインで使用した例。

新宿御苑周辺

Ortho wms josm Shinjukugyoen.jpg 池など水際はよく見えます。

皇居周辺

Ortho wms josm koukyo.jpg とってから気づいたのですが、東京周辺は新しい航空写真も見えるようです。


鶴ヶ城周辺

Ortho wms josm tsurugajo.jpg すばらしいのでとっておきました。

仕様

標準的なWMSとやや異なっており、JOSMのWMSプラグインからそのままでは使えませんが、緯度と経度を逆順で指定することで使えるようになります。

localhostにHTTPサーバを立て、以下のようなスクリプトでURLを変換してあげます。

PHP JOSM(Location)版

$bbox=$_GET["bbox"];
list($uri, $req) = split("\?", $_SERVER['REQUEST_URI']);

list($minLon,$minLat,$maxLon,$maxLat) = explode(",",$bbox);
if($minLon < -180 || $maxLon > 180 || $minLat < -90 || $maxLat > 90 ){
	die("400 Bad Request");
}

$rbbox="&bbox=$minLat,$minLon,$maxLat,$maxLon&";

header	("Location: $url".
			'http://orthophoto.mlit.go.jp:8888/wms/service/wmsRasterTileMap?'.
			preg_replace("/&bbox=[0-9,.]+&/", $rbbox, $req). 
			"\n\n");

これをortho.phpで保存してJOSMのプラグインで

http://localhost/ortho.php?VERSION=1.3.0&REQUEST=GetMap&LAYERS=ORTHO&STYLES=&CRS=EPSG:4612&FORMAT=image/png&BGCOLOR=OxFFFFFF&

を登録します。

あとは他のプラグインと同様にメニューから選んで少し待てば画像が読み込まれます。

1/25000より粗い解像度ではWMSとして動作しません。拡大率を大きくして読み込むようにしてください。失敗すると真っ白な画像を読み込みます(BGCOLORを0xFFFFFFにしているため)。そうなってしまったときは、一度WMSのレイヤーを削除して、拡大して読み込み直すようにする必要があります。

関東より東ではLAYER=ORTHO01〜ORTHO03も航空写真が表示できるようです。

PHP Merkaartor版

Merkaartor 0.14(MacOSX)で動作確認

<?php
/* 
  This software is provided 'as-is', without any express or implied warranty. 
  In no event will the authors be held liable for any damages arising from the use of this software.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.
  
  ORTHO WMS for Merkaartor
*/

$bbox=$_GET["bbox"];
if($bbox==""){
	$bbox=$_GET["BBOX"];
}
list($uri, $req) = split("\?", $_SERVER['REQUEST_URI']);

list($minLon,$minLat,$maxLon,$maxLat) = explode(",",$bbox);
if($minLon < -180 || $maxLon > 180 || $minLat < -90 || $maxLat > 90 ){
	die("400 Bad Request");
}

$rbbox="&bbox=$minLat,$minLon,$maxLat,$maxLon&";
/* bbox入れ替えてURL生成 */
header	("Location: $url".
			'http://orthophoto.mlit.go.jp/wms/service/wmsRasterTileMap?CRS=EPSG:4612&'.
	preg_replace("/VERSION=[123.]+&/","VERSION=1.3.0&",
	preg_replace("/&BBOX=[0-9,.]+/i", "&bbox=$minLat,$minLon,$maxLat,$maxLon", $req)). 
			"\n\n");

?>

Merkaartorでは、

に設定します。測地系はオルソのWMSが見ていない様です。

注意事項 私の環境ではMerkaartorを安定動作させることができません。WMSのサーバを指定して適当な箇所を読み込む程度の動作を完了できたのは数回です。ぱっと見のレベルではズレはみえませんでしたが、要求する画像のサイズなどのお作法がJOSMと異なっていて、同じでいいだろ、と楽観するのはちょっと辛いレベルです。安定動作できる方がいらっしゃいましたら、詳細に書き込まれた地域で確認作業をしていただけると幸いです。m( )m


関連項目