このページは、2019年3月に保存されたアーカイブです。最新の内容ではない場合がありますのでご注意ください

  --  地図いろいろ   注意事項及び連絡先    ホームページ

地図いろいろ

地図の塗り分け (2008.12)

国土地理院の行政界データ + perl + Excelを使用して町別に色を塗り分けた地図を描いてみた。

まずは、隣り合うエリアのリストをどうにかして作成する。

... 09205亀和田町 09361七ツ石 09205久保町 09205銀座 09205久保町 09205今宮町 09205久保町 09205仲町 09205久保町 09205天神町 09205玉田町 09205見野 09205玉田町 09205御成橋町一丁目 ...

上記の情報を基に、塗り分けを行う。再帰的に試行を行い、塗り分けに失敗した時点で戻ってやり直し、という方法が単純。 予め、隣接する領域が多い順にソートしておき、その順番で色を決めていくと、まあまあ上手くいく。

... 09205池ノ森 3 09205中田町 3 09205仲町 1 09205朝日町 2 09205鳥居跡町 3 09205天神町 1 09205東町一丁目 4 ...

あとはどうにかして地図を描画するわけだが、下図の描画にはperl + Win32::OLEを使用した。

なお、塗り分けに使用する色の数は、5, 6色が妥当。 最小の色数は、飛び地が無い場合、四色定理により4色となるが。飛び地を考えた場合は、理論的には何色あっても足りない。

例えばA町, B町, C町, ..., G町と7つの町があるとすると, 下記のパターンでは7色必要となる。

実際はこのような意地悪な行政界は存在しない(たぶん)ため, 飛び地を考慮しても5色で十分だと思う。

また、領域の合併・分割などで一部の色が変わった場合には、再度塗り分けをする必要があるが、 4色で塗り分けている場合は、塗り分けの再検討が面倒である(影響範囲が大きい)。 塗り分けを5色にしてある程度余裕を持たせると良い。

※図はテスト用として末広町と中田町を合成したもので、実際に合併したわけではありません。

Excelで地図を描く (2005.9)

Excelは多くのパソコンにインストールされている。 このソフトを使えば、表計算・ワープロ・ゲーム等何でもできる。当然地図を描く事もできる。

Word, PowerPointも似たような機能があるが、Excelの場合はあまり範囲を気にせずに図形を配置できる。


とりあえず地球地図をダウンロードし、「日本全国道路網データ」からラインデータを抜き出し、エクセルの図形に変換してみたのが左の図。図形は、全体がA4縦に10%で収まるように調整した。

Word, Excel, PowerPointなどで扱っている図形の単位は "ポイント"。 座標の格納単位は1/16ポイントなので、それより細かい情報は失われる。 従ってなるべく広い範囲を使って図形を描いた方が、ある程度精度を保つ事ができる。

この図をそのままxlsファイルに保存してみると、サイズは16Mバイトくらいになる。 問題があるのは表示時間だ。これだけの量の図形が入っていると読込・拡大・縮小にかなりの時間がかかる。拡大率を100%→10%にするだけで2分程度かかった。

Excelの場合、同時に表示できる線の数に限りがあるようで、全体を表示した状態では九州の南部が切れてしまっている。 拡大して九州付近だけを表示させると、問題なく表示できる。

Google Maps API を使ってみる (2005.08.27)

注 この情報は古いため殆ど役に立ちません。 2009年現在、APIを使わずにGoogleのマイマップ機能で簡単に地図を作成できます。 ※但し個人情報の扱い・公開設定には十分に注意してください。

Google Maps APIを使用すると、自分で用意した地図情報(ポイント、ライン)を、Google Mapsが提供する地図に重ね合わせることができる。

サンプル1 地図上でポリライン(連続線分)を簡易的に編集するサンプル。頂点を追加する場合は、対象地点をダブルクリックして表示範囲を移動させた後に、「追加」ボタンを押す。ページの下の方に表示されるxmlは、以下のサンプル2の入力ファイルとして使用可能。

サンプル2 サンプル1で作成した xmlファイル を表示させるためのもの。

サンプル1の方法は、少量のデータ向きである。大量のデータを作成する場合は、ベクトルデータが扱えるお絵かきソフトを駆使した方が良い。但しGoogle Maps APIは、多くのデータを配置すると動作がかなり重くなる。目安としては、折れ線要素(GPolyline)の数は約150本、折れ線を構成する頂点(GPoint)の合計は約1000点程度に抑えた方が良い。この程度のデータであればそれなりの速度で地図表示ができる。

更新履歴

2008-12-16 00:37:26地図の塗り分け追加
2005-09-30 08:30:56Google Maps APIを使ったページ追加 Excelで描いた地図追加
2005-09-11 17:01:15Google Maps APIサンプル地図の公開を一時休止
2005-08-27 13:09:15新規
ホームページ

このページは、2019年3月に保存されたアーカイブです。最新の内容ではない場合がありますのでご注意ください