This file is written in UTF-8.

○ TODO
- ラベル配置でAreaを使わないようにしたら速くなるような気がする。
- 検索ができるようにしたい。
- 印刷できるようにしたい。
- マウスなしで操作できるようにしたい。
- 境界色、塗りつぶし色、境界線の太さ、文字の大きさ、文字の書体を変えられるようにしたい。

○ リリースノート

2005/09/16	2.17
- 「サーバ上のデータの存在する階層の深さを直書ききめ打ち」していた部分を修正しました。（sidePanel.LoadMapPanel）

2005/09/15	2.16
- CellSearchクラスをsearchパッケージに移動しました。（cell.CellSearch）
- 地図データのあるURLを2箇所で指定していたのを1箇所にまとめました。（web.WebUtilities）
- 不要なキャストをなくしました。（map.ArcData、map.JoinPolygon、map.LoadMap、map.MapPanel）
- フレームの配置をOSが制御できるようにしました。（map.MainFrame）
- SwingのLook & FeelをOceanからOSデフォルトのものに変えました。Linuxではどっちにしろ限りなくダサいけど、Windows XPなら少しだけましに見えます。（map.MainFrame）
- GridBagLayoutを使うようにして、少しレイアウトを改善しました。（sidepanel.LoadMapPanel）
- コンポーネント間のすき間を狭くしました。（map.Const）
- 行頭記号を「-」に変えました。（history.txt）

2005/09/13	2.15
- SWTを使うのをやめました。
- アプレット版をやめました。
- 自宅サーバにデータのコピーを置くのをやめました。
- 不要なキャストをなくしました。
- MS UI Gothic→Kochi Gothic、ＭＳ Ｐ明朝→Kochi Minchoの順にフォントを探すようにしました。

2005/05/29	2.14
- SWT版を公開しました。
- SWT版ではファイルへの出力ができません。
- Windows版では描画がちらつきます。
- Windows用のパッケージを作りました。
- Linux用の簡易インストーラを作りました。
- SWT版で、地図を読み込んだときにスクロールバーの値が初期化されない不具合を修正しました。
- SWT版で、メニューから終了を選んだときに終了するようにしました。
- SWT版で、起動時に市区町村を検索するテキストボックスにフォーカスを与えるようにしました。
- SWTのテストを行うプログラムを作りました。

2005/05/22	2.13（非公開）
- SWT版でサイドパネルから地図の検索ができるようになりました。
- （メモ）そろそろクラスを整理した方が良さそうです。

2005/05/15	2.12（非公開）
- SWT版で何とか地図が動かせるようになりました。
- 地図の横にスクロールバーをつけざるを得ませんでした。
- ツールバーに手のひらツールと虫眼鏡ツールを置き、実装しました。
- 虫眼鏡ツールかスクロールバーを使えば、ホイールのないマウスでも操作できるようになりました。
- （現状）サイドパネルが機能していないので、地図の検索、ダウンロードはできません。
- （現状）メニューが機能していないので、ファイル出力ができません。
- （現状）ビットマップの再利用をしていないので、地図の移動や縮尺変更の操作感が良くありません。
- （メモ）やっぱSWTはかっこいい！EclipseとNetbeansくらい見た目が違う。
- （メモ）ビットマップの再利用できてなくても、検索ができるようになった時点で公開しようかなー。
- （メモ）とりあえず、シェルスクリプトとバッチファイルで公開かなー。
- （メモ）動作確認できないので、Macは対応OSから外そうかなー。

2005/05/15	2.11（非公開）
- SWT版で地図が表示できるようになりました。縮尺変更や移動はできません。
- 地図を読み込むスレッドにSWTのウィンドウを渡すようにしました。

2005/05/14	2.10（非公開）
- サイドパネルを表示するようにしたら、Swingが格好悪すぎてやってられないので、SWT版を作りはじめました。
- SWT版のウィジットのみが表示されるようになりました。
- SWT版でGraphics2Dが描画できるようになりました。

