osmdroid-wms を使って国土国交省の Capabilitiesを解析し地図画像を表示する
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件くらいある。
レイヤ名の一覧が表示されるが、中身が推測できない。
下記から、レイヤ名と名称の対応表を作成する。
国交省の地図レイヤ定義一覧
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 に表示する。
レイヤ名が決まれば、前回の記事と同様にして、地図画像を表示します。
スクリーンショット
国交省の鉄道を表示する。
github にサンプルコードを公開した
https://github.com/ohwada/Android_Samples/tree/master/Osmdroidwms2
Author And Source
この問題について(osmdroid-wms を使って国土国交省の Capabilitiesを解析し地図画像を表示する), 我々は、より多くの情報をここで見つけました https://qiita.com/ohwada/items/000b7ec33df9a4b54d99著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .