2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

osmdroid-wms を使って国土国交省の Capabilitiesを解析し地図画像を表示する

Last updated at Posted at 2019-03-23

mdroid-wms を使ってAndroid に国土国交省の地図画像を表示する
の続きです

WMS の Capabilities

WMSサーバで配信しているレイヤ(地図画像のデータセット)の一覧をXML形式で記述したもの

国交省のCapabilities機能の説明
http://nlftp.mlit.go.jp/webmapc/help.html#N3-1

osmdroid-wms の WMSParser

Capabilities を解析するXMLパーサー

HtpURLConnection  c = (HttpURLConnection) new URL(Capabilitiesのurl).openConnection();
InputStream is = c.getInputStream();
WMSEndpoint endpoint = WMSParser.parse(is);
// レイヤの一覧
List<WMSLayer> list = endpoint.getLayers();

レイヤの一覧をListView に表示する。
2000件くらいある。
レイヤ名の一覧が表示されるが、中身が推測できない。
wms2_name_list.png

下記から、レイヤ名と名称の対応表を作成する。

国交省の地図レイヤ定義一覧
http://nlftp.mlit.go.jp/webmapc/LayerList.html

Python の BeautifulSoup を使用した。
ソースコードはこちら。
https://github.com/ohwada/Android_Samples/blob/master/tools/python/parse_milt_layer_list.py

作成した対応表の例
800件くらいある。

N03-180101_100, H29_都道府県界
N02-17_100, H29_鉄道

勘案すると、中身が推測できない状態で、1000件ほど公開されていることになります。
勿体ないな。

Capabilitiesの解析結果と合わせてListView に表示する。
wms2_title_list.png

レイヤ名が決まれば、前回の記事と同様にして、地図画像を表示します。

スクリーンショット

国交省の鉄道を表示する。

左はベースのOSM地図、右は鉄道を重ねたもの
wms2_osm.png wms2_railway.png

github にサンプルコードを公開した
https://github.com/ohwada/Android_Samples/tree/master/Osmdroidwms2

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?