2005/05/13	2.00
- 市区町村名を指定して地図を検索し、国土地理院のホームページからダウンロードして表示できるようになりました。
- 地図を検索して読み込むGUI部品を作りました。
- デフォルトの地図データディレクトリがないときにエラーを表示しないようにしました。
- キャッシュディレクトリにある地図全てを表示するのではなく、リストで指定された市区町村のみを表示するようにしました。
- キャッシュディレクトリの場所を起動したディレクトリ直下の .map/cache に変更しました。
- ウィンドウの大きさを640x480に変更しました。
- 地図を表示するパネルのコンストラクタに地図を渡すようにしました。
- バックグラウンドで地図を読み込むスレッドで、地図の枚数が変化したときに地図を再び読み込むようにしました。
- バックグラウンドで地図を読み込むスレッドで、地図を読み込んでいるときのConcurrentModifinationExceptionを無視するようにしました。

2005/05/07	1.19（非公開）
- 地区町村名と地図データのURLの対応表を作りました。
- 対応表をもとに、コマンドラインから検索語を指定して、ネットから圧縮ファイルをダウンロードできるようになりました。
- ダウンロードしたファイルは、プログラムを起動したディレクトリ以下にcacheという名前のディレクトリを作り、その下に置かれます。
- 既に圧縮ファイルがキャッシュに存在してファイルサイズが等しい場合、重複してダウンロードをしないようにしました。
- 検索に引っかかった圧縮ファイルを展開できるようになりました。
- LHA展開のライブラリとしてMichel Ishizukaさんの LHA Library for Javaを使っています。
- （現状）java Test 神戸市 && java Main cache/hyougo を実行すると、キャッシュにある兵庫県の地図が見られます。
- （メモ）作ってみて気付いたけど、例えば兵庫県全域がダウンロードされているときに神戸市全体を表示するための工夫が必要やな。（実装済み）
- （予定）ダウンロードした市区町村（のうち1つ）がちょうど収まる縮尺を調べて地図を表示するようにする。結構しんどそう。（実装済み）
- （予定）GUIで検索する仕組みがないとWindowsの人が使えないので、なんとかする。（実装済み）
- （予定）キャッシュの場所を変える。起動ディレクトリに .map/cache とかでいいかな？（実装済み）
- （メモ）そのうち .map/map.ini とかを作りたいし。
- （メモ）Windowsの人が嫌がると思うので、ホームディレクトリは使いたくない。
- （メモ）Linuxの人には悪いけど、Eclipseみたいに、起動したディレクトリにキャッシュとか設定ファイルを置くディレクトリを作るようにします。

2005/05/06	1.18
- 倍率変更時にプレビュー画像を表示するようにし、操作感を改善しました。
- 画面の裏描画中にマウスホイールを操作すると描画を中止することにより、操作感を改善しました。
- 画面の裏描画中に砂時計が表示されるようにしました。
- 危険なキャストをなくしました。

2005/05/05	1.17
- 政令指定都市の区界を描画するようにしました。
- 駅名が表示できないときに、駅の点も表示されない不具合を修正しました。

2005/05/03	1.16
- アプレットのときはネットワークモードに、アプリケーションのときはオフラインモードにしました。

2005/05/03	1.15（非公開）
- 初期状態よりも広域の表示にならないようにしました。

2005/05/03	1.14（非公開）
- 茨城県を表示したときに、文字列が重なって表示される不具合を修正しました。
- ネットワークのアプリケーション版で、コマンドライン引数を短くしました。

2005/05/03	1.13（非公開）
- アプレット版で、URLに引数を設定することでデータディレクトリを指定できるようにしました。

2005/05/03	1.12（非公開）
- アプレット版を作りました。

2005/05/03	1.11（非公開）
- ネットワーク版で、建物データがないときに例外が表示されないようにしました。

2005/05/03	1.10（非公開）
- 広域図のときほど大きく表示倍率を変更するようにし、操作感を向上させました。

2005/05/03	1.09（非公開）
- 地図をネットワークからダウンロードしながら実行できるようになりました。

2005/03/21	1.08
- 広域図でポリゴンの結合を行っていた無駄をなくし、広域図での応答を高速化しました。
- ポリゴンの結合を2重に行っていた無駄をなくし、中域図、詳細図での応答を少し高速化しました。
- 表示されていないポリゴンの結合をやめることにより、ポリゴンの結合を高速化しました。
- 地図の描画中にConcurrentModificationExceptionが発生しても無視するようにしました。

