説明

運行経路提案プログラム、運行経路提案システム及び運行経路提案方法

【課題】交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置された運行経路を提案できるようにすること。
【解決手段】運行経路提案マシン10は、操作者から個数と大きさとが指定されたタイルを地図上に定義するとともに、操作者から指定された年齢層の居住者の住所とポイントとに基づいて各マスクの重心を求め、その重心に基づいて各マスクについて中継点を特定し、特定した中継点を全て通る運行経路案を表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本案は、路線バスなどの公共交通手段の運行経路を提案するためのプログラム、システム及び方法に、関する。
【背景技術】
【0002】
周知のように、多くの自治体が、居住者へのサービスの一環として、公共交通手段を事業として運営しているが、公共交通手段の利用者数は、どの自治体でも低迷している。利用者数が低迷している原因の一つに、公共交通手段の運行経路が、交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置されていないことが、挙げられる。この原因に拠ると、自治体の有する居住者情報が、公共交通手段の運行経路の策定に全く活用されていないことが、伺える。
【0003】
なお、特許文献1には、利用者の属性や利用時間帯などの調査に基づく需要予測に応じて公共交通手段の便数を変更したり発着所を変更したりする方法が、開示されている。しかしながら、この特許文献1には、固定的な運行経路を用いることしか開示されておらず、交通手段を必要とする居住者にとってできるだけ公平となるように公共交通手段の運行経路を配置することは、開示されていない。
【0004】
また、特許文献2には、送迎者から指定された停留所を通るように送迎バスの経路を決定する方法が、開示されている。しかしながら、この特許文献2にも、交通手段を必要とする居住者にとってできるだけ公平となるように公共交通手段の運行経路を配置することは、開示されていない。
【0005】
【特許文献1】特開2003−272085号公報
【特許文献2】特開2003−058682号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本案は、前述したような従来の事情に鑑みてなされたものであり、その課題は、交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置された運行経路を提案できるようにすることにある。
【課題を解決するための手段】
【0007】
上記の課題を解決するために案出された運行経路提案プログラムは、コンピュータを、所定の指示を受け付けると、地図上に複数の区画を定義する定義手段、所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、居住者の中から所定の年齢以上の居住者を抽出する抽出手段、定義手段が地図上に定義した複数の区画のそれぞれについて、その区画に住所を有するとともに抽出手段に抽出された居住者のポイントを計数する計数手段、複数の区画のそれぞれを、計数手段が計数したポイント総数に応じた表示形態にて表示する第1の表示手段、複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに抽出手段に抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第1の特定手段、その第1の特定手段が特定した中継点を全て通る運行経路を特定する第2の特定手段、及び、その第2の特定手段が特定した運行経路を地図上に表示する第2の表示手段として機能させることを、特徴としている。
【0008】
このように構成されると、コンピュータは、地図上に定義した複数の区画のそれぞれについて、所定の年齢以上の居住者の住所とポイントとに基づいて重心を求め、その重心に基づいて中継点を特定し、特定した中継点を通る運行経路案を表示するよう、動作する。ここで、各区画について特定される中継点は、その区画における重心に基づいていることから、その区画内における交通手段を必要とする所定の年齢以上の居住者にとってできるだけ公平な地点となっている。
【0009】
なお、前述した運行経路提案プログラムに係る動作は、運行経路提案システム又は運行経路提案方法によっても実現し得る。すなわち、本案は、前述した運行経路提案プログラムによりコンピュータが実現する各手段と同等に機能する複数の手段を備えた運行経路提案システムであっても良いし、それら各手段と同等の機能を複数の手順としてコンピュータが実行する運行経路提案方法であっても良い。また、本案は、そのような運行経路提案プログラムを格納したコンピュータ可読媒体であっても良い。
【発明の効果】
【0010】
以上に説明したことから、本案によれば、交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置された運行経路が、提案できるようになる。
【発明を実施するための最良の形態】
【0011】
以下、本案の実施形態である運行経路提案マシンについて、添付図面を参照しながら、説明する。
【0012】
なお、本実施形態の運行経路提案マシンは、路線バス事業を運営する自治体にとって最適な運行路線案を提示するためのマシンである。但し、本実施形態の運行経路提案マシンは、あくまでも、一つの実施形態であり、路線バス以外の公共交通手段(例えば、モノレール、路面電車、トロリーバス、路線タクシー)を事業として運営する自治体にとって最適な運行路線案を提示するものであっても良い。
【0013】
《構成》
図1は、本実施形態の運行経路提案マシン10の構成図である。
【0014】
本実施形態の運行経路提案マシン10は、運行経路提案機能が附加されたパーソナルコンピュータである。従って、運行経路提案マシン10は、液晶ディスプレイ等を含む表示ユニット10aと、キーボードやマウス等を含む入力ユニット10bと、これらユニット10a、10bに接続される本体とからなる。また、その本体は、少なくとも、ストレージユニット10c、CPU[Central Processing Unit]10d、及び、メインメモリユニット10eを、内蔵している。
【0015】
ストレージユニット10cは、各種のプログラム及び各種のデータを記録するためのユニットである。CPU10dは、ストレージユニット10c内のプログラムに従って処理を行うユニットである。メインメモリユニット10eは、CPU10dがプログラムやデータをキャッシュしたり作業領域を展開したりするためのユニットである。
【0016】
運行経路提案マシン10は、ストレージユニット10cに、オペレーティングシステムソフトウエア11を、記憶している。オペレーティングシステムソフトウエア11は、各種アプリケーションへのAPI[Application Programming Interface]やABI[Application Binary Interface]の提供、ストレージユニット10cやメインメモリユニット10eの記憶領域の管理、プロセスやタスクの管理、ファイル管理や各種設定ツールやエディタといったユーティリティのアプリケーションへの提供、及び、画面出力を多重化するための複数タスクへのウインドウの割り当てを、行うためのソフトウエアである。
【0017】
また、運行経路提案マシン10は、ストレージユニット10cに、地図閲覧ソフトウエア12を記憶している。地図閲覧ソフトウエア12は、任意の地点の地図を任意の縮尺で表示させる地図閲覧機能をコンピュータに附加するためのソフトウエアである。地図閲覧ソフトウエア12は、地図データ12aを含んでいる。地図データ12aは、道路、河川、地図記号、等高線など種々の地図構成要素を個別に表示するための複数のレイヤデータから構成されている。また、本実施形態の地図閲覧ソフトウエア12は、経路探索モジュール12bを含んでいる。経路探索モジュール12bは、道路網上において始点と終点とが指定されたときにその始点と終点を結ぶ最短経路を算出して地図上に表示するモジュールである。なお、地図閲覧ソフトウエア12は、図1に示すように、運行経路提案マシン10にインストールされたものであっても良いが、本案を実際に実施する上では、ウェブアプリケーションがネットワークを介してウェブクライアントに提供する地図閲覧サービスであっても構わない。このようなサービスとしては、例えば、DRM[Digital Road Map](財団法人日本デジタル道路地図協会の商標)や、このDRMに各社が加工を施したものがある。
【0018】
また、運行経路提案マシン10は、ストレージユニット10cに、居住者情報管理テーブル13を記憶している。居住者情報管理テーブル13は、本実施形態の運行経路提案マシン10を利用する自治体に住民登録されている各居住者に関する情報を管理するためのテーブルである。なお、自治体は、通常、住民基本台帳(住民票を世帯毎に束ねたもの)、市県民税課税台帳、軽自動車課税台帳など、自団体が管理すべき各種の台帳をデータベース化しており、居住者情報管理テーブル13は、当該自治体の有するデータベーステーブルから抽出されて、図示せぬネットワークを介した通信により、又は、図示せぬコンピュータ可読媒体に記録して運搬することにより、運行経路提案マシン10に導入されたものである。
【0019】
図2は、居住者情報管理テーブル13を模式的に示す図である。
【0020】
図2に示すように、居住者情報管理テーブル13の各レコードは、「居住者識別情報」、「世帯識別情報」、「続柄」、「年齢」、「性別」、「所得」及び「軽自動車」のフィールドを、有している。「居住者識別情報」フィールドは、その居住者を特定するための一意な居住者識別情報が記録されるフィールドである。「世帯識別情報」フィールドは、その居住者の所属する世帯を特定するための一意な世帯識別情報が記録されるフィールドである。「続柄」フィールドは、その居住者の所属する世帯の世帯主から見たその居住者の続柄が記録されるフィールドである。「年齢」フィールドは、その居住者の年齢が記録されるフィールドである。「性別」フィールドは、その居住者の性別が記録されるフィールドである。「所得」フィールドは、その居住者の所得の有無を示す所得フラグ(あり、なし)が記録されるフィールドである。なお、居住者は、収入が93万円を超えると、市民税及び県民税が課税され、納税者として自治体に把握されるようになる。このため、本実施形態では、居住者は、収入が93万円以下であると、無所得者として取り扱われる。「軽自動車」フィールドは、その居住者が軽自動車を保有しているか否かを示す軽自動車保有フラグ(あり、なし)が記録されるフィールドである。ここで、本実施形態では、軽自動車課税台帳に基づくフィールドとして、「軽自動車」フィールドが使用されているが、本案を実施する上ではこれに限定されず、各居住者が所有する自家用交通手段について自治体が把握できるものであれば何でも良い。自家用交通手段としては、例えば、自動車や自動二輪がある。なお、居住者情報管理テーブル13は、前述したフィールド以外のフィールドを更に有していても良い。
【0021】
また、運行経路提案マシン10は、図1に示すように、ストレージユニット10cに、世帯情報管理テーブル14を記憶している。世帯情報管理テーブル14は、本実施形態の
運行経路提案マシン10を利用する自治体の管轄行政区域内に住所がある世帯のうち、世帯主が当該自治体に住民登録されている世帯に関する情報を管理するためのテーブルである。なお、この世帯情報管理テーブル14も、自治体の有するデータベーステーブルから抽出されて、運行経路提案マシン10に保存されたものである。
【0022】
図3は、世帯情報管理テーブル14を模式的に示す図である。
【0023】
図3に示すように、世帯情報管理テーブル14の各レコードは、「世帯識別番号」及び「住所」のフィールドを、有している。「世帯識別番号」フィールドは、その世帯を特定するための世帯識別番号が記録されるフィールドである。「住所」フィールドは、その世帯の所在地の住所が記録されるフィールドである。なお、世帯情報管理テーブル14の各レコードは、これら2個のフィールドを最低限有していれば良く、これら2個のフィールド以外のフィールドを更に有していても良い。
【0024】
また、運行経路提案マシン10は、図1に示すように、ストレージユニット10cに、運行経路提案プログラム15を記憶している。運行経路提案プログラム15は、路線バスの最適な運行路線案を提示する運行経路提案機能をコンピュータに附加するためのプログラムである。この運行経路提案プログラム15に従ってCPU10dが実行する処理の内容については、後述する。
【0025】
《処理》
運行経路提案マシン10では、入力ユニット10bが操作者によって操作されることにより、運行経路提案プログラム15の起動が指示されると、CPU10dが、ストレージユニット10cから運行経路提案プログラム15を読み出し、運行経路提案処理を開始するようになっている。
【0026】
図4は、運行経路提案処理の流れを示す図である。
【0027】
運行経路提案処理の開始後、最初のステップS101では、CPU10dは、地図と条件設定画面とを表示ユニット10aに表示する。具体的には、CPU10dは、運行経路提案処理のためにオペレーティングシステムソフトウエア11が用意したウインドウ内に、地図用枠と操作画面用枠とを生成し、地図閲覧ソフトウエア12による機能を利用して地図用枠内に地図を表示するとともに、操作画面用枠内に条件設定画面を表示する。
【0028】
図5は、ウインドウ20内に表示される地図21と条件設定画面22の一例を示す図である。
【0029】
図5に例示するように、ウインドウ20には、本実施形態の運行経路提案マシン10を利用する自治体「OO市」の地図21が任意の縮尺にて表示されているとともに、条件設定画面22が表示されている。図5に例示しる条件設定画面22には、5個のテキストボックス22a〜22e、1個のチェックボックス22f、2個のボタン22g、22hが、含まれている。一個目のテキストボックス22aは、後述の処理により地図21上に定義される複数の正方形の区画(以後、タイルと表記)の一辺の長さを実距離で指定するための入力欄である。二個目と三個目のテキストボックス22b、22cは、後述の処理により地図21上に定義される複数のタイルの行数と列数とをそれぞれ指定するための入力欄である。四個目と五個目のテキストボックス22d、22eは、地図21上に定義された複数のタイルの中に居住点がプロットされ得る居住者を抽出するための条件となる年齢層の下限値と上限値とをそれぞれ指定するための入力欄である。1個のチェックボックス22fは、複数のタイルの中に居住点がプロットされ得る居住者が一人当たり1ポイントを持つとして後述の処理を行うか、それとも、その居住者と同一の世帯に所属する居住者
の状況に応じてポイントに重みを付けて後述の処理を行うかを、指定するための入力欄である。ここで、ポイントは、居住者の総人数に重みを付けるため、及び、後述の重心を算出する際の各居住者の重みを家庭状況に応じて変更するために採用した指標である。本実施形態では、チェックボックス22fにチェックマークが入力されると、ポイントへの加重が有効となる。逆に、チェックボックス22fからチェックマークが外されると、ポイントへの加重が無効となる(すなわち、一人当たりの人数が1となり、重心算出の際の重みが一人当たり1となる)。一個目のボタン22gは、複数のタイルの原点(左下隅)を指定しようとするときにクリックすべき原点指示ボタンである。二個目のボタン22hは、運行経路提案処理を終了させようとするときにクリックすべき終了ボタンである。
【0030】
CPU10dは、図5に例示したような地図21と条件設定画面22とを表示ユニット10aに表示した後、図4のステップS102へ処理を進める。
【0031】
ステップS102では、CPU10dは、条件設定画面22の2個のボタン22g、22hのうちの何れかがクリックされるまで、待機する。そして、何れかのボタンがクリックされると、CPU10dは、ステップS103へ処理を進める。
【0032】
ステップS103では、CPU10dは、ステップS102でクリックを検出したボタンが終了ボタン22hであるか否かを、判別する。そして、ステップS102でクリックを検出したボタンが終了ボタン22hであった場合、CPU10dは、図4に係る運行経路提案処理を終了する。一方、ステップS102でクリックを検出したボタンが終了ボタン22hでなかった場合(すなわち、クリックされたボタンが原点指示ボタン22gであった場合)、CPU10dは、ステップS103からステップS104へ処理を分岐させる。
【0033】
〈タイル生成指示受付〉
ステップS104では、CPU10dは、タイル生成指示受付サブルーチンを呼び出して実行する。
【0034】
図6は、タイル生成指示受付サブルーチンの流れを示す図である。
【0035】
タイル生成指示受付サブルーチンの開始後、最初のステップS201では、CPU10dは、地図21(図5参照)上の何れかの箇所を原点として指示する操作(例えば、左クリック)がなされるまで、待機する。そして、原点を指示する操作がなされると、CPU10dは、ステップS202へ処理を進める。
【0036】
ステップS202では、CPU10dは、地図21(図5参照)を構成する複数のレイヤに重ねられる第1のユーザレイヤに、複数の正方形のタイルを描画する。ここで描画される複数のタイルは、条件設定画面22(図5参照)の原点指示ボタン22gがクリックされた時点で一個目のテキストボックス22aに入力されていた一辺の長さを有している。また、描画される複数のタイルの縦横の個数は、原点指示ボタン22gがクリックされた時点で二個目と三個目のテキストボックス22b、22cに入力されていた行数と列数とに基づいている。
【0037】
次のステップS203では、CPU10dは、ウインドウ20の操作画面用枠内に、メッセージボックスを表示する。
【0038】
図7は、ウインドウ20内に表示される地図21とメッセージボックス23の一例を示す図である。
【0039】
図7に例示するように、ウインドウ20には、複数のタイル31の輪郭が一部に描画された地図21が表示されているとともに、メッセージボックス23が表示されている。メッセージボックス23には、地図21上に定義された複数のタイル31を用いて後述の処理を開始するか否かを照会するメッセージ23aと、3個のボタン23b〜23dとが、含まれている。一個目のボタン23bは、地図21上に定義された複数のタイル31を用いて後述の処理の開始を指示しようとするときにクリックすべきOKボタンである。二個目のボタン23cは、条件設定画面22を表示させようとするときにクリックすべき戻るボタンである。三個目のボタン22dは、原点を指示する操作を再度行おうとするときにクリックすべき再指示ボタンである。
【0040】
CPU10dは、図7に例示したような地図21とメッセージボックス23とを表示ユニット10aに表示した後、図6のステップS204へ処理を進める。
【0041】
ステップS204では、CPU10dは、メッセージボックス23の3個のボタン23b〜23dのうちの何れかがクリックされるまで、待機する。そして、何れかのボタンがクリックされると、CPU10dは、ステップS205へ処理を進める。
【0042】
ステップS205では、CPU10dは、ステップS204でクリックを検出したボタンがOKボタン23aであるか否かを、判別する。そして、ステップS204でクリックを検出したボタンがOKボタン23aでなかった場合、CPU10dは、ステップS205からステップS206へ処理を分岐させる。
【0043】
ステップS206では、CPU10dは、ステップS204でクリックを検出したボタンが戻るボタン23cであるか否かを、判別する。そして、ステップS204でクリックを検出したボタンが戻るボタン23cでなかった場合(すなわち、クリックされたボタンが再指示ボタン23dであった場合)、CPU10dは、ステップS206から処理を分岐させ、ステップS201へ処理を戻し、原点を指示する操作がなされるまで待機する状態に戻る。一方、ステップS204でクリックを検出したボタンが戻るボタン23cであった場合、CPU10dは、図6に係るタイル生成指示受付サブルーチンを離脱して、図4のステップS101へ処理を戻し、条件設定画面22を表示ユニット10aに表示する。
【0044】
また、ステップS204でクリックを検出したボタンがOKボタン23aであった場合、CPU10dは、ステップS205から処理を進め、図6に係るタイル生成指示受付サブルーチンを終了して、図4に係る運行経路提案処理に復帰し、ステップS105へ処理を進める。
【0045】
なお、図4のステップS101乃至S104と図6のステップS201乃至S206とを実行するCPU10dは、前述した定義手段に相当している。
【0046】
〈対象抽出〉
ステップS105では、CPU10dは、対象抽出サブルーチンを呼び出して実行する。
【0047】
図8は、対象抽出サブルーチンの流れを示す図である。
【0048】
対象抽出サブルーチンの開始後、最初のステップS301では、CPU10dは、条件設定画面22(図5参照)の原点指示ボタン22gがクリックされた時点で四個目と五個目のテキストボックス22d、22eに入力されていた下限値と上限値とにより規定される年齢層と、ステップS202で地図21上に定義された複数のタイル31の中に含まれ
る住所とを検索条件として、居住者情報管理テーブル13(図2参照)を検索する。
【0049】
次のステップS302では、CPU10dは、ステップS301の検索の結果、居住者情報管理テーブル13からレコードが検出されたか否かを、判別する。そして、居住者情報管理テーブル13からレコードが検出されなかった場合、CPU10dは、ステップS302からステップS303へ処理を分岐させる。
【0050】
ステップS303では、CPU10dは、ウインドウ20の操作画面用枠に、対象無しのメッセージを、一定時間表示する。一定時間経過後、CPU10dは、図8に係る対象抽出サブルーチンを離脱して、図4のステップS101へ処理を戻し、条件設定画面22を表示ユニット10aに表示する。
【0051】
一方、ステップS301の検索の結果、居住者情報管理テーブル13からレコードが検出された場合、CPU10dは、ステップS302からステップS304へ処理を進める。
【0052】
ステップS304では、CPU10dは、メインメモリユニット10eに第1のワークテーブルを生成し、居住者情報管理テーブル13から検出されたレコードを、この第1のワークテーブルに格納する。
【0053】
図9は、第1のワークテーブル41を模式的に示す図である。
【0054】
図9と図2とを比較して明かなように、第1のワークテーブル41の各レコードは、居住者情報管理テーブル13の各レコードの有するフィールドの他に、「処理済」フィールドを、有している。「処理済」フィールドは、第1のワークテーブル41に格納されたレコード1つ1つについて後述の処理を行う際に、そのレコードについて後述の処理が終わっているか否かを判別するためのフラグ情報である処理済フラグが記録されるフィールドである。なお、処理済フラグは、「0」の状態にあれば、そのレコードの処理が未だ終了していないことを意味し、「1」の状態にあれば、そのレコードの処理が終了したことを意味する。また、「処理済」フィールドには、初期値として、「0」が格納される。
【0055】
CPU10dは、居住者情報管理テーブル13から検出されたレコードを、第1のワークテーブル41に格納した後、ステップS304から処理を進め、図8に係る対象抽出サブルーチンを終了して、図4に係る運行経路提案処理に復帰し、ステップS106へ処理を進める。
【0056】
〈居住点プロット〉
ステップS106では、CPU10dは、居住点プロットサブルーチンを呼び出して実行する。
【0057】
図10は、居住点プロットサブルーチンの流れを示す図である。
【0058】
居住点プロットサブルーチンの開始後、CPU10dは、第1の処理ループL1を実行する。第1の処理ループL1では、第1のワークテーブル41(図9参照)の各レコードについて、順に、ステップS401乃至S409からなる処理を、実行する。
【0059】
ステップS401では、CPU10dは、処理対象レコードの「処理済」フィールドの値(処理済フラグ)が「1」であるか否かを、判別する。そして、処理対象レコードの「処理済」フィールドの値(処理済フラグ)が「1」であった場合、CPU10dは、第1の処理ループL1におけるこの処理対象の回を終了する。一方、処理対象レコードの「処
理済」フィールドの値(処理済フラグ)が「1」でなかった場合(すなわち、処理済フラグが「0」であった場合)、CPU10dは、ステップS401からステップS402へ処理を分岐させる。
【0060】
ステップS402では、CPU10dは、世帯情報管理テーブル14(図3参照)から、処理対象レコードの「世帯識別番号」フィールドの値(世帯識別番号)に対応する住所を、読み出す。
【0061】
次のステップS403では、CPU10dは、ポイントへの加重に関する指定が有効となっているか無効となっているかを、判別する。すなわち、CPU10dは、条件設定画面22(図5参照)の原点指示ボタン22gがクリックされた時点でチェックボックス22fにチェックマークが入力されていたか否かを、判別する。そして、CPU10dは、ポイントへの加重に関する指定が無効となっていた場合(チェックマークが入力されていなかった場合)、CPU10dは、ステップS406へ処理を進める。一方、ポイントへの加重に関する指定が有効となっていた場合、CPU10dは、ステップS403からステップS404へ処理を分岐させる。
【0062】
ステップS404では、CPU10dは、ステップS402で読み出した住所を検索条件として、世帯情報管理テーブル14(図3参照)から、別世帯のレコード(世帯識別情報の異なるレコード)を検索する。
【0063】
次のステップS405では、CPU10dは、ステップS404の検索の結果、世帯情報管理テーブル14から別世帯のレコードが検出されたか否かを、判別する。そして、世帯情報管理テーブル14から別世帯のレコードが検出されなかった場合、CPU10dは、ステップS405からステップS406へ処理を分岐させる。
【0064】
ステップS406では、CPU10dは、ステップS402で読み出した住所とポイント数が「1」であるポイントとを含むレコードを、図示せぬ第2のワークテーブルに登録する。なお、このステップS406が初めて実行される場合、CPU10dは、メインメモリユニット10eに、図示せぬ第2のワークテーブルを生成する処理も行う。
【0065】
次のステップS407では、CPU10dは、処理対象レコードの「処理済」フィールドの値(処理済フラグ)を「0」から「1」に切り替える。
【0066】
次のステップS408では、CPU10dは、地図21(図7参照)を構成する複数のレイヤに重ねられる第2のユーザレイヤにおいて、ステップS402で読み出した住所に対応する箇所にドットを、描画する。ドットが描画された地図21の一例は、図11に示されている。CPU10dは、このようなドットの描画が完了すると、第1の処理ループL1におけるこの処理対象の回を終了する。
【0067】
一方、ステップS404の検索の結果、世帯情報管理テーブル14から別世帯のレコードが検出された場合、CPU10dは、ステップS405からステップS409へ処理を進める。
【0068】
ステップS409では、CPU10dは、加重ポイント登録サブルーチンを呼び出して実行する。
【0069】
図12は、加重ポイント登録サブルーチンの流れを示す図である。
【0070】
加重ポイント登録サブルーチンの開始後、最初のステップS411では、CPU10d
は、図10のステップS404の検索により世帯情報管理テーブル14から検出された処理対象と同一住所で別世帯のレコードから世帯識別情報を読み出し、読み出した世帯識別情報と同じ世帯識別情報を持つレコードを、居住者情報管理テーブル13(図2参照)から読み出す。
【0071】
次のステップS412では、CPU10dは、メインメモリユニット10eに第3のワークテーブルを生成し、ステップS411で居住者情報管理テーブル13から読み出したレコードを、この第3のワークテーブルに格納する。
【0072】
図13は、第3のワークテーブル43を模式的に示す図である。
【0073】
図13と図2とを比較して明かなように、第3のワークテーブル43の各レコードは、居住者情報管理テーブル13の各レコードの有するフィールドの他に、「支援可否」フィールドを、有している。「支援可否」フィールドは、その居住者が、同一の世帯に所属している対象者(ステップS301で検出されたレコードに係る居住者)を支援することができる者であるか否かを示すフラグ情報である支援可否フラグが格納されるフィールドである。なお、支援可否フラグは、「0」の状態にあれば、そのレコードに係る居住者が対象者を支援することができる者でないことを意味し、「1」の状態にあれば、そのレコードに係る居住者が対象者を支援することができる者であることを意味する。また、「支援可否」フィールドには、初期値として、「0」が格納される。
【0074】
CPU10dは、居住者情報管理テーブル13から読み出したレコードを、第3のワークテーブル43に格納した後、ステップS412から処理を進め、第2の処理ループL2を実行する。第2の処理ループL2では、第3のワークテーブル43(図13参照)の各レコードについて、順に、同一世帯人支援可否判定サブルーチンを、実行する。
【0075】
図14は、同一世帯人支援可否判定サブルーチンの流れを示す図である。
【0076】
同一世帯人支援可否判定サブルーチンの開始後、最初のステップS431では、CPU10dは、処理対象レコードの「年齢」フィールドの値(年齢)が18歳以上であるか否かを、判別する。そして、年齢が18歳未満であった場合、CPU10dは、ステップS431から処理を分岐させ、図14に係る同一世帯人支援可否判定サブルーチンを終了し、図12の第2の処理ループL2におけるこの処理対象の回を終了する。一方、年齢が18歳以上であった場合、CPU10dは、ステップS432へ処理を進める。
【0077】
ステップS432では、CPU10dは、処理対象レコードの「所得」フィールドの値(所得フラグ)が「なし」であるか「あり」であるかを、判別する。そして、所得フラグ夘が「あり」であった場合、CPU10dは、ステップS432から処理を分岐させ、図14に係る同一世帯人支援可否判定サブルーチンを終了し、図12の第2の処理ループL2におけるこの処理対象の回を終了する。一方、所得フラグが「なし」であった場合、CPU10dは、ステップS433へ処理を進める。
【0078】
ステップS433では、CPU10dは、処理対象レコードの「年齢」フィールドの値(年齢)が22歳以上であるか否かを、判別する。そして、年齢が22歳以上であった場合、CPU10dは、ステップS435へ処理を進める。一方、年齢が22歳未満であった場合、CPU10dは、ステップS433からステップS434へ処理を分岐させる。
【0079】
ステップS434では、CPU10dは、処理対象レコードの「続柄」フィールドの値(世帯主から見た対象者の続柄)が所定のものであるか否かを、判別する。なお、本実施形態では、所定の続柄としては、「夫」、「妻」、「夫(未届)」、「妻(未届)」があ
る。そして、続柄が所定のものでなかった場合、CPU10dは、ステップS434から処理を分岐させ、図14に係る同一世帯人支援可否判定サブルーチンを終了し、図12の第2の処理ループL2におけるこの処理対象の回を終了する。一方、続柄が所定のものであった場合、CPU10dは、ステップS434からステップS435へ処理を進める。
【0080】
ステップS435では、CPU10dは、処理対象レコードの「支援可否」フィールドの値(支援可否フラグ)を「0」から「1」に切り替える。その後、CPU10dは、図14に係る同一世帯人支援可否判定サブルーチンを終了し、図12の第2の処理ループL2におけるこの処理対象の回を終了する。
【0081】
CPU10dは、第3のワークテーブル43(図13参照)の全てのレコードについて、同一世帯人支援可否判定サブルーチン(図14参照)を実行し終えると、第2の処理ループL2から離脱し、図12のステップS414へ処理を進める。
【0082】
ステップS414では、CPU10dは、条件設定画面22(図5参照)の原点指示ボタン22gがクリックされた時点で四個目と五個目のテキストボックス22d、22eに入力されていた下限値と上限値とにより規定される年齢層に年齢が含まれるレコードを、第3のワークテーブル43の中から、抽出する。
【0083】
次のステップS415では、CPU10dは、メインメモリユニット10eに、図示せぬ第4のワークテーブルを生成し、ステップS414で抽出したレコードを、この図示せぬ第4のワークテーブルに格納する。なお、図示せぬ第4のワークテーブルのフィールド構成は、第3のワークテーブル43(図13参照)のそれと同じである。
【0084】
CPU10dは、第3のワークテーブル43から読み出したレコードを、図示せぬ第4のワークテーブルに格納した後、ステップS415から処理を進め、第3の処理ループL3を実行する。第3の処理ループL3では、図示せぬ第4のワークテーブルの各レコードについて、順に、加重ポイント決定サブルーチンとステップS417及びS418とからなる処理を、実行する。
【0085】
図15は、加重ポイント決定サブルーチンの流れを示す図である。
【0086】
加重ポイント決定サブルーチンの開始後、最初のステップS451では、CPU10dは、処理対象レコードの「軽自動車」フィールドの値(軽自動車保有フラグ)が「あり」であるか「なし」であるかを、判別する。そして、軽自動車保有フラグが「あり」であった場合、CPU10dは、ステップS454へ処理を進める。一方、軽自動車保有フラグが「なし」であった場合、CPU10dは、ステップS451からステップS452へ処理を進める。
【0087】
ステップS452では、CPU10dは、第3のワークテーブル43(図13参照)の中に、「支援可否」フィールドの値(支援可否フラグ)が「1」であるレコードが存在しているか否かを、判別する。すなわち、CPU10dは、処理対象レコードに係る居住者(対象者)の世帯にその居住者を支援できる居住者が存在しているか否かを、判別する。そして、第3のワークテーブル43の中に、「支援可否」フィールドの値(支援可否フラグ)が「1」であるレコードが存在していた場合、CPU10dは、ステップS453へ処理を進める。
【0088】
ステップS453では、CPU10dは、第3のワークテーブル43における「支援可否」フィールドの値が「1」であるレコードの中に、「年齢」フィールドの値(年齢)が65歳未満であるレコードが存在するか否かを、判別する。そして、第3のワークテーブ
ル43における「支援可否」フィールドの値が「1」であるレコードの中に、「年齢」フィールドの値(年齢)が65歳未満であるレコードが存在していなかった場合、CPU10dは、ステップS453からステップS454へ処理を分岐させる。
【0089】
ステップS454では、CPU10dは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル14(図3参照)から読み出し、読み出した住所と、後述の第1パターンに基づく数のポイントとを含むレコードを、図示せぬ第2のワークテーブルに登録する。なお、このステップS406が初めて実行される場合、CPU10dは、メインメモリユニット10eに、図示せぬ第2のワークテーブルを生成する処理も行う。
【0090】
図16は、パターンの定義を概念的に示す図である。
【0091】
図16に示すように、本実施形態では、第1パターンから第4パターンまでが、用いられる。第1パターンでは、年齢が65歳から69歳までは、対象者のポイント数が「0」とされ、対象者の年齢が70歳以上では、対象者のポイント数が「1」とされる。また、第2パターンでは、年齢が65歳から69歳までは、対象者のポイント数が「1.5」と重み付けされ、対象者の年齢が70歳以上では、対象者のポイント数が「3」と、更に重み付けされる。また、第3パターンでは、年齢が65歳から69歳までは、対象者のポイント数が「0」とされ、対象者の年齢が70歳以上では、対象者のポイント数が「1」とされる。また、第4パターンでは、年齢が65歳から69歳までは、対象者のポイント数が「1」とされ、対象者の年齢が70歳以上では、対象者のポイント数が「2」と、重み付けされる。
【0092】
図15のステップS454では、CPU10dは、図16に示した4個のパターンのうち、第1パターンに基づいて対象者のポイント数を決定し、決定したポイント数のポイントと住所とを含むレコードを、図示せぬ第2のワークテーブルに登録する。ポイントの登録が終わると、CPU10dは、図15に係る加重ポイント決定サブルーチンを終了し、図12のステップS417へ処理を進める。
【0093】
一方、ステップS452において、第3のワークテーブル43(図13参照)の中に、「支援可否」フィールドの値(支援可否フラグ)が「1」であるレコードが存在していなかった場合(すなわち、処理対象レコードに係る居住者(対象者)の世帯にその居住者を支援できる居住者が存在していなかった場合)、CPU10dは、ステップS452からステップS455へ処理を分岐させる。
【0094】
ステップS455では、CPU10dは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル14(図3参照)から読み出し、読み出した住所と、図16に示した4個のパターンのうちの第2パターンに基づく数のポイントとを含むレコードを、図示せぬ第2のワークテーブルに登録する。なお、このステップS406が初めて実行される場合、CPU10dは、メインメモリユニット10eに、図示せぬ第2のワークテーブルを生成する処理も行う。ポイントの登録が終わると、CPU10dは、図15に係る加重ポイント決定サブルーチンを終了し、図12のステップS417へ処理を進める。
【0095】
また、ステップS453において、第3のワークテーブル43における「支援可否」フィールドの値が「1」であるレコードの中に、「年齢」フィールドの値(年齢)が65歳未満であるレコードが存在していた場合(すなわち、65歳未満の支援可能者がいた場合)、CPU10dは、ステップS456へ処理を進める。
【0096】
ステップS456では、CPU10dは、第3のワークテーブル43(図13参照)において、年齢が65歳以上で、且つ、軽自動車保有フラグが「なし」であるレコードの個数を、計数する。すなわち、CPU10dは、処理対象レコードに係る対象者と同一の世帯おいて、軽自動車を保有していない65歳以上の居住者の人数を、計数する。
【0097】
次のステップS457では、CPU10dは、ステップS456で計数した人数が0人であるか否かを、判別する。そして、ステップS456で計数した人数が0人であった場合、CPU10dは、ステップS458へ処理を進める。
【0098】
ステップS458では、CPU10dは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル14(図3参照)から読み出し、読み出した住所と、図16に示した4個のパターンのうちの第3パターンに基づく数のポイントとを含むレコードを、図示せぬ第2のワークテーブルに登録する。なお、このステップS406が初めて実行される場合、CPU10dは、メインメモリユニット10eに、図示せぬ第2のワークテーブルを生成する処理も行う。ポイントの登録が終わると、CPU10dは、図15に係る加重ポイント決定サブルーチンを終了し、図12のステップS417へ処理を進める。
【0099】
一方、ステップS457において、ステップS456で計数した人数が1人以上であった場合、CPU10dは、ステップS457からステップS459へ処理を分岐させる。
【0100】
ステップS459では、CPU10dは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル14(図3参照)から読み出し、読み出した住所と、図16に示した4個のパターンのうちの第4パターンに基づく数のポイントとを含むレコードを、図示せぬ第2のワークテーブルに登録する。なお、このステップS406が初めて実行される場合、CPU10dは、メインメモリユニット10eに、図示せぬ第2のワークテーブルを生成する処理も行う。ポイントの登録が終わると、CPU10dは、図15に係る加重ポイント決定サブルーチンを終了し、図12のステップS417へ処理を進める。
【0101】
ステップS417では、CPU10dは、第1のワークテーブル41(図9参照)における処理対象レコードと同じ居住者識別情報を持つレコードの「処理済」フィールドの値(処理済フラグ)を「0」から「1」に切り替える。
【0102】
次のステップS418では、CPU10dは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル14(図3参照)から読み出し、地図21(図7参照)を構成する複数のレイヤに重ねられる第2のユーザレイヤにおいて、読み出した住所に対応する箇所にドットを、描画する(図11参照)。CPU10dは、このようなドットの描画が完了すると、第3の処理ループL3におけるこの処理対象の回を終了する。
【0103】
CPU10dは、図示せぬ第4のワークテーブルの全てのレコードについて、加重ポイント決定サブルーチン(図15参照)とステップS417及びS418とからなる処理を実行し終えると、第3の処理ループL3から離脱する。その後、CPU10dは、図12に係る加重ポイント登録サブルーチンを終了して、図10に係る居住点プロットサブルーチンに復帰し、第1の処理ループL1におけるこの処理対象の回を終了する。
【0104】
CPU10dは、第1のワークテーブル41(図9参照)の全てのレコードについて、ステップS401乃至S409からなる処理を実行し終えると、第1の処理ループL1から離脱し、図4に係る運行経路提案処理に復帰する。その後、CPU10dは、ステップ
S107へ処理を進める。
【0105】
なお、図4のステップS101乃至S103及びステップS105乃至S107と図8のステップS301乃至S304と図10のステップS401乃至S409と図12のステップS411乃至S418と図14のステップS431乃至S435と図15のステップS451乃至S459とを実行するCPU10dは、前述した抽出手段に相当している。
【0106】
〈タイル着色〉
ステップS107では、CPU10dは、タイル着色サブルーチンを呼び出して実行する。
【0107】
図17は、タイル着色サブルーチンの流れを示す図である。
【0108】
タイル着色サブルーチンの開始後、CPU10dは、第4の処理ループL4を実行する。第4の処理ループL4では、CPU10dは、図6のステップS202で地図21上に定義された複数のタイル31のそれぞれについて、順に、ステップS501乃至S503からなる処理を実行する。
【0109】
ステップS501では、CPU10dは、第3のワークテーブル43(図13参照)から、処理対象タイル内に住所が含まれるレコードを、抽出する。
【0110】
次のステップS502では、CPU10dは、ステップS501で抽出したレコードに含まれる全てのポイント数を計数する。
【0111】
なお、これらステップS501及びS502を実行するCPU10dは、前述した計数手段に相当している。
【0112】
次のステップS503では、CPU10dは、複数のタイル31の輪郭が描画されている第1のユーザレイヤにおける処理対象に対応するタイルに対し、ステップS502で計数して得たポイント総数に応じた色を着ける。例えば、ポイント総数が0〜99では水色、100〜199では黄色、200〜299では橙色、300〜399では赤、400以上は深紫色のように、100ポイントおきにポイント総数幅を事前に決めておくとともに、各ポイント総数幅に色を決めておく。色は、ポイント総数が大きくなるほど濃色になるように決めておくと良い。タイルが着色された地図21の一例は、図18に示されている。このようにして、処理対象タイルを着色した後、CPU10dは、第4の処理ループL4におけるこの処理対象の回を終了する。
【0113】
なお、このステップS503を実行するCPU10dは、前述した第1の表示手段に相当している。
【0114】
CPU10dは、図6のステップS202で地図21上に定義された複数のタイル31の全てについて、ステップS501乃至S503からなる処理を実行し終えると、第4の処理ループL4から離脱し、ステップS504へ処理を進める。
【0115】
ステップS504では、CPU10dは、対象者の居住点がドットとして描画されている第2のユーザレイヤを非表示に切り替える。その後、CPU10dは、図17に係るタイル着色サブルーチンを終了し、図4に係る運行経路提案処理に復帰する。その後、CPU10dは、ステップS108へ処理を進める。
【0116】
ステップS108では、CPU10dは、既存運行経路表示サブルーチンを呼び出して実行する。
【0117】
図19は、既存運行経路表示サブルーチンの流れを示す図である。
【0118】
既存運行経路表示サブルーチンの開始後、最初のステップS601では、CPU10dは、地図閲覧ソフトウエア12による機能を利用して、地図データ12aの中から、複数のタイル31を定義した地図21における路線バスの既存の運行経路を表示するためのレイヤデータを、取得する。
【0119】
次のステップS602では、CPU10dは、ステップS601で取得したレイヤデータに基づくレイヤを、地図21に重ねて表示する。路線バスの既存の運行経路が重ねて表示された地図21の一例は、図20に示されている。
【0120】
次のステップS603では、CPU10dは、ウインドウ20の操作画面用枠に、指示画面を表示する。図20には、指示画面24も示されている。指示画面24には、運行経路案の始点と終点とをクリックにて指定するよう促すメッセージ24aと、1個のボタン24bとが、含まれている。ボタン24bは、運行経路案のノード(始点と終点と中継点)の指定の完了を指示しようとするときにクリックすべき確定ボタンである。なお、この確定ボタン24bは、地図21上に始点と終点と少なくとも1個の中継点とが指定されて初めてアクティブになるようになっている。CPU10dは、ウインドウ20の操作画面用枠に指示画面24を表示した後、図19に係る既存運行経路表示サブルーチンを終了し、図4に係る運行経路提案処理に復帰する。その後、CPU10dは、ステップS109へ処理を進める。
【0121】
ステップS109では、CPU10dは、ノード指定受付サブルーチンを呼び出して実行する。
【0122】
図21は、ノード指定受付サブルーチンの流れを示す図である。
【0123】
ノード指定受付サブルーチンの開始後、最初のステップS701では、CPU10dは、地図21又は指示画面24(図20参照)に入力がなされるまで、待機する。そして、地図21又は指示画面24に入力がなされると、CPU10dは、ステップS702へ処理を進める。
【0124】
ステップS702では、CPU10dは、ステップS701で検出した入力が指示画面24の確定ボタン24bのクリックであるか否かを、判別する。そして、ステップS701で検出した入力が指示画面24の確定ボタン24bのクリックでなかった場合、CPU10dは、ステップS702からステップS703へ処理を分岐させる。
【0125】
ステップS703では、CPU10dは、ステップS701で検出した入力が地図21への始点又は終点のクリックによる指定であるか否かを、判別する。そして、ステップS701で検出した入力が地図21への始点又は終点のクリックによる指定でなかった場合、CPU10dは、ステップS703からステップS704へ処理を分岐させる。
【0126】
ステップS704では、CPU10dは、ステップS701で検出した入力が、地図21上に定義されている複数のタイル31の中からのドラッグによる幾つかのタイルの選択であるか否かを、判別する。そして、複数のタイル31の中からのドラッグによる幾つかのタイルの選択でなかった場合(すなわち、入力が、地図21への任意の中継点の指定であった場合)、CPU10dは、ステップS704からステップS705へ処理を分岐さ
せる。
【0127】
ステップS705では、CPU10dは、地図21(図5参照)を構成する複数のレイヤに重ねられる第3のユーザレイヤに、指定された中継点を描画する。その後、CPU10dは、ステップS701へ処理を戻し、地図21又は指示画面24に入力がなされるまで待機する状態に戻る。
【0128】
また、ステップS701で検出した入力が地図21への始点又は終点のクリックによる指定であった場合、CPU10dは、ステップS703からステップS706へ処理を進める。
【0129】
ステップS706では、CPU10dは、地図21(図5参照)を構成する複数のレイヤに重ねられる第3のユーザレイヤに、指定された始点又は終点を描画する。その後、CPU10dは、ステップS701へ処理を戻し、地図21又は指示画面24に入力がなされるまで待機する状態に戻る。
【0130】
また、ステップS701で検出した入力が、地図21上に定義されている複数のタイル31の中からのドラッグによる幾つかのタイルの選択であった場合、CPU10dは、ステップS704からステップS707へ処理を進める。
【0131】
ステップS707では、CPU10dは、中継点自動決定サブルーチンを呼び出して実行する。
【0132】
図22は、中継点自動決定サブルーチンの流れを示す図である。
【0133】
中継点自動決定サブルーチンの開始後、CPU10dは、第5の処理ループL5を実行する。第5の処理ループL5では、CPU10dは、複数のタイル31の中から選択された幾つかのタイルのそれぞれについて、順に、ステップS731乃至S738からなる処理を、実行する。
【0134】
ステップS731では、CPU10dは、図示せぬ第2のワークテーブルから、処理対象タイル内に住所が含まれるレコードを抽出する。
【0135】
次のステップS732では、CPU10dは、重心を特定する。具体的には、CPU10dは、ステップS731で抽出したレコード内の住所から、各レコードについて緯度と経度とを特定する。続いて、CPU10dは、緯度とポイント数とを乗じた値を、各レコードについて算出し、算出した値の総和をレコード数で除算する。これにより、CPU10dは、重心の緯度を算出する。CPU10dは、経度についても同じように演算を行うことにより、重心の経度を算出する。なお、重心が示された選択タイルの例は、図23に示されている。
【0136】
次のステップS733では、CPU10dは、地図21を構成するレイヤのうち、道路の描画や経路探索などに利用される道路中心線(複数の線分からなる)が記録されているレイヤに注目し、処理対象タイル内から、所定幅員(例えば5m以上)の道路の道路中心線を、検索する。
【0137】
次のステップS734では、CPU10dは、所定幅員の道路の道路中心線が処理対象タイル内から検出されたか否かを、判別する。そして、所定幅員の道路の道路中心線が処理対象タイル内から検出されなかった場合、CPU10dは、ステップS734からステップS735へ処理を分岐させる。
【0138】
ステップS735では、CPU10dは、検索範囲を、道路中心線の検索を行ったタイルの外側においてそのタイルと隣接するタイルに変更し、再度、所定幅員の道路の道路中心線を、検索する。その後、CPU10dは、ステップS734へ処理を戻す。
【0139】
なお、ステップS734とS735とが繰り返し行われると、道路中心線の検索範囲が、処理対象タイルの外側に順次推移していくこととなる。すなわち、所定幅員の道路の道路中心線が処理対象タイルから検出されなかった場合(ステップS733、S734;いいえ)、処理対象タイルの外側に隣接する8個のタイルが検索範囲とされる(図24参照)。その8個のタイルから所定幅員の道路の道路中心線が検出されなかった場合(ステップS735、S734;いいえ)、その8個のタイルの外側でこれらと隣接する16個のタイルが検索範囲とされる。このようにして検索範囲が広げられることにより、何れ、所定幅員の道路の道路中心線が検出されることとなる。この処理は、路線バスのバス停(中継点)が設置できるような比較的広い幅員を持つ幹線道路が、処理対象タイル内に存在していなくても、処理対象タイルの外側にある幹線道路が必ず抽出されることを、意味している。
【0140】
そして、所定幅員の道路の道路中心線が検索範囲から検出されると、CPU10dは、ステップS734からステップS736へ処理を進める。
【0141】
ステップS736では、CPU10dは、ステップS733又はS735の検索により検出された道路中心線(複数の線分からなる)の中から、ステップS732で処理対象タイルについて特定した重心を通る直線に対して直交する道路中心線(線分)を、抽出する。
【0142】
次のステップS737では、CPU10dは、ステップS736で抽出した道路中心線(線分)の中から、処理対象タイルの重心からの距離が最も短い道路中心線(線分)を、特定する。図25を用いて具体的に説明する。図25には、A乃至Hの道路中心線(線分)と重心とが表記されたタイルが、例示されている。この図25において、C、E、Fの道路中心線(線分)が、重心を通る直線と直交しており、各々の重心までの距離は、200m、40m、30mとなっている。この場合、重心までの距離が最も短いFの道路中心線が、ステップS737で特定される。
【0143】
次のステップS738では、CPU10dは、ステップS737で特定した道路中心線における重心を通る直線との交点を、中継点として決定する。図25には、C、E、Fの道路中心線(線分)における重心を通る直線との交点が、それぞれ、P3、P2、P1として示されており、ステップS738では、重心までの距離が最も短いFの道路中心線における重心を通る直線との交点P1が、特定される。その後、CPU10dは、第5の処理ループL5におけるこの処理対象の回を終了する。
【0144】
CPU10dは、複数のタイル31の中から選択された幾つかのタイルの全てについて、ステップS731乃至S738からなる処理を実行し終えると、第5の処理ループL5から離脱し、図22に係る中継点自動決定サブルーチンを終了する。なお、この図22に係る中継点自動決定サブルーチンにより、選択されたタイルのそれぞれについて重心が決定されるとともに、決定された重心に基づいて、路線バスのバス停とすべき中継点が決定される(図26参照)。その後、CPU10dは、図21に係るノード指定受付サブルーチンに復帰し、ステップS708へ処理を進める。
【0145】
なお、図4のステップS109と図21のステップS701乃至S704及びS707と図22のステップS731乃至S738とを実行するCPU10dは、前述した第1の
特定手段に相当している。
【0146】
ステップS708では、CPU10dは、地図21(図5参照)を構成する複数のレイヤに重ねられる第3のユーザレイヤに、図22に係る中継点自動決定サブルーチンで決定した中継点を描画する。その後、CPU10dは、ステップS701へ処理を戻し、地図21又は指示画面24に入力がなされるまで待機する状態に戻る。
【0147】
一方、ステップS702において、ステップS701で検出した入力が指示画面24の確定ボタン24bのクリックであった場合、CPU10dは、図21に係るノード指定受付サブルーチンを終了し、図4に係る運行経路提案処理に復帰して、ステップS110へ処理を進める。
【0148】
ステップS110では、CPU10dは、運行経路案表示サブルーチンを呼び出して実行する。
【0149】
図27は、運行経路案表示サブルーチンの流れを示す図である。
【0150】
運行経路案表示サブルーチンの開始後、最初のステップS801では、CPU10dは、ウインドウ20の操作画面用枠に、図示せぬメッセージボックスを表示する。この図示せぬメッセージボックスには、3個のボタンが含まれている。一個目のボタンは、指定したノード(始点、終点、中継点)を通る運行経路案の表示を指示しようとするときにクリックすべき実行ボタンである。二個目のボタンは、条件設定画面22(図5参照)を表示させようとするときにクリックすべき戻るボタンである。三個目のボタンは、ノードを指定する操作を再度行おうとするときにクリックすべき再指定ボタンである。
【0151】
次のステップS802では、CPU10dは、ステップS801で表示した図示せぬメッセージボックス内の3個のボタンのうちの何れかがクリックされるまで、待機する。そして、何れかのボタンがクリックされると、CPU10dは、ステップS803へ処理を進める。
【0152】
ステップS803では、CPU10dは、ステップS802でクリックを検出したボタンが実行ボタンであるか否かを、判別する。そして、ステップS802でクリックを検出したボタンが実行ボタンでなかった場合、CPU10dは、ステップS803からステップS804へ処理を分岐させる。
【0153】
ステップS804では、CPU10dは、ステップS802でクリックを検出したボタンが戻るボタンであるか否かを、判別する。そして、ステップS802でクリックを検出したボタンが戻るボタンであった場合、CPU10dは、図27に係る運行経路案表示サブルーチンを離脱して、図4のステップS101へ処理を戻し、条件設定画面22を表示ユニット10aに表示する。一方、ステップS802でクリックを検出したボタンが戻るボタンでなかった場合(すなわち、クリックされたボタンが再指定ボタンであった場合)、CPU10dは、図27に係る運行経路案表示サブルーチンを離脱して、図4のステップS109へ処理を戻し、ノードの指定を受け付ける処理を再実行する。
【0154】
一方、ステップS802でクリックを検出したボタンが実行ボタンであった場合、CPU10dは、ステップS803からステップS805へ処理を進める。
【0155】
ステップS805では、CPU10dは、地図閲覧ソフトウエア12の経路探索モジュール12bに対し、この時点で確定しているノード(始点、終点、中継点)を引数として与え、その経路探索モジュール12bから、戻り値として、運行経路案を取得する。運行
経路案のデータは、始点から終点までの道路中心線(線分)の組み合わせとなっている。
【0156】
なお、図4のステップS110と図27のステップS801乃至S805を実行するCPU10dは、前述した第2の特定手段に相当している。
【0157】
次のステップS806では、CPU10dは、ステップS805で取得した運行経路案を第4のユーザレイヤに描画することによって、地図21に重ねて表示する。運行経路案が重ねて表示された地図21の例は、図28に示している。その後、CPU10dは、図27に係る運行経路案表示サブルーチンを終了して、図4に係る運行経路提案処理に復帰し、ステップS111へ処理を進める。
【0158】
なお、ステップS806を実行するCPU10dは、前述した第2の表示手段に相当している。
【0159】
ステップS111では、CPU10dは、保存指示受付サブルーチンを呼び出して実行する。
【0160】
図29は、保存指示受付サブルーチンの流れを示す図である。
【0161】
保存指示受付サブルーチンの開始後、最初のステップS901では、CPU10dは、ウインドウ20の操作画面用枠に、図示せぬメッセージボックスを表示する。図示せぬメッセージボックスには、2個のボタンが含まれている。一個目のボタンは、ステップS110で表示した運行経路案のデータを保存しようとするときにクリックすべき保存ボタンである。二個目のボタンは、運行経路案のデータを保存せずに条件設定画面22(図5参照)を表示させようとするときにクリックすべき戻るボタンである。
【0162】
次のステップS902では、CPU10dは、ステップS901で表示した図示せぬメッセージボックス内の2個のボタンのうちの何れかがクリックされるまで、待機する。そして、何れかのボタンがクリックされると、CPU10dは、ステップS903へ処理を進める。
【0163】
ステップS903では、CPU10dは、ステップS902でクリックを検出したボタンが保存ボタンであるか否かを、判別する。そして、ステップS902でクリックを検出したボタンが保存ボタンでなかった場合、CPU10dは、ステップS903から処理を分岐させ、図29に係る保存指示受付サブルーチンを終了して、図4に係る運行経路提案処理に復帰し、ステップS101へ処理を戻す。一方、ステップS902でクリックを検出したボタンが保存ボタンであった場合、CPU10dは、ステップS903からステップS904へ処理を進める。
【0164】
ステップS904では、CPU10dは、図27のステップS805で取得した運行経路案のデータを1つのレイヤデータとしてストレージユニット10cに保存する。その後、CPU10dは、図29に係る保存指示受付サブルーチンを終了して、図4に係る運行経路提案処理に復帰し、ステップS101へ処理を戻す。
【0165】
《作用効果》
本実施形態の運行経路提案マシン10では、操作者が、運行経路提案プログラム15の実行を指示すると、地図21と条件設定画面22とが表示される(ステップS101、図5)。操作者が、条件設定画面22に、タイルの大きさと、タイルの縦横の個数と、運行経路策定の際に考慮の対象となる年齢層とを入力し、その後、地図21上において原点を指定すると、地図21上におけるその原点の第一象限の領域に、指定された個数のタイル
31が定義されて、それらタイルの輪郭が地図21上に描画される(ステップS102、S103;いいえ、S104、S201、S202)。その後、操作者が、地図21上に定義された複数のタイル31を対象とした処理の実行を指示すると、そのタイル内に住所を持つ指定年齢層の居住者のポイント数の総数が算出され、各タイルが着色される(ステップS104、S203、S204、S205;はい、S105、S301、S302;はい、S304、S106、S401乃至S409、S107、S501乃至S503)。
【0166】
ここで、図5の条件設定画面22のチェックボックス22fにチェックマークが入力されていなかった場合、タイル内に住所を持つ指定年齢層の居住者のポイント数は、一人当たり1ポイントとなっている(ステップS403;はい、S406)。従って、この場合、タイル内に住所を持つ指定年齢層の居住者のポイント数の総数は、単純に居住者の総人数となっている。
【0167】
これに対し、図5の条件設定画面22のチェックボックス22fにチェックマークが入力されていた場合、タイル内に住所を持つ指定年齢層の居住者のポイント数は、その指定年齢層の居住者の家庭状況に応じて変化するようになっている(ステップS403;いいえ、S405乃至S409)。具体的には、まず、その指定年齢層の居住者に対し、同一住所の別世帯が存在しているか否かが確認され(ステップS404)、同一住所の別世帯が存在していなければ、その指定年齢層の居住者のポイント数は1ポイントとされる(ステップS405;いいえ、S406)。これに対し、同一住所の別世帯が存在していれば、その指定年齢層の居住者には同居親族がいるとして、その同居親族の状況が確認される(ステップS405;はい、S409)。
【0168】
まず、その指定年齢層の居住者は、同居親族がいたとしても、軽自動車を保有していて尚且つ70歳未満であった場合には、ポイント数は0ポイントとされ(ステップS451;はい、S454、図16)、軽自動車を保有していて70歳以上であれば、ポイント数は1ポイントとされる。
【0169】
また、その指定年齢層の居住者は、軽自動車を保有していない場合には、支援可能者(22歳以上で所得のない者、又は、18歳から21歳までで専業主婦か専業主夫(図14参照))が同居親族にいるか否かが確認され(ステップS451;いいえ、S452)、支援可能者が同居親族にいなくて70歳未満であれば、ポイント数が1.5ポイントとされ、支援可能者が同居親族にいなくて70歳以上であれば、ポイント数が3ポイントとされる(ステップS451;いいえ、S452;いいえ、S455、図16)。つまり、軽自動車も支援可能者もない場合には、交通手段の必要性が高くなるため、指定年齢層の居住者のポイント数には、重みが加わることとなる(第2パターン)。
【0170】
また、その指定年齢層の居住者が軽自動車を保有していない場合において、支援可能者が同居親族にいたとしても、その支援可能者が65歳以上であれば、同一住所の全世帯は、事実上の高齢者世帯であるため、指定年齢層の居住者のポイント数は、軽自動車を保有している場合と同様のポイント数となる(ステップS451;いいえ、S452;はい、S453;いいえ、S454、図16)。
【0171】
また、その指定年齢層の居住者が軽自動車を保有していない場合において、65歳未満の支援可能者が同居親族にいたときには、同一住所の全世帯の中から、軽自動車を保有していな65歳以上の居住者の人数が確認される(ステップS453;はい、S456)。その人数が0人であれば、支援可能者の負担が軽いため、指定年齢層の居住者のポイント数は、軽自動車を保有している場合と同様のポイント数となる。逆に、その人数が1人以上であると、支援可能者の負担が重くなるため、その指定年齢層の居住者のポイント数は
、70歳未満であれば1ポイントとされ、70歳以上では2ポイントとされる。つまり、軽自動車を保有してなくて65歳未満の支援可能者がいたとしても、同一住所の全世帯に、軽自動車を保有していない65歳以上の居住者がいれば、やはり、交通手段の必要性が高くなるため、指定年齢層の居住者のポイント数には、重みが加わることとなる(第4パターン)。
【0172】
このように、図5の条件設定画面22のチェックボックス22fにチェックマークが入力されていた場合、タイル内に住所を持つ指定年齢層の居住者のポイント数の総数は、単純に居住者の総人数とならず、各居住者の家庭状況に応じて加重された総人数となっている。
【0173】
従って、図5の条件設定画面22のチェックボックス22fにチェックマークが入力されたときと、されなかったときとで、地図21上に定義されている複数のタイル31の着色結果が、変わることとなる。
【0174】
また、複数のタイル31が着色された後、路線バスの既存の運行経路が地図21上に表示される(ステップS108、S601、S602)。これにより、操作者は、濃色のタイルに既存の運行経路がなかったときには、路線バスの運行経路の変更や新規路線の新設が必要だと判断することができる。
【0175】
また、路線バスの既存の運行経路が地図21上に表示された後、操作者は、路線バスの運行経路案を表示させるための作業に取りかかれるようになる(ステップS109、S701)。その作業においては、操作者は、地図21上へのクリックにて、運行経路案の始点と終点とを指定することができる(ステップS702;いいえ、S703;はい、S706)。また、操作者は、バス停を設置すべき任意の地点を中継点としてクリックで指定することができる(ステップS702;いいえ、S703;いいえ、S704;いいえ、S705)。更に、操作者は、タイルを選択することにより、そのタイル内に自動的に中継点を設定することもできる(ステップS702;いいえ、S703;いいえ、S704;はい、S707、S708)。
【0176】
その中継点の自動設定においては、まず、各タイルについて、重心が特定される(ステップS707、S731、S732)。ここで、図5の条件設定画面22のチェックボックス22fにチェックマークが入力されていなかった場合、タイル内に住所を持つ指定年齢層の居住者のポイント数は、一人当たり1ポイントであるので、重心は、居住者の重さが均一である場合の平衡点を意味し、従来の人口重心と同じ意味を持つこととなる。一方、図5の条件設定画面22のチェックボックス22fにチェックマークが入力されていた場合、タイル内に住所を持つ指定年齢層の居住者のポイント数は、前述したように、居住者の家庭状況に応じて加重されるため、重心は、居住者の重さが家庭状況に応じて変化した場合の平衡点を意味し、従来の人口重心とは意味合いが若干異なることとなる。
【0177】
換言すると、図5の条件設定画面22のチェックボックス22fにチェックマークが入力されなかったときには、各タイルの重心は、高齢者の単純な分布の偏りに基づき、図5の条件設定画面22のチェックボックス22fにチェックマークが入力されたときには、各タイルの重心は、高齢者の家庭状況を加味した分布の偏りに基づくこととなる。
【0178】
このようにして、各タイルについて、重心が特定されると、所定幅員の道路における重心に最も近い地点が中継点として特定される(ステップS707、S733乃至S738)。このように、各タイルについて特定される中継点は、そのタイルにおける重心に基づいていることから、そのタイル内における交通手段を必要とする指定年齢の居住者にとってできるだけ公平な地点となっている。
【0179】
従って、このように自動設定された中継点を用いて運行経路案を表示させれば(ステップS110、S801乃至S806)、操作者は、交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置された運行経路を知ることができる。
【0180】
《ユニットに関する説明》
以上に説明した本実施形態において、運行経路提案マシン10内の各ユニット10a〜10eは、何れも、ソフトウエア要素とハードウエア要素とから構成されていても良いし、ハードウエア要素のみで構成されていても良い。
【0181】
ソフトウエア要素としては、インターフェースプログラム、ドライバプログラム、テーブル、及び、データ、並びに、これらのうちの幾つかを組み合わせたものが、例示できる。これらは、後述のコンピュータ可読媒体に格納されたものであっても良いし、ROM[Read Only Memory]及びLSI[Large Scale Integration]などの記憶装置に固定的に組み込まれたファームウエアであっても良い。
【0182】
また、ハードウエア要素としては、FPGA[Field Programmable Gate Array]、ASIC[Application Specific Integrated Circuit]、ゲートアレイ、論理ゲートの組み合わせ、信号処理回路、アナログ回路、及び、その他の回路が、例示できる。このうち、論理ゲートには、AND、OR、NOT、NAND、NOR、フリップフロップ、カウンタ回路などが、含まれていてもよい。また、信号処理回路には、信号値の加算、乗算、除算、反転、積和演算、微分、積分などを実行する回路要素が、含まれていてもよい。また、アナログ回路には、増幅、加算、乗算、微分、積分などを実行する回路要素が、含まれていてもよい。
【0183】
なお、前述した運行経路提案マシン10内の各ユニット10a〜10eをそれぞれ構成する要素は、以上に例示したものに限定されず、これらと等価な他の要素であっても良い。
【0184】
《ソフトウエア及びプログラムに関する説明》
以上に説明した本実施形態において、運行経路提案マシン10内の各ソフトウエア11、12、各テーブル13、14、及び、運行経路提案プログラム15、並びに、前述したソフトウエア要素は、何れも、ソフトウエア部品、手続き型言語による部品、オブジェクト指向ソフトウエア部品、クラス部品、タスクとして管理される部品、プロセスとして管理される部品、関数、属性、プロシジャ(手続き)、サブルーチン(ソフトウエアルーチン)、プログラムコードの断片又は部分、ドライバ、ファームウェア、マイクロコード、コード、コードセグメント、エクストラセグメント、スタックセグメント、プログラム領域、データ領域、データ、データベース、データ構造、フィールド、レコード、テーブル、マトリックステーブル、配列、変数、パラメータなどの要素を、含んでいても良い。
【0185】
また、前述した運行経路提案マシン10内の各ソフトウエア11、12、各テーブル13、14、及び、運行経路提案プログラム15、並びに、前述したソフトウエア要素は、何れも、C言語、C++、Java(米国サンマイクロシステムズ社の商標)、ビジュアルベーシック(米国マイクロソフト社の商標)、Perl、Ruby、その他の多くのプログラミング言語により記述されたものであっても良い。
【0186】
また、前述した運行経路提案マシン10内の各ソフトウエア11、12、各テーブル13、14、及び、運行経路提案プログラム15、並びに、前述したソフトウエア要素に含まれる命令、コード及びデータは、有線ネットワークカード及び有線ネットワークを通じて、又は、無線カード及び無線ネットワークを通じて、コンピュータ、又は、機械若しく
は装置に組み込まれたコンピュータに、送信又はローディングされても良い。
【0187】
前述した送信又はローディングにおいて、データ信号は、例えば搬送波に組み込まれることにより、有線ネットワーク又は無線ネットワーク上を移動する。但し、データ信号は、前述した搬送波に依らず、いわゆるベースバンド信号のまま転送されても良い。このような搬送波は、電気的、磁気的又は電磁的な形態、光、音響、又は、その他の形態で、送信される。
【0188】
ここで、有線ネットワーク又は無線ネットワークは、例えば、電話回線、ネットワーク回線、ケーブル(光ケーブル、金属ケーブルを含む)、無線リンク、携帯電話アクセス回線、PHS[Personal Handyphone System]網、無線LAN[Local Area Network]、Bluetooth(ブルートゥース特別利益団体の商標)、車両搭載型無線通信(DSRC[Dedicated Short Range Communication]を含む)、及び、これらのうちの何れかからなるネットワークである。そして、このデータ信号は、命令、コード及びデータを含む情報を、ネットワーク上のノード又は要素に、伝達する。
【0189】
なお、前述した運行経路提案マシン10内の各ソフトウエア11、12、各テーブル13、14、及び、運行経路提案プログラム15、並びに、前述したソフトウエア要素を構成する要素は、以上に例示したものに限定されず、これらと等価な他の要素であっても良い。
【0190】
《コンピュータ可読媒体に関する説明》
以上に説明した本実施形態における何れかの機能は、コード化されてコンピュータ可読媒体の記憶領域に格納されていても良い。この場合、その機能を実現するためのプログラムが、このコンピュータ可読媒体を介して、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに、提供され得る。コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータは、コンピュータ可読媒体の記憶領域からプログラムを読み出してそのプログラムを実行することによって、その機能を実現することができる。
【0191】
ここで、コンピュータ可読媒体とは、電気的、磁気的、光学的、化学的、物理的又は機械的な作用によって、プログラム及びデータ等の情報を蓄積するとともに、コンピュータに読み取られ得る状態でその情報を保持する記録媒体をいう。
【0192】
電気的又は磁気的な作用としては、ヒューズによって構成されるROM[Read Only Memory]上の素子へのデータの書き込みが、例示できる。磁気的又は物理的な作用としては、紙媒体上の潜像へのトナーの現像が、例示できる。なお、紙媒体に記録された情報は、例えば、光学的に読み取ることができる。光学的且つ化学的な作用としては、基盤上での薄膜形成又は凹凸形成が、例示できる。なお、凹凸の形態で記録された情報は、例えば、光学的に読み取ることができる。化学的な作用としては、基板上での酸化還元反応、又は、半導体基板上での酸化膜形成、窒化膜形成、若しくは、フォトレジスト現像が、例示できる。物理的又は機械的な作用としては、エンボスカードへの凹凸形成、又は、紙媒体へのパンチの穿孔が、例示できる。
【0193】
また、コンピュータ可読媒体の中には、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに着脱自在に装着できるものがある。着脱自在なコンピュータ可読媒体としては、DVD(DVD−R、DVD−RW、DVD−ROM、DVD−RAMを含む)、+R/+WR、BD(BD−R、BD−RE、BD−ROMを含む)、CD[Compact Disk](CD−R、CD−RW、CD−ROMを含む)、MO[Magneto Optical]ディスク、その他の光ディスク媒体、フレキシブルディスク(フロッピーディスク(フロッピーは日立製作所社の商標)を含む)、その他の磁気ディスク媒体、メモリーカード
(コンパクトフラッシュ(米国サンディスク社の商標)、スマートメディア(東芝社の商標)、SDカード(米国サンディスク社、松下電器産業社、東芝社の商標)、メモリースティック(ソニー社の商標)、MMC(米国ジーメンス社、米国サンディスク社の商標)など)、磁気テープ、及び、その他のテープ媒体、並びに、これらのうちの何れかを内蔵した記憶装置が、例示できる。記憶装置には、DRAM[Dynamic Random Access Memory]又はSRAM[Static Random Access Memory]がさらに内蔵されたものもある。
【0194】
また、コンピュータ可読媒体の中には、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに固定的に装着されたものがある。この種のコンピュータ可読媒体としては、ハードディスク、DRAM、SRAM、ROM、EEPROM[Electronically Erasable and Programmable Read Only Memory]、フラッシュメモリなどが、例示できる。
【0195】
前述した本実施形態に関し、更に、以下の付記を開示する。
【0196】
(付記1)
コンピュータを、
所定の指示を受け付けると、地図上に複数の区画を定義する定義手段、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出手段、
前記定義手段が前記地図上に定義した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出手段に抽出された居住者のポイントを計数する計数手段、
前記複数の区画のそれぞれを、前記計数手段が計数したポイント総数に応じた表示形態にて表示する第1の表示手段、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出手段に抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第1の特定手段、
前記第1の特定手段が特定した中継点を全て通る運行経路を特定する第2の特定手段、及び、
前記第2の特定手段が特定した運行経路を前記地図上に表示する第2の表示手段
として機能させる
ことを特徴とする運行経路提案プログラム。
【0197】
(付記2)
前記記憶手段には、居住者のそれぞれについて、年齢と住所と納税の有無を特定するための納税情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出手段は、前記居住者の中から抽出した居住者のうち、納税の無い18歳以上の居住者が同一世帯に存在していない居住者については、ポイント数に重みを加える
ことを特徴とする付記1記載の運行経路提案プログラム。
【0198】
(付記3)
前記記憶手段には、居住者のそれぞれについて、年齢と住所と自家用交通手段の保有の有無を特定するための保有情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出手段は、前記居住者の中から抽出した居住者のうち、自家用交通手段を保有していない前記所定の年齢以上の居住者が同一世帯に存在している居住者については、ポイント数に重みを加える
ことを特徴とする付記1又は2記載の運行経路提案プログラム。
【0199】
(付記4)
前記第1の特定手段は、算出した重心に最も近い道路におけるその重心に最も近い地点を、前記公共交通手段が経由すべき中継点として特定する
ことを特徴とする付記1、2又は3記載の運行経路提案プログラム。
【0200】
(付記5)
前記コンピュータを、更に、
前記公共交通手段の運行経路の始点とすべき地点と終点とすべき地点とを受け付ける受付手段
として機能させ、
前記第2の特定手段は、前記受付手段が受け付けた始点と、前記第1の特定手段が特定した全ての中継点と、前記受付手段が受け付けた終点とを通る運行経路を、特定する
ことを特徴とする付記1、2、3又は4記載の運行経路提案プログラム。
【0201】
(付記6)
所定の指示を受け付けると、地図上に複数の区画を定義する定義部、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出部、
前記定義部が前記地図上に設定した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出部に抽出された居住者のポイントを計数する計数部、
前記複数の区画のそれぞれを、前記計数部が計数したポイント総数に応じた表示形態にて表示する第1の表示部、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出部に抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第1の特定部、
前記第1の特定部が特定した中継点を全て通る運行経路を特定する第2の特定部、及び、
前記第2の特定部が特定した運行経路を前記地図上に表示する第2の表示部
を備えることを特徴とする運行経路提案システム。
【0202】
(付記7)
前記記憶手段には、居住者のそれぞれについて、年齢と住所と納税の有無を特定するための納税情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出部は、前記居住者の中から抽出した居住者のうち、納税の無い18歳以上の居住者が同一世帯に存在していない居住者については、ポイント数に重みを加える
ことを特徴とする付記6記載の運行経路提案システム。
【0203】
(付記8)
前記記憶手段には、居住者のそれぞれについて、年齢と住所と自家用交通手段の保有の有無を特定するための保有情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出部は、前記居住者の中から抽出した居住者のうち、自家用交通手段を保有していない前記所定の年齢以上の居住者が同一世帯に存在している居住者については、ポイント数に重みを加える
ことを特徴とする付記6又は7記載の運行経路提案システム。
【0204】
(付記9)
前記第1の特定部は、算出した重心に最も近い道路におけるその重心に最も近い地点を、前記公共交通手段が経由すべき中継点として特定する
ことを特徴とする付記6、7又は8記載の運行経路提案システム。
【0205】
(付記10)
前記公共交通手段の運行経路の始点とすべき地点と終点とすべき地点とを受け付ける受付部
を更に備え、
前記第2の特定部は、前記受付部が受け付けた始点と、前記第1の特定部が特定した全ての中継点と、前記受付部が受け付けた終点とを通る運行経路を、特定する
ことを特徴とする付記6、7、8又は9記載の運行経路提案システム。
【0206】
(付記11)
コンピュータが、
所定の指示を受け付けると、地図上に複数の区画を定義する定義手順、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出手順、
前記定義手順で前記地図上に設定した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出手順で抽出された居住者のポイントを計数する計数手順、
前記複数の区画のそれぞれを、前記計数手順で計数したポイント総数に応じた表示形態にて表示する第1の表示手順、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出手順で抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第1の特定手順、
前記第1の特定手順で特定した中継点を全て通る運行経路を特定する第2の特定手順、及び、
前記第2の特定手順で特定した運行経路を前記地図上に表示する第2の表示手順
を実行する
ことを特徴とする運行経路提案方法。
【0207】
(付記12)
前記記憶手段には、居住者のそれぞれについて、年齢と住所と納税の有無を特定するための納税情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記コンピュータが、
前記抽出手順において、前記居住者の中から抽出した居住者のうち、納税の無い18歳以上の居住者が同一世帯に存在していない居住者については、ポイント数に重みを加えることを特徴とする付記11記載の運行経路提案方法。
【0208】
(付記13)
前記記憶手段には、居住者のそれぞれについて、年齢と住所と自家用交通手段の保有の有無を特定するための保有情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記コンピュータが、
前記抽出手順において、前記居住者の中から抽出した居住者のうち、自家用交通手段を保有していない前記所定の年齢以上の居住者が同一世帯に存在している居住者については、ポイント数に重みを加える
ことを特徴とする付記11又は12記載の運行経路提案方法。
【0209】
(付記14)
前記コンピュータが、
前記第1の特定手順において、算出した重心に最も近い道路におけるその重心に最も近い地点を、前記公共交通手段が経由すべき中継点として特定する
ことを特徴とする付記11、12又は13記載の運行経路提案方法。
【0210】
(付記15)
前記コンピュータが、更に、
前記公共交通手段の運行経路の始点とすべき地点と終点とすべき地点とを受け付ける受付手順
を実行し、
前記第2の特定手順において、前記受付手順で受け付けた始点と、前記第1の特定手順で特定した全ての中継点と、前記受付手順で受け付けた終点とを通る運行経路を、特定する
ことを特徴とする付記11、12、13又は14記載の運行経路提案方法。
【図面の簡単な説明】
【0211】
【図1】本実施形態の運行経路提案マシンの構成図
【図2】居住者情報管理テーブルを模式的に示す図
【図3】世帯情報管理テーブルを模式的に示す図
【図4】運行経路提案処理の流れを示す図
【図5】ウインドウ内に表示される地図と条件設定画面の一例を示す図
【図6】タイル生成指示受付サブルーチンの流れを示す図
【図7】ウインドウ内に表示される地図とメッセージボックスの一例を示す図
【図8】対象抽出サブルーチンの流れを示す図
【図9】第1のワークテーブルを模式的に示す図
【図10】居住点プロットサブルーチンの流れを示す図
【図11】ドットが描画された地図の一例を示す図
【図12】加重ポイント登録サブルーチンの流れを示す図
【図13】第3のワークテーブルを模式的に示す図
【図14】同一世帯人支援可否判定サブルーチンの流れを示す図
【図15】加重ポイント決定サブルーチンの流れを示す図
【図16】パターンの定義を概念的に示す図
【図17】タイル着色サブルーチンの流れを示す図
【図18】タイルが着色された地図の一例を示す図
【図19】既存運行経路表示サブルーチンの流れを示す図
【図20】路線バスの既存の運行経路が重ねて表示された地図の一例を示す図
【図21】ノード指定受付サブルーチンの流れを示す図
【図22】中継点自動決定サブルーチンの流れを示す図
【図23】重心が示された選択タイルの例を示す図
【図24】検索範囲を1個のタイルからそのタイルの外側に隣接する8個のタイルに変更する例を示す図
【図25】複数の道路中心線と重心とが表記されたタイルの一例を示す図
【図26】各タイルにおける重心と中継点との関係の一例を示す図
【図27】運行経路案表示サブルーチンの流れを示す図
【図28】運行経路案が重ねて表示された地図の例を示す図
【図29】保存指示受付サブルーチンの流れを示す図
【符号の説明】
【0212】
10 運行経路提案マシン
10a 表示ユニット
10b 入力ユニット
10c ストレージユニット
10d CPU
10e メインメモリユニット
12 地図閲覧ソフトウエア
12a 地図データ
12b 経路探索モジュール
13 居住者情報管理テーブル
14 世帯情報管理テーブル
15 運行経路提案プログラム

