数年前に色んな地図を見比べたことがある。大きな市の区が薄い色で色分けしてあって分かりやすいものが あった。
通常は色分けは要らないが、指定したときには薄い色で色分けしてみたい。
これまで通り、境界線に沿って、内側に、都道府県名や市区町村名などを描画したい。
境界線を描くだけであれば、道路と同じようにライン描画でよいが、上記二つには行政境界をマルチポリゴンとしてとらえる必要がある。
少なくとも二つの区域が境界線を共有するため、それぞれをポリゴンレコードとすれば、行政境界に関する レコードサイズは二倍以上になる。
日本の場合、当初、行政境界線はインポートされた。この場合、道路との共有はない。 今は行政境界のインポートは禁止されている。特に、大都市の新興住宅地の行政境界線は道路を境界線としている ことが多いため、手作業による行政境界は道路(way object)を共有していることも多い。
バス路線の場合、道路レコードにバス路線idを付加する方式を採用している。行政境界にもこの方法が使える。 行政境界の場合は、その境界線の右手か左手かにより、行政区域リレーションidの符号を変える。
一般に境界線 boundary=* の描画は簡単である。行政境界線(boundary=administrative)の場合には、admin_level の 値によって、線を少し変えるだけである。
境界線に沿って内側に行政名を描画したり、区域毎に異なる薄い色で塗りつぶすには、 リレーション(type=boundary;boundary=administrative)の解釈処理が必要である。
この処理はバス路線図よりも面倒である。type=multipolygon と同じように、線分をつなぎ合わせて、 outer polygon、inner polygon を完成させる。
multipolygon(広域森林など)と同じように、outer polygon毎に独立したレコードとする案もある。 同じ境界線を2回以上共有することによるファイルサイズの増加もある。 この場合、都道府県境界は比較的に大きいため、二つ以上のブロックにまたがることも多くなる。 行政名の描画も大きなマルチポリゴンが対象となるため、負荷が重い。
行政境界ラインレコードに行政境界リレーションIdだけを追加しておく方法もある。 この場合、バイナリレコードファイルの増加は極めて小さくて済む。 行政境界リレーション管理ファイルには id、admin_level、行政区域名を出力しておく。
塗りつぶしではマルチポリゴンデータが必要となる。マルチポリゴンの組み立てが簡単になる情報を 予め行政境界ラインレコードに追加しておく必要がある。 あるいは、通常のOSMバイナリレコードファイルとは別に、行政境界マルチポリゴンレコードファイルを用意しておく ことも考えられるが、複雑になるきらいがある。
outer polygon毎の独立レコードとした場合、ハイズームでは japan-high8 が 351MBから 421MB に増加した。 ここでは 20%の増加である。しかし、ハイズーム全体では 3.30GBから 3.37GBへ2%強の増加である。
今後、行政境界線の追加も考えられるが、建物レコードなどの増加の方が大きいと思われるので、 以前のように、outer polygon毎のマルチポリゴンレコードとする。境界線に沿っての行政区域名の描画、 区域全体の薄い色での塗りつぶしも容易である。