2005/03/20	1.07
- 広域地図で、駅だけでなく鉄道路線も表示するようにしました。
- ラスタ画像とPSファイルの出力を別のメニュー項目にしました。
- 丁目の塗り分け中にArrayIndexOutOfBoundsExceptionが出ることのあった不具合を修正しました。

2005/03/10	1.06
- PNG、JPG、BMPファイルを出力できるようにしました。
- 拡張子を指定しないと保存できません。

2005/02/28	1.05
- PSファイルを出力できるようにしました。
- メニューをつけました。
- データディレクトリをコマンドライン引数で指定できるようにしました。
- パッケージ管理するようにしました。
- 隣接グラフを計算するときにNullPointerExceptionが出ることのある不具合を修正しました。
- 「センター」と「センタ−」の表記揺れに対応しました。

2005/02/11	1.04
- 読みにくかったので、history.txtの書式を変更しました。
- ソースコードをjdk1.5.0対応にしました。
- フィールドへのアクセスにthisをつけました。

2005/02/05	1.03
- ソースコードとhistory.txtのエンコーディングをUTF-8にしました。

2004/03/14	1.02（非公開）
- 境界色、塗りつぶし色などを変更できるようにしようとしましたが、挫折しました。

2004/02/04	1.01
- 地図を描画する色、フォントを1つのクラスにまとめました。

2004/02/02	1.00
- ソフトの名称をMapに決め、タイトルバーに表示される文字列を「Map」にしました。

2004/01/27	0.30
- 鉄道の属性を表示できるようになりました
- 鉄道を、種類によって異なる線で描画できるようになりました
- 表示されていない地図の属性を表示しないことにより、文字が重なって表示される不具合を修正しました
- JR、JR新幹線を縞模様で描画することにより、描画に時間がかかるようになりました
- 地図の読み込み、ポリゴンの結合、塗り分け、属性配置位置の計算中に移動の操作ができないようにし、操作感を改良しました
- 「自動車道」で終わる道路も高速道路と判断するようにし、中国自動車道や山陽自動車道が高速道路の線種で描画されるようにしました。
- 第2神名道路や播丹連絡道路は一般道と同じ線種で描画されます
- 計算中はマウスポインタを砂時計の形にすることにより、操作をしやすくしました
- 駅の点データを、縮尺に関係なく表示することにより、目的の場所へ移動しやすくなりました。

2004/01/27	0.29
- 道路の属性を表示できるようになりました
- 文字が重なって表示される不具合が発生しました。

2004/01/24	0.28
- 高速道路、国道、主要地方道、県道を一般の道路と異なる色と太さで描画することができるようになりました。
- 道路の色が薄い順に何度も描画しているので、道路の描画が遅くなりました
- 「国道」で始まる道路は国道、「主要地方道」で始まる道路は主要地方道、「県道」で始まる道路は県道、「高速」を含む道路は高速道路と判断しています。
- このため、第2神名道路や中国自動車道など、「高速」を含まない高速道路は一般道と同じ色、太さで描画されてしまいます
- 道路の属性は表示できません。

2004/01/24	0.27
- 属性の配置をするときに、表示しない点を決定済みの属性と別のオブジェクトに格納することにより、属性の配置を高速化しました
- 属性が配置できるかどうかの判断の順序を変えることにより、属性の配置を高速化しました
- ポリゴンの内部表現をGeneralPathクラスからAreaクラスに変更しました
- ポリゴンを結合するときにRectangle2Dクラスのaddメソッドを使うことにより、ポリゴンの結合を高速化しました
- 全てのprotected、publicメソッド、フィールドにJavaDocコメントを書きました。

2004/01/22	0.26
- 駅名が表示できるようになりました
- 駅舎を表示しないようにしました。

2004/01/20	0.25
- 丁目の属性について、大きなフォントで完全に含まれる属性の配置を試み、失敗すれば丁目に接触する属性を小さなフォントで配置します
- 図郭にまたがる丁目について、Areaクラスを使って本気で結合することにより、地図の切れ目が全く見えないようになりました
- 属性が丁目に含まれているかを調べるようにしたため、属性の配置が非常に遅くなりました
- 建物のラベル候補は6枚、丁目のラベル候補は4 x 4 x 3枚、内水面、場地のラベル候補は1枚です
- 丁目のフォントは3種類、それ以外の属性のフォントは1種類です
- 内水面の属性は、結合されたポリゴンの中心に配置されるので、川の属性が、川から離れた場所に表示されることのある不具合があります。

