JA talk:Tag:boundary=administrative
都道府県の行政区境未定地のデータ記述方法
都道府県の行政区境ですが、境目が明確ではない場所、というものがあります。 この区境のレンダリングとデータ構造について、みなさんのご意見を伺いたいです。
行政区境の未定地
一例として、東京都と千葉県の境になっている部分をあげます。 参考にするのは、地理院地図です。
http://portal.cyberjapan.jp/site/mapuse4/index.html?lat=35.703316&lon=139.93206&z=14&did=BAFD200K
2013年7月現在の同地点OSM Mapnik表示は以下のとおりになっています。
http://www.openstreetmap.org/#map=15/35.7034/139.9243
問題点
行政区境の元データになっている、国土数値情報のデータでは、こうした行政区境未定地は考慮されていません。 そのため、境界上に、境界線となるデータがウェイ(ライン)として入力されています。
国土数値情報をそのままOSMに投入し、レンダリングを行うと、本来は境界が存在しない部分も、暫定データの境目で線が表示されます。
現在の状況
境界の表示を行いたくない部分の、ウェイが削除されています。
これにより、確かに表示はされなくなりましたが、そのかわり、行政区境のリレーションが壊れてしまっています。 type=boundaryリレーションの outer way は本来、円周として閉じられるべきです。 しかし、ウェイの削除によって円周を閉じることができていない状態、ということです。
行政区境リレーションが閉じられなくなることの影響
Mapnikの見た目としては、さほど影響はありません。 ただし、統計計算、検索機能などの点で不具合が出てきます。 例えば、以下のようなことが考えられます。
1. 行政区境エリアの面積算出ができなくなる(どちらにしろ暫定面積になりますが)
2. 行政区境エリアの領域内に存在するNodeの数、などの抽出クエリを発行できなくなる
暫定解決案
1. レンダリングによる解決方法
まずは国土数値情報のインポート用データを元にして、暫定的な境界線のウェイを作成します。
この状態で、該当のウェイ部分に何らかのタグを入れ、レンダリングから表示させなくすることが可能です。
少なくとも、osm.jpのレンダリングであればそれなりに自由に操作することができますので、比較的早く適用することが可能です。 なお、データベースに投入するタグ項目を変更する必要があるので、即時では反映できません。
例えば該当の部分を構成するウェイへ "disputed=yes" を付与することで、そのウェイの部分だけを非表示にすることができます。
具体的には、layer-admin.xml.inc の内容を変更し、特定のタグセットが設定されている場合には stroke-width を0にする変更を行います。
<LineSymbolizer stroke="purple" stroke-width="0" stroke-dasharray="4,3" stroke-opacity="0.2"/>
2. 係争地になっている部分に、それぞれの主体が主張するウェイをそれぞれ作成する
英語版の議論ページにて、係争地になっている境界線の書き方として以下の議論があったようです。
http://wiki.openstreetmap.org/wiki/Talk:Tag:boundary%3Dadministrative
2つ以上の行政主体が存在し、それぞれが主張する領域ラインが明確である場合は、この方法が使えると思います。
今回の例で言えば、千葉県が主張する領域と、東京都が主張する領域が、参照可能なデータとして公開され、なおかつそれらをOSMのウェイとして表現できれば、この方法をとることができます。
3. ウェイの外周を閉じなくてもよいよう、リレーションの仕様を拡張する
現状のままウェイを削除しておき、outerリレーションを閉じないという選択肢の提案があります。
OSMデータ構造の根幹に手を入れることになりますので、海外開発コミュニティとの連携が必要になります。
また、現状すぐに実現できるわけではありません。
他にも案があるかと思いますので、ご意見をいただきたいです。