【特許請求の範囲】
【請求項1】
コンピュータを、
所定の指示を受け付けると、地図上に複数の区画を定義する定義手段、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出手段、
前記定義手段が前記地図上に定義した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出手段に抽出された居住者のポイントを計数する計数手段、
前記複数の区画のそれぞれを、前記計数手段が計数したポイント総数に応じた表示形態にて表示する第1の表示手段、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出手段に抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第1の特定手段、
前記第1の特定手段が特定した中継点を全て通る運行経路を特定する第2の特定手段、及び、
前記第2の特定手段が特定した運行経路を前記地図上に表示する第2の表示手段
として機能させる
ことを特徴とする運行経路提案プログラム。
【請求項2】
前記記憶手段には、居住者のそれぞれについて、年齢と住所と納税の有無を特定するための納税情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出手段は、前記居住者の中から抽出した居住者のうち、納税の無い18歳以上の居住者が同一世帯に存在していない居住者については、ポイント数に重みを加える
ことを特徴とする請求項1記載の運行経路提案プログラム。
【請求項3】
前記記憶手段には、居住者のそれぞれについて、年齢と住所と自家用交通手段の保有の有無を特定するための保有情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出手段は、前記居住者の中から抽出した居住者のうち、自家用交通手段を保有していない前記所定の年齢以上の居住者が同一世帯に存在している居住者については、ポイント数に重みを加える
ことを特徴とする請求項1又は2記載の運行経路提案プログラム。
【請求項4】
前記第1の特定手段は、算出した重心に最も近い道路におけるその重心に最も近い地点を、前記公共交通手段が経由すべき中継点として特定する
ことを特徴とする請求項1、2又は3記載の運行経路提案プログラム。
【請求項5】
前記コンピュータを、更に、
前記公共交通手段の運行経路の始点とすべき地点と終点とすべき地点とを受け付ける受付手段
として機能させ、
前記第2の特定手段は、前記受付手段が受け付けた始点と、前記第1の特定手段が特定した全ての中継点と、前記受付手段が受け付けた終点とを通る運行経路を、特定する
ことを特徴とする請求項1、2、3又は4記載の運行経路提案プログラム。
【請求項6】
所定の指示を受け付けると、地図上に複数の区画を定義する定義部、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出部、
前記定義部が前記地図上に設定した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出部に抽出された居住者のポイントを計数する計数部、
前記複数の区画のそれぞれを、前記計数部が計数したポイント総数に応じた表示形態にて表示する第1の表示部、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出部に抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第1の特定部、
前記第1の特定部が特定した中継点を全て通る運行経路を特定する第2の特定部、及び、
前記第2の特定部が特定した運行経路を前記地図上に表示する第2の表示部
を備えることを特徴とする運行経路提案システム。
【請求項7】
コンピュータが、
所定の指示を受け付けると、地図上に複数の区画を定義する定義手順、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出手順、
前記定義手順で前記地図上に設定した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出手順で抽出された居住者のポイントを計数する計数手順、
前記複数の区画のそれぞれを、前記計数手順で計数したポイント総数に応じた表示形態にて表示する第1の表示手順、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出手順で抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第1の特定手順、
前記第1の特定手順で特定した中継点を全て通る運行経路を特定する第2の特定手順、及び、
前記第2の特定手順で特定した運行経路を前記地図上に表示する第2の表示手順
を実行する
ことを特徴とする運行経路提案方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate


【公開番号】特開2009−301256(P2009−301256A)
【公開日】平成21年12月24日(2009.12.24)
【国際特許分類】
【出願番号】特願2008−153804(P2008−153804)
【出願日】平成20年6月12日(2008.6.12)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】