2004/01/19	0.24
- 地図の読み込み、ポリゴンの結合、塗り分け、属性配置位置の計算、再描画を別のスレッドで実行するようにし、操作感を改善しました
- 表示されていない地図のラベル配置をしないことにより、ラベル配置を高速化しました
- あまり役に立っていなかったので、MapListener、MapEventクラスを使うのをやめました
- 再描画中にマウスが操作されたら、再描画を中断しようとしましたが、うまく行かなかったので、あきらめました
- Graphics2Dクラスのtransform、scaleメソッドを使うのをやめ、setTransformメソッドを使うようにしました。

2004/01/16	0.23
- メンテナンスをしやすくするために、文字列を配置する場所を別のクラスで計算するようにしました
- 丁目の属性が、どの丁目を指しているか分かりにくい場合があったので、配置率を下げました。

2004/01/15	0.22
- 文字列を描画する位置を少し上にすることにより、文字列が重なって描画されていた不具合を修正しました。（thanks to草木）
- マウスをドラッグしているときに地図の読み込み、塗り分け、ポリゴンの結合をして動作が遅くなっていた不具合を修正しました
- Windowsでマウスのホイールを動かしたときに、MouseWheelEventのgetClickCount()が常に0を返し、縮尺の変更ができなくなる不具合があったため、縮尺の変更の加速をやめました。

2004/01/12	0.21
- マウスを移動中は、直前に描画したImageを位置を変えて転送することによりスクロールを高速化しました。

2004/01/11	0.20
- 文字が重なって表示されないようになりました
- 今まで配置された文字列の領域の和集合を持つAreaオブジェクトを用意し、このオブジェクトに重ならないように文字列を配置しています
- 再描画時に文字列の配置を計算しているので、再描画が非常に遅くなり、使い物にならなくなりました。

2004/01/10	0.19
- 建物、場地、内水面の属性が表示されるようになりました
- 複数の図郭にまたがる場地、内水面はポリゴンを構成するアークの線種タグによって属性の表示位置を同じにし、建物は同じ属性を持つものの属性を同じ位置に表示するようにしました
- 丁目のポリゴンを読み込むときだけ「一丁目」を「１」に置換することにより、属性の読み込みを高速化しました
- 「十一丁目」が「十１」に置換されていた不具合を修正し、「11」に置換されるようにしました
- 建物を読み込んだときに、「明石郵便局」を「明石局」に置換することにより、属性を短くしました
- 丁目、建物、場地、内水面の属性を表示することにより、かなりの文字が重なって表示されるようになりました。

2004/01/09	0.18
- クラスを整理して、メンテナンスしやすくしました
- ウィンドウのサイズが変更されたときに、地図の縮尺を変更しないようにしました
- 1秒毎に地図の読み込みを調べるのではなく、マウスのボタンが離されたとき、ホイールが操作されたとき、ウィンドウのサイズが変更されたときに読み込み、ポリゴンの結合、塗り分けをすることにより、操作感を改良しました
- 地図の読み込み、ポリゴンの結合、塗り分けが全て終わってからパネルを再描画することにより、反応速度を高速化しました
- マウスのホイールを連続して操作したときに、縮尺の変更が加速されるようにし、操作感を改良しました。

2004/01/09	0.17
- 地図を読み込むときに、ファイル名の辞書式順序で読み込むことにより、塗り分けに失敗することが少なくなりました
- 丁目の色がまだ決まっていないときは白で塗りつぶすようにし、読み込み中に一旦画面が海の色で塗りつぶされる不具合を修正しました
- 地図のスクロールのさせ方によっては、正しく塗り分けられない不具合があります
- まだ、複数の図郭にまたがる丁目のポリゴンを正しく結合できない場合がある不具合があります。

2004/01/08	0.16
- 図郭にまたがるポリゴンは、属性が同じポリゴンのみを結合することにより、同じ場所に属性が表示されてしまう不具合を修正しました
- 隣接グラフに含まれないポリゴンも塗り分け対象にすることにより、埋め立て地などを正しく塗り分けられるようになりました
- ライセンスをGPLにしました。（まだ公開してないけど）

2004/01/06	0.15
- 図郭をまたがるポリゴンを正しく塗り分けられるようになりました
- 同じ属性を持つポリゴンを同じ色で塗り分けています
- 飛び地があるときに正しく塗り分けられない不具合があります
- 埋め立て地など、隣接するポリゴンがないときに正しく塗り分けられない不具合があります
- 元のデータに間違いがあるときは正しく塗り分けられません
- 単純な地図は6色で塗り分けることができます。8色必要になる場合があります。

2004/01/05	0.14
- 丁目単位で行政区画を塗り分けることができるようになりました。
- 図郭をまたがるポリゴンは正しく塗り分けられない不具合があります。
- 6色で塗り分けることができます。

2004/01/03	0.13
- 読み込んだポリゴンに隣接するポリゴンだけを結合することにより、ポリゴンの結合を高速化しようとしましたが、うまく結合できなかったので、あきらめました。
- 内水面、建物を読み込んでも正しく丁目のポリゴンが結合されるようになりました。

2004/01/03	0.12
- 図郭をまたがるポリゴンを結合して、ラベルをポリゴンの中央に配置することができるようになりました。
- 多数のファイルにまたがるポリゴンは正しく結合できない不具合があります。
- 丁目のみを読み込むと正しく結合されますが、内水面、建物などを読み込むとうまく結合されなくなる不具合があります。

2003/12/31	0.11
- 北が上に表示されるようにしました。
- 地図の縮尺を変えても文字が同じ大きさで表示されるようにしました。
- 画面の端で文字が途切れないようにしました。

2003/12/31	0.10
- 建物の境界線が太くなることのあった不具合を修正しました。

2003/12/18	0.09
- 道路と鉄道を読み込めるようになりました。
- 縮尺が小さいときは、道路を表示しないようにしています。

2003/12/17	0.08
- 建物のポリゴンを読み込んで表示できるようになりました。
- 複数の建物をつなぐ弧が表示されてしまう不具合があるので、図郭をまたがる建物が分かれたようにみえます。

2003/12/14	0.07
- 内水面、場地を読み込めるようになりました。
- 図郭をまたがるポリゴンが分かれたように見える不具合を、塗りつぶし色で輪郭を描画することにより、修正しました。
- 内水面、場地の属性を読み込んでいないので、ラベルを配置できません。

2003/12/14	0.06
- 行政界の属性ファイルを読み込んで表示できるようになりました。
- 図郭をまたがるポリゴンを結合していないので、1つのポリゴンに複数の属性が表示されます。

2003/12/13	0.05
- 行政界のポリゴンを読み込んで表示できるようになりました。
- 図郭をまたがるポリゴンを結合していないので、単色で塗りつぶすことしかできません。

2003/12/13	0.04
- 必要な地図をバックグラウンドで読み込むようにし、操作感を改善しました。

2003/12/13	0.03
- Drawableインターフェイスを使うのをやめ、地図描画に特化することにより、描画を高速化しました。

2003/12/12	0.02
- 必要な地図のみを読み込んで、行政界のアークを表示できるようになりました。
- マウスのドラッグ、ホイールの回転により、移動、倍率変更ができます。
- アークはGeneralPathクラスを使っているので、座標はdouble型です。
- 座標の変換をしていないので、西が上に表示されます。
- ポリゴンの結合はできなくなりました。

2003/11/01	0.01
- 数値地図2500（空間データ基盤）の地図が表示できます。
- マウスのドラッグ、ホイールの回転により、移動、倍率変更ができます。
- 行政区画のポリゴンを読み込んで、図郭にまたがるポリゴンを結合し、ランダムな色で塗り分けて表示しています。
- 北が上に表示されます。
- 起動時に全ての地図を読み込むので、広い範囲の地図を表示することができません。
- アークはAWTのPolygonクラスを使っているので、座標は整数に切り捨てられています。
- ポリゴンの代表点データを読み込んでいないので、ラベルはポリゴンの中央に表示されます。
