* リリースノート
- ver.0.50 2006/01/25
-- 公開開始
- ver.0.53 2006/4/16
-- メニューからアンチエイリアスを選択可能に。
-- 道路、鉄道の描画の無駄な計算を減らしました。
-- GeneralPathで描画するため，多少遅くなったかもしれません。
-- 鉄道の描画が少し綺麗になりました。
- ver.0.54 2006/4/18
-- 駅区間の描画を実装しました。駅名の描画をどうしようか悩んでいます。
-- 道路、鉄道の描画幅を縮尺に応じて描画するようにしました。
-- 描画幅によって、一般道は描画しないようにしました。
- ver.0.55 2006/4/22
-- 道路の描画を改良しました。
-- 高速道路の描画色を変更してみました。
-- 普通鉄道（JR）以外の描画を黒い実線に変更しました。
-- 新幹線も黒い実線で描かれているかもしれません。
-- ラベル配置処理クラスを作成しました。
-- 水域区間の閉路の塗りつぶしの実装してみましたが，
-- が，いわゆる島（水域区間で囲まれている面）も水域として塗りつぶしてしまいます。
- ver.0.57 2006/4/27
-- 水域区間の種類を読み込むことで，埋立地を塗りつぶしてしまわないようにしました。
-- まだ，海岸線以外で囲まれる島は塗りつぶしてしまいます。もうあきらめ気味です。
-- 国土数値情報の市町村界のポリゴン読み込み，塗りつぶし表示ができるようになりました。
- ver.0.58 2006/4/27
-- 国土数値情報での描画を市町村界から，都道府県界の描画に変更しました。
-- ぜん氏のShapeIOクラスを改変して利用させていただきました。
-- （現在の仕様ではShapeからは座標変換が行えないため）
- ver.0.59 2006/5/1
-- 一部データファイル同梱しました。
- ver.0.60　2005/5/2
-- 国土数値情報をMapDataクラスに持たせるように変更しました。（メモリ使用量が激増）
-- 国土数値情報描画の上に重ねて数値地図を描画しないようにしました。
-- また，都道府県界をみわけられなくなりました、すみません。
-- メモリ節約のため，MapDataを管理するMapのキーをString型からInteger型に変更
-- （前処理のためのクラスには，不具合が生じる可能性有）
-- 標準出力への使用メモリの表示をMB単位で表示するように変更。
- ver.0.61 2005/5/4
-- 背景（海の色）をColor.CYANに変更しました。
-- マウス操作中はアンチエイリアスをオフにするように変更しました。
-- 常にアンチエイリアスをオンにするオプションは必要でしょうか？
-- ファイルのクローズ処理をfinallyブロックで行うように修正しました。
-- まだまだ適切なエラー処理には程遠いです。
-- ステータスバーを表示することにしました。使用メモリ、地図データのダウンロード状況、読み込み状況を表示します。
-- 起動後すぐにフレームを表示し，国土数値情報の読み込み状況などを表示できるようになりました。
-- 地図データ読み込みのための.cellファイルを同梱しました。
- ver.0.62 2005/5/10
-- オフスクリーンバッファを必要な場合にのみ作成しなおすように変更しました。
-- マウスを操作をやめるとアンチエイリアスがかかるように修正しました。
-- 経路探索は，同一行政界内でのみ行えるように変更しました。
-- 最短経路を赤色で表示するようにしました。
- ver.0.63 2005/5/13
-- packegeとclassの構成を大幅に変更しました。
-- Map<Integer, MapData>を継承したクラスで地図データを管理するように変更しました。
-- スレッドの処理によって衝突が生じるようになったと思います、すみません。
-- 必要に応じて頂点情報を、地域単位で読み込むようにして，行政界を隔てた経路探索を実装しなおしました。
-- 探索設定を実装しました。
-- 高速道路利用するかどうか設定できます。
-- 最短経路探索のアルゴリズムをDijkstraと直線距離を用いたA*アルゴリズムから選択できます。
-- 経路探索において端点は、表示されている道路中につながっている中で最も近い頂点を選択するようにしました。
-- BasicStrokeのCAPとJOINを設定しました。
-- drawLineの描画のバグを修正。
-- キー操作、マウス操作を変更しました。
-- キー操作中もアンチエイリアスを無効にしました。
- ver.0.64 2005/5/14
--富士山頂付近でもなんとか文字が読める程度にMeshの表示色を変更しました。
-- 色相も変化させるようにしました。（昔ぜんさんに勧められた時には嫌がりましたが）
-- 標準出力へ標高を表示できるようになりました。（そのうち経緯度と共にステータスバーへ表示）
-- 経路探索時にはRoadクラスにX座標、Y座標の配列を渡さないようにしてメモリを節約。
-- 経路探索に致命的なバグをいくつも発見。バグ修正するだけで相当距離の探索が可能になりました(-_-;
- ver.0.65 2005/5/14
-- 経路探索をFloat精度で計算するように変更。精度よりメモリ。
-- 高速道路と一般道、道路の幅によって傾斜をつけた。
-- 高速道路を利用すると直線距離によるヒューリスティック関数の精度は落ちます。
-- 操作マニュアルを作成しました。
-- すべてのListenerクラスをOperationで実装しました。
-- 平行移動操作のバグを解決しました。
-- 探索の始点と終点を描画するようにしました。
- ver.0.65L 2006/5/20
-- テキストのアンチエイリアスを常に有効にしました。全然違いますね。
-- スレッドの制御を修正しました。
-- GeneralPathへの展開の不具合を修正しました。
-- 鉄道描画のStrokeを変更しました。
- ver.0.66L 2006/5/21
-- CellクラスのフィールドをString配列からint配列に変更しました。
- ver.0.67L 2006/5/22
-- 国土数値情報のデータを表示する際に都道府県単位で読み込むように変更しました。
-- スレッドを適切にロックするようにしました。
-- 不要な再描画をしないようにしました。
- ver.0.68L 2006/05/23
-- 行政界を隔てた道路、鉄道に区切りが描画されないようにしました。
-- 起動時に国土数値情報を描画しないことがある不具合を修正しました。
-- 主な例外に対する処理を行いました。ステータスバーに表示します。
- ver.0.69L 2006/05/23
-- 描画の不具合を修正。
-- 鉄道をGeneralPathからdrawPolyLineで描画するように変更。
-- 鉄道を極力つないで描画するようにしたため繋ぎ目が目立たなくなった。
-- 両方向経路探索アルゴリズムを実装しました。
-- 経路探索スレッドにおける例外処理の不具合を修正しました。
-- 地図データ管理の不具合を修正しました。
- ver.0.70L 2006/05/29
-- 駅名ラベルを配置しました（かなり汚いです）
-- ラベルのインターフェースを仮に作成してみました。
-- 不要なクラスを削除しました。
-- 卒論の結果の誤りを発見、双方向探索を削除。
-- ラベル配置の設定を細かくできるようにしました。
- ver.0.71L 2006/06/14
-- 地図データ読み込みのループをより効率的に実行できるようにしました。
-- CityMapをMapの継承ではなく委譲に変更しました。
-- ファイル管理クラスをStorageに名称変更しました。
-- SimpleLabelingを改変。
- ver.0.72L 2006/07/01
-- ヒープを修正しました。
-- 印刷の実装
-- メニューのショートカットを設定しました。
- ver.0.73L 2006/07/3
-- JR線をGeneralPathで描画するよう修正し、印刷時の不具合を解消しました。
-- 再描画のタイミングを修正しました。
-- 地図イメージからラスタ画像へのエクスポートを実装しました。
- ver.0.74L 2006/07/12
-- ラスタ画像へのエクスポートで、サイズとフォーマットの指定を実装しました。
- ver.0.74L-zenjiro 2006/07/16 by ぜん
-- Fedora Core 5、jdk-1.5.0_07ではフレームが表示されない、縮尺を大きくしても詳細な地図が描画されないなどの問題があったので、いろいろ修正しました。
-- フレーム周りをいろいろ変えました。
-- ステータスバーの文字列切り替えがデッドロックしていたので、とりあえず全てのsynchronizedを消しました。
-- ステータスバーでBytesをMBに変換するときに1000で割っていたのを1024で割るようにしました。
-- MapPanelのoffsがnullのときにNullPointerExceptionが発生する不具合を修正しました。
-- なぜか海が描画されないことが増えたので、むりやり海を塗りつぶすようにしました。
- ver.0.75L 2006/08/05
-- 地図データをストリーミングで解凍を行うようにしました。
-- 市区町村の範囲をストリーミングによる読み込みを実装したため、無駄なダウンロードを削減できました。
-- アドレスマッチングを試してみました。アドレスマッチングの精度がなかなかあがりません。
-- 一部のローソンが表示できるようになりました。
- ver.0.76L 2006/08/05
-- セルメソッド用のデータの修正
-- 国土数値情報のデータをObjectInputStreamで読み込むことで起動時間の短縮ができました。
-- 市区町村の解析のための正規表現を修正しました。
-- Pluginとして、ChainStroreクラスを継承した店舗情報取得クラスの読み込みが可能になりました。
-- 国土数値情報の行政界を表示しているときに市区町村名を表示するようにしました。
- ver.0.76L-zenjiro 2006/08/11 by ぜん
-- Linuxで、文字化けのために店舗が全く表示されない不具合を修正しました。
-- 市区町村名が文字化けする不具合を修正しました。（map.data.CityMap#getCityNameMap）
-- ホームページから住所が文字化けする不具合を修正しました。（map.store.ChainStore#getAddress、map.store.ChainStore#readFile）
-- 街区レベル位置参照情報の住所が文字化けする不具合を修正しました。（map.IsjFactory#getStreaming）
- ver.0.77L 2006/08/18
-- LHA Library for Java を dangan.jar として分離しました。
-- リファクタリングを行いました。
- ver.0.78L 2006/09/11
-- 数値地図2500の水界のポリゴンの表示を実装しました。
-- 数値地図2500のデータがあれば、数値地図25000の水域界と河川の描画をしないようにしました。
-- クラス名、パッケージ名など構成を大きく変えました。すみません。
-- ライブラリはlibディレクトリで管理するようにしました。
- ver.0.79L 2006/09/12
-- 数値地図2500のデータの開放を実装しました。
-- 数値地図2500の水界の境界を描画するようにしました。
-- 数値地図2500の水界の直列化に対応させました。
-- ポリゴン描画を最適化しました。
-- 数値地図25000の海岸線を分離して描画するようにしました。
- ver.0.80L 2006/09/15
-- メニューをMapMenuにまとめました。
-- 最新のバージョンであるかどうか確認する機能を追加しました。
-- 起動時に最新のバージョンであるかどうか確認するようにしました。
-- 設定を一部保存しておけるようにしました。
-- 数値地図2500の水界を線種により境界のみ描画できるように改善しました。
- ver.0.81L 2006/09/17
-- 地図データの取得のスレッドの動作を改善しました。
-- 操作マニュアルの表示設定を保存できるようになりました。
-- 経度緯度を指定して移動できるようになりました。
-- 数値地図25000の水域を描画できなくなっていたバグを修正しました。
- ver.0.82L 2006/10/26
-- 市区町村名データベース(インデックスはHashMap)を作成しました。
-- 市区町村データでの市区町村名の管理を実装しました。
-- ステータスバーに市区町村番号ではなく、市区町村名を表示するようにしました。
-- デフォルトの設定ファイル位置を地図データディレクトリ以下に作成するよう変更しました。
-- 広域の表示において市区町村名が表示されないことがあるバグがなくなったようです。
- ver.0.83L 2006/10/26
-- 市区町村名の読み込みの無駄を削減しました。
-- 国土数値情報での水域の塗りつぶしを実装しました。
- ver.0.84 2006/11/09
-- 直接ブラウザを開けるようにしました。
-- 問題が発生した場合に、Throwableを送信できるようになりました。（送信は任意）
-- ダイアログを破棄できるように修正しました。
-- /data/prefecture.cellを更新しました。
-- /data/city.csvを更新しました。
-- 小笠原諸島の地図データ取得を修正しました。
-- 一部地域のみ領域管理手法を更新しました。（検索効率が格段に向上）
-- 地図データの取得を一部ストリーミングを中止しました。
-- ダウンロード、読み込みをステータスバーに通知するように修正しました。
-- クラス名を変更しました。
- ver.0.85 2006/11/11
-- /dataを/.dataに変更しました。
-- すべての地域の領域管理手法を更新しました。
- ver.0.86 2006/11/12
-- 水域区間の塗りつぶし機能を削除しました。
-- 数値地図25000の水域界の読み込みを修正しました。
-- JRの破線間隔を広げました。
-- 操作マニュアル（WEB）を開けるようにしました。
-- バージョン確認のバグを修正しました。
- ver.0.87 2006/11/12
-- 市区町村名のラベル配置を実装しました。
-- ラベルを白抜き文字に変更しました。
-- テキストアンチエイリアスをオフにしました。
- ver.0.88 2006/11/12
-- フォントをSansSerifに設定しました。
-- バージョン確認のバグを修正しました。
-- 簡易マニュアル機能を削減しました。
-- ショートカットキーを変更・整理しました。
-- フォントの設定を考慮してラベル配置するよう修正しました。
-- 兵庫県の合併情報を追加しました。（手動）
- ver.0.89 2006/11/13
-- 京都府の合併情報を追加しました。（手動）
-- 大阪府の合併情報を追加しました。（手動）
-- 滋賀県の合併情報を追加しました。（手動）
-- 国土数値情報（行政界）の開放を修正しました。
-- ラベル配置を更新しました。
-- 高速道路の描画色を変更しました。
-- ステータスバーにダウンロード率を表示できるようになりました。
-- 街区レベル位置参照情報の取得の致命的なバグを修正しました。
-- 直列化したキャッシュの保存場所、拡張子を変更しました。
-- 駅を結合しました。(ラベルの複数表示を避けるため)
-- ファイル削除に成功すると例外を投げるバグを修正しました。
-- ラベルの影をメニューで選択できるようにしました。
-- ラベルの描画を変更しました。
- ver.0.90 2006/11/16
-- プラグインの文字コード関連のバグを修正しました。
-- 抜けていた国土数値情報の市区町村番号を追加しました。
- ver.0.91 2006/11/17
-- 利用に際しての確認を初回起動時にのみ行うようにしました。
-- ラベルの装飾の切り替えを実装しました。
- ver.0.92 2006/11/20
-- 市区町村を検索して表示させれるようになりました。
-- 天気予報の表示を始めてみました。
-- キャッシュの保存場所を修正しました。
- ver.0.93 2006/11/28
-- 空間データベースのバグを修正しました。
- ver.0.94 2006/12/06
-- 空間データベースを最適化しました。
-- FreeGISの世界地図を表示できるようにしました。
-- データベースをjarファイルとしました。
-- ステータスバーをObserverとしました。
- ver.0.95 2006/12/16
-- ラベルの装飾なしを選択しても装飾が解除されないバグを修正しました。
-- 経度緯度を表示できるようになりました。
-- エクスポートの不具合を修正しました。
-- 標高メッシュ、道路、河川、鉄道の表示を切りかえれるようにしました。
-- X軸方向へ世界地図を繰り返し表示できるようになりました。
-- 配列のキャッシュを作成してポリゴン描画を高速化できたと思います。
- ver.0.96 2006/12/17
-- プラグインをjarファイルにまとめました。
-- 数値地図2500のデータが存在しない場合はダウンロードを試みないように修正しました。
-- 河川の表示の不具合を修正しました。
-- テキストアンチエイリアス機能を削除しました。
-- ラベル配置を少し改良しました。
- ver.0.97
-- 市区町村名のフォントサイズを小さくしました。
-- 一般道の描画を修正しました。
-- 都道府県名を表示できるようになりました。
-- FreeGISの世界地図データを倍率に寄らず表示するようにしました。
-- 天気予報機能を削除しました。

* TODO
- メッシュのぼかしの実装
- 広域表示の際に大雑把にポリゴンを表示
- 座標変換の実装
- 白黒、グレースケールモード（白地図）
- 経路探索結果の距離を表示させる。
- PS,SVGでのエクスポート
- 描画とパネルの分離
- 街区レベル位置参照情報が取得できない市区町村番号の調査
- ノードファイルをせめて都道府県でひとつにしたい。

* 問題点
- 広域の探索においてメモリの限界とともに探索速度も問題。
- ディスクを喰い過ぎる。
- Integer型の限界がみえてきた。

* 仕様上の問題
- 道路の接点と非接点の区別（立体交差の区別）がつかない。
- アドレスマッチングの精度が良くない。街区レベル位置情報だけでは情報量が足りない。

* メモ
- 印刷時にdrawPolylineでは、ストロークが線分毎に適用される。
- 破線の描画は印刷時にはGeneralPathで行う必要がある。
- MapServer、PostGIS、Ka-Map、PostLBS
