(57)【特許請求の範囲】
【請求項１】
コンピュータを、
所定の指示を受け付けると、地図上に複数の区画を定義する定義手段、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出手段、
前記定義手段が前記地図上に定義した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出手段に抽出された居住者の属性に応じて付与されたポイント数を計数する計数手段、
前記複数の区画のそれぞれを、前記計数手段が計数したポイント総数に応じた表示形態にて表示する第１の表示手段、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出手段に抽出された居住者の住所から特定した緯度、経度のそれぞれに該居住者のポイント数を乗じて乗算値を算出し、算出された居住者ごとの乗算値から前記選択された区画ごとの乗算値の平均値を重心として算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第１の特定手段、
前記第１の特定手段が特定した中継点を全て通る運行経路を特定する第２の特定手段、及び、
前記第２の特定手段が特定した運行経路を前記地図上に表示する第２の表示手段
として機能させる
ことを特徴とする運行経路提案プログラム。
【請求項２】
前記記憶手段には、居住者のそれぞれについて、年齢と住所と納税の有無を特定するための納税情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出手段は、前記居住者の中から抽出した居住者のうち、納税の無い１８歳以上の居住者が同一世帯に存在していない居住者については、ポイント数に重みを加える
ことを特徴とする請求項１記載の運行経路提案プログラム。
【請求項３】
前記記憶手段には、居住者のそれぞれについて、年齢と住所と自家用交通手段の保有の有無を特定するための保有情報とその居住者が所属する世帯を特定するための世帯識別情
報とが格納されており、
前記抽出手段は、前記居住者の中から抽出した居住者のうち、自家用交通手段を保有していない前記所定の年齢以上の居住者が同一世帯に存在している居住者については、ポイント数に重みを加える
ことを特徴とする請求項１又は２記載の運行経路提案プログラム。
【請求項４】
前記第１の特定手段は、算出した重心に最も近い道路におけるその重心に最も近い地点を、前記公共交通手段が経由すべき中継点として特定する
ことを特徴とする請求項１、２又は３記載の運行経路提案プログラム。
【請求項５】
前記コンピュータを、更に、
前記公共交通手段の運行経路の始点とすべき地点と終点とすべき地点とを受け付ける受付手段として機能させ、
前記第２の特定手段は、前記受付手段が受け付けた始点と、前記第１の特定手段が特定した全ての中継点と、前記受付手段が受け付けた終点とを通る運行経路を、特定する
ことを特徴とする請求項１、２、３又は４記載の運行経路提案プログラム。
【請求項６】
所定の指示を受け付けると、地図上に複数の区画を定義する定義部、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出部、
前記定義部が前記地図上に設定した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出部に抽出された居住者の属性に応じて付与されたポイント数を計数する計数部、
前記複数の区画のそれぞれを、前記計数部が計数したポイント総数に応じた表示形態にて表示する第１の表示部、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出部に抽出された居住者の住所から特定した緯度、経度のそれぞれに該居住者のポイント数を乗じて乗算値を算出し、算出された居住者ごとの乗算値から前記選択された区画ごとの乗算値の平均値を重心として算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第１の特定部、
前記第１の特定部が特定した中継点を全て通る運行経路を特定する第２の特定部、及び、
前記第２の特定部が特定した運行経路を前記地図上に表示する第２の表示部
を備えることを特徴とする運行経路提案システム。
【請求項７】
コンピュータが、
所定の指示を受け付けると、地図上に複数の区画を定義する定義手順、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出手順、
前記定義手順で前記地図上に設定した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出手順で抽出された居住者の属性に応じて付与されたポイント数を計数する計数手順、
前記複数の区画のそれぞれを、前記計数手順で計数したポイント総数に応じた表示形態にて表示する第１の表示手順、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出手順で抽出された居住者の住所から特定した緯度、経度のそれぞれに該居住者のポイント数を乗じて乗算値を算出し、算出された居住者ごとの乗算値から前記選択された区画ごとの乗算値の平均値を重心として算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第１の特定手順、
前記第１の特定手順で特定した中継点を全て通る運行経路を特定する第２の特定手順、
及び、
前記第２の特定手順で特定した運行経路を前記地図上に表示する第２の表示手順を実行する
ことを特徴とする運行経路提案方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本案は、路線バスなどの公共交通手段の運行経路を提案するためのプログラム、システム及び方法に、関する。
【背景技術】
【０００２】
周知のように、多くの自治体が、居住者へのサービスの一環として、公共交通手段を事業として運営しているが、公共交通手段の利用者数は、どの自治体でも低迷している。利用者数が低迷している原因の一つに、公共交通手段の運行経路が、交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置されていないことが、挙げられる。この原因に拠ると、自治体の有する居住者情報が、公共交通手段の運行経路の策定に全く活用されていないことが、伺える。
【０００３】
なお、特許文献１には、利用者の属性や利用時間帯などの調査に基づく需要予測に応じて公共交通手段の便数を変更したり発着所を変更したりする方法が、開示されている。しかしながら、この特許文献１には、固定的な運行経路を用いることしか開示されておらず、交通手段を必要とする居住者にとってできるだけ公平となるように公共交通手段の運行経路を配置することは、開示されていない。
【０００４】
また、特許文献２には、送迎者から指定された停留所を通るように送迎バスの経路を決定する方法が、開示されている。しかしながら、この特許文献２にも、交通手段を必要とする居住者にとってできるだけ公平となるように公共交通手段の運行経路を配置することは、開示されていない。
【０００５】
【特許文献１】特開２００３−２７２０８５号公報
【特許文献２】特開２００３−０５８６８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本案は、前述したような従来の事情に鑑みてなされたものであり、その課題は、交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置された運行経路を提案できるようにすることにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために案出された運行経路提案プログラムは、コンピュータを、所定の指示を受け付けると、地図上に複数の区画を定義する定義手段、所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、居住者の中から所定の年齢以上の居住者を抽出する抽出手段、定義手段が地図上に定義した複数の区画のそれぞれについて、その区画に住所を有するとともに抽出手段に抽出された居住者のポイントを計数する計数手段、複数の区画のそれぞれを、計数手段が計数したポイント総数に応じた表示形態にて表示する第１の表示手段、複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに抽出手段に抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第１の特定手段、その第１の特定手段が特定した中継点を全て通る運行経路を特定する第２の特定手段、及び、その第２の特定手段が特定した運行経路を地図上に表示する第２の表示手段として機能させることを、特徴としている。
【０００８】
このように構成されると、コンピュータは、地図上に定義した複数の区画のそれぞれについて、所定の年齢以上の居住者の住所とポイントとに基づいて重心を求め、その重心に基づいて中継点を特定し、特定した中継点を通る運行経路案を表示するよう、動作する。ここで、各区画について特定される中継点は、その区画における重心に基づいていることから、その区画内における交通手段を必要とする所定の年齢以上の居住者にとってできるだけ公平な地点となっている。
【０００９】
なお、前述した運行経路提案プログラムに係る動作は、運行経路提案システム又は運行経路提案方法によっても実現し得る。すなわち、本案は、前述した運行経路提案プログラムによりコンピュータが実現する各手段と同等に機能する複数の手段を備えた運行経路提案システムであっても良いし、それら各手段と同等の機能を複数の手順としてコンピュータが実行する運行経路提案方法であっても良い。また、本案は、そのような運行経路提案プログラムを格納したコンピュータ可読媒体であっても良い。
【発明の効果】
【００１０】
以上に説明したことから、本案によれば、交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置された運行経路が、提案できるようになる。
【発明を実施するための最良の形態】
【００１１】
以下、本案の実施形態である運行経路提案マシンについて、添付図面を参照しながら、説明する。
【００１２】
なお、本実施形態の運行経路提案マシンは、路線バス事業を運営する自治体にとって最適な運行路線案を提示するためのマシンである。但し、本実施形態の運行経路提案マシンは、あくまでも、一つの実施形態であり、路線バス以外の公共交通手段（例えば、モノレール、路面電車、トロリーバス、路線タクシー）を事業として運営する自治体にとって最適な運行路線案を提示するものであっても良い。
【００１３】
《構成》
図１は、本実施形態の運行経路提案マシン１０の構成図である。
【００１４】
本実施形態の運行経路提案マシン１０は、運行経路提案機能が附加されたパーソナルコンピュータである。従って、運行経路提案マシン１０は、液晶ディスプレイ等を含む表示ユニット１０ａと、キーボードやマウス等を含む入力ユニット１０ｂと、これらユニット１０ａ、１０ｂに接続される本体とからなる。また、その本体は、少なくとも、ストレージユニット１０ｃ、ＣＰＵ［Central Processing Unit］１０ｄ、及び、メインメモリユニット１０ｅを、内蔵している。
【００１５】
ストレージユニット１０ｃは、各種のプログラム及び各種のデータを記録するためのユニットである。ＣＰＵ１０ｄは、ストレージユニット１０ｃ内のプログラムに従って処理を行うユニットである。メインメモリユニット１０ｅは、ＣＰＵ１０ｄがプログラムやデータをキャッシュしたり作業領域を展開したりするためのユニットである。
【００１６】
運行経路提案マシン１０は、ストレージユニット１０ｃに、オペレーティングシステムソフトウエア１１を、記憶している。オペレーティングシステムソフトウエア１１は、各種アプリケーションへのＡＰＩ［Application Programming Interface］やＡＢＩ［Application Binary Interface］の提供、ストレージユニット１０ｃやメインメモリユニット１０ｅの記憶領域の管理、プロセスやタスクの管理、ファイル管理や各種設定ツールやエディタといったユーティリティのアプリケーションへの提供、及び、画面出力を多重化するための複数タスクへのウインドウの割り当てを、行うためのソフトウエアである。
【００１７】
また、運行経路提案マシン１０は、ストレージユニット１０ｃに、地図閲覧ソフトウエア１２を記憶している。地図閲覧ソフトウエア１２は、任意の地点の地図を任意の縮尺で表示させる地図閲覧機能をコンピュータに附加するためのソフトウエアである。地図閲覧ソフトウエア１２は、地図データ１２ａを含んでいる。地図データ１２ａは、道路、河川、地図記号、等高線など種々の地図構成要素を個別に表示するための複数のレイヤデータから構成されている。また、本実施形態の地図閲覧ソフトウエア１２は、経路探索モジュール１２ｂを含んでいる。経路探索モジュール１２ｂは、道路網上において始点と終点とが指定されたときにその始点と終点を結ぶ最短経路を算出して地図上に表示するモジュールである。なお、地図閲覧ソフトウエア１２は、図１に示すように、運行経路提案マシン１０にインストールされたものであっても良いが、本案を実際に実施する上では、ウェブアプリケーションがネットワークを介してウェブクライアントに提供する地図閲覧サービスであっても構わない。このようなサービスとしては、例えば、ＤＲＭ［Digital Road Map］（財団法人日本デジタル道路地図協会の商標）や、このＤＲＭに各社が加工を施したものがある。
【００１８】
また、運行経路提案マシン１０は、ストレージユニット１０ｃに、居住者情報管理テーブル１３を記憶している。居住者情報管理テーブル１３は、本実施形態の運行経路提案マシン１０を利用する自治体に住民登録されている各居住者に関する情報を管理するためのテーブルである。なお、自治体は、通常、住民基本台帳（住民票を世帯毎に束ねたもの）、市県民税課税台帳、軽自動車課税台帳など、自団体が管理すべき各種の台帳をデータベース化しており、居住者情報管理テーブル１３は、当該自治体の有するデータベーステーブルから抽出されて、図示せぬネットワークを介した通信により、又は、図示せぬコンピュータ可読媒体に記録して運搬することにより、運行経路提案マシン１０に導入されたものである。
【００１９】
図２は、居住者情報管理テーブル１３を模式的に示す図である。
【００２０】
図２に示すように、居住者情報管理テーブル１３の各レコードは、「居住者識別情報」、「世帯識別情報」、「続柄」、「年齢」、「性別」、「所得」及び「軽自動車」のフィールドを、有している。「居住者識別情報」フィールドは、その居住者を特定するための一意な居住者識別情報が記録されるフィールドである。「世帯識別情報」フィールドは、その居住者の所属する世帯を特定するための一意な世帯識別情報が記録されるフィールドである。「続柄」フィールドは、その居住者の所属する世帯の世帯主から見たその居住者の続柄が記録されるフィールドである。「年齢」フィールドは、その居住者の年齢が記録されるフィールドである。「性別」フィールドは、その居住者の性別が記録されるフィールドである。「所得」フィールドは、その居住者の所得の有無を示す所得フラグ（あり、なし）が記録されるフィールドである。なお、居住者は、収入が９３万円を超えると、市民税及び県民税が課税され、納税者として自治体に把握されるようになる。このため、本実施形態では、居住者は、収入が９３万円以下であると、無所得者として取り扱われる。「軽自動車」フィールドは、その居住者が軽自動車を保有しているか否かを示す軽自動車保有フラグ（あり、なし）が記録されるフィールドである。ここで、本実施形態では、軽自動車課税台帳に基づくフィールドとして、「軽自動車」フィールドが使用されているが、本案を実施する上ではこれに限定されず、各居住者が所有する自家用交通手段について自治体が把握できるものであれば何でも良い。自家用交通手段としては、例えば、自動車や自動二輪がある。なお、居住者情報管理テーブル１３は、前述したフィールド以外のフィールドを更に有していても良い。
【００２１】
また、運行経路提案マシン１０は、図１に示すように、ストレージユニット１０ｃに、世帯情報管理テーブル１４を記憶している。世帯情報管理テーブル１４は、本実施形態の
運行経路提案マシン１０を利用する自治体の管轄行政区域内に住所がある世帯のうち、世帯主が当該自治体に住民登録されている世帯に関する情報を管理するためのテーブルである。なお、この世帯情報管理テーブル１４も、自治体の有するデータベーステーブルから抽出されて、運行経路提案マシン１０に保存されたものである。
【００２２】
図３は、世帯情報管理テーブル１４を模式的に示す図である。
【００２３】
図３に示すように、世帯情報管理テーブル１４の各レコードは、「世帯識別番号」及び「住所」のフィールドを、有している。「世帯識別番号」フィールドは、その世帯を特定するための世帯識別番号が記録されるフィールドである。「住所」フィールドは、その世帯の所在地の住所が記録されるフィールドである。なお、世帯情報管理テーブル１４の各レコードは、これら２個のフィールドを最低限有していれば良く、これら２個のフィールド以外のフィールドを更に有していても良い。
【００２４】
また、運行経路提案マシン１０は、図１に示すように、ストレージユニット１０ｃに、運行経路提案プログラム１５を記憶している。運行経路提案プログラム１５は、路線バスの最適な運行路線案を提示する運行経路提案機能をコンピュータに附加するためのプログラムである。この運行経路提案プログラム１５に従ってＣＰＵ１０ｄが実行する処理の内容については、後述する。
【００２５】
《処理》
運行経路提案マシン１０では、入力ユニット１０ｂが操作者によって操作されることにより、運行経路提案プログラム１５の起動が指示されると、ＣＰＵ１０ｄが、ストレージユニット１０ｃから運行経路提案プログラム１５を読み出し、運行経路提案処理を開始するようになっている。
【００２６】
図４は、運行経路提案処理の流れを示す図である。
【００２７】
運行経路提案処理の開始後、最初のステップＳ１０１では、ＣＰＵ１０ｄは、地図と条件設定画面とを表示ユニット１０ａに表示する。具体的には、ＣＰＵ１０ｄは、運行経路提案処理のためにオペレーティングシステムソフトウエア１１が用意したウインドウ内に、地図用枠と操作画面用枠とを生成し、地図閲覧ソフトウエア１２による機能を利用して地図用枠内に地図を表示するとともに、操作画面用枠内に条件設定画面を表示する。
【００２８】
図５は、ウインドウ２０内に表示される地図２１と条件設定画面２２の一例を示す図である。
【００２９】
図５に例示するように、ウインドウ２０には、本実施形態の運行経路提案マシン１０を利用する自治体「ＯＯ市」の地図２１が任意の縮尺にて表示されているとともに、条件設定画面２２が表示されている。図５に例示しる条件設定画面２２には、５個のテキストボックス２２ａ〜２２ｅ、１個のチェックボックス２２ｆ、２個のボタン２２ｇ、２２ｈが、含まれている。一個目のテキストボックス２２ａは、後述の処理により地図２１上に定義される複数の正方形の区画（以後、タイルと表記）の一辺の長さを実距離で指定するための入力欄である。二個目と三個目のテキストボックス２２ｂ、２２ｃは、後述の処理により地図２１上に定義される複数のタイルの行数と列数とをそれぞれ指定するための入力欄である。四個目と五個目のテキストボックス２２ｄ、２２ｅは、地図２１上に定義された複数のタイルの中に居住点がプロットされ得る居住者を抽出するための条件となる年齢層の下限値と上限値とをそれぞれ指定するための入力欄である。１個のチェックボックス２２ｆは、複数のタイルの中に居住点がプロットされ得る居住者が一人当たり１ポイントを持つとして後述の処理を行うか、それとも、その居住者と同一の世帯に所属する居住者
の状況に応じてポイントに重みを付けて後述の処理を行うかを、指定するための入力欄である。ここで、ポイントは、居住者の総人数に重みを付けるため、及び、後述の重心を算出する際の各居住者の重みを家庭状況に応じて変更するために採用した指標である。本実施形態では、チェックボックス２２ｆにチェックマークが入力されると、ポイントへの加重が有効となる。逆に、チェックボックス２２ｆからチェックマークが外されると、ポイントへの加重が無効となる（すなわち、一人当たりの人数が１となり、重心算出の際の重みが一人当たり１となる）。一個目のボタン２２ｇは、複数のタイルの原点（左下隅）を指定しようとするときにクリックすべき原点指示ボタンである。二個目のボタン２２ｈは、運行経路提案処理を終了させようとするときにクリックすべき終了ボタンである。
【００３０】
ＣＰＵ１０ｄは、図５に例示したような地図２１と条件設定画面２２とを表示ユニット１０ａに表示した後、図４のステップＳ１０２へ処理を進める。
【００３１】
ステップＳ１０２では、ＣＰＵ１０ｄは、条件設定画面２２の２個のボタン２２ｇ、２２ｈのうちの何れかがクリックされるまで、待機する。そして、何れかのボタンがクリックされると、ＣＰＵ１０ｄは、ステップＳ１０３へ処理を進める。
【００３２】
ステップＳ１０３では、ＣＰＵ１０ｄは、ステップＳ１０２でクリックを検出したボタンが終了ボタン２２ｈであるか否かを、判別する。そして、ステップＳ１０２でクリックを検出したボタンが終了ボタン２２ｈであった場合、ＣＰＵ１０ｄは、図４に係る運行経路提案処理を終了する。一方、ステップＳ１０２でクリックを検出したボタンが終了ボタン２２ｈでなかった場合（すなわち、クリックされたボタンが原点指示ボタン２２ｇであった場合）、ＣＰＵ１０ｄは、ステップＳ１０３からステップＳ１０４へ処理を分岐させる。
【００３３】
〈タイル生成指示受付〉
ステップＳ１０４では、ＣＰＵ１０ｄは、タイル生成指示受付サブルーチンを呼び出して実行する。
【００３４】
図６は、タイル生成指示受付サブルーチンの流れを示す図である。
【００３５】
タイル生成指示受付サブルーチンの開始後、最初のステップＳ２０１では、ＣＰＵ１０ｄは、地図２１（図５参照）上の何れかの箇所を原点として指示する操作（例えば、左クリック）がなされるまで、待機する。そして、原点を指示する操作がなされると、ＣＰＵ１０ｄは、ステップＳ２０２へ処理を進める。
【００３６】
ステップＳ２０２では、ＣＰＵ１０ｄは、地図２１（図５参照）を構成する複数のレイヤに重ねられる第１のユーザレイヤに、複数の正方形のタイルを描画する。ここで描画される複数のタイルは、条件設定画面２２（図５参照）の原点指示ボタン２２ｇがクリックされた時点で一個目のテキストボックス２２ａに入力されていた一辺の長さを有している。また、描画される複数のタイルの縦横の個数は、原点指示ボタン２２ｇがクリックされた時点で二個目と三個目のテキストボックス２２ｂ、２２ｃに入力されていた行数と列数とに基づいている。
【００３７】
次のステップＳ２０３では、ＣＰＵ１０ｄは、ウインドウ２０の操作画面用枠内に、メッセージボックスを表示する。
【００３８】
図７は、ウインドウ２０内に表示される地図２１とメッセージボックス２３の一例を示す図である。
【００３９】
図７に例示するように、ウインドウ２０には、複数のタイル３１の輪郭が一部に描画された地図２１が表示されているとともに、メッセージボックス２３が表示されている。メッセージボックス２３には、地図２１上に定義された複数のタイル３１を用いて後述の処理を開始するか否かを照会するメッセージ２３ａと、３個のボタン２３ｂ〜２３ｄとが、含まれている。一個目のボタン２３ｂは、地図２１上に定義された複数のタイル３１を用いて後述の処理の開始を指示しようとするときにクリックすべきＯＫボタンである。二個目のボタン２３ｃは、条件設定画面２２を表示させようとするときにクリックすべき戻るボタンである。三個目のボタン２２ｄは、原点を指示する操作を再度行おうとするときにクリックすべき再指示ボタンである。
【００４０】
ＣＰＵ１０ｄは、図７に例示したような地図２１とメッセージボックス２３とを表示ユニット１０ａに表示した後、図６のステップＳ２０４へ処理を進める。
【００４１】
ステップＳ２０４では、ＣＰＵ１０ｄは、メッセージボックス２３の３個のボタン２３ｂ〜２３ｄのうちの何れかがクリックされるまで、待機する。そして、何れかのボタンがクリックされると、ＣＰＵ１０ｄは、ステップＳ２０５へ処理を進める。
【００４２】
ステップＳ２０５では、ＣＰＵ１０ｄは、ステップＳ２０４でクリックを検出したボタンがＯＫボタン２３ａであるか否かを、判別する。そして、ステップＳ２０４でクリックを検出したボタンがＯＫボタン２３ａでなかった場合、ＣＰＵ１０ｄは、ステップＳ２０５からステップＳ２０６へ処理を分岐させる。
【００４３】
ステップＳ２０６では、ＣＰＵ１０ｄは、ステップＳ２０４でクリックを検出したボタンが戻るボタン２３ｃであるか否かを、判別する。そして、ステップＳ２０４でクリックを検出したボタンが戻るボタン２３ｃでなかった場合（すなわち、クリックされたボタンが再指示ボタン２３ｄであった場合）、ＣＰＵ１０ｄは、ステップＳ２０６から処理を分岐させ、ステップＳ２０１へ処理を戻し、原点を指示する操作がなされるまで待機する状態に戻る。一方、ステップＳ２０４でクリックを検出したボタンが戻るボタン２３ｃであった場合、ＣＰＵ１０ｄは、図６に係るタイル生成指示受付サブルーチンを離脱して、図４のステップＳ１０１へ処理を戻し、条件設定画面２２を表示ユニット１０ａに表示する。
【００４４】
また、ステップＳ２０４でクリックを検出したボタンがＯＫボタン２３ａであった場合、ＣＰＵ１０ｄは、ステップＳ２０５から処理を進め、図６に係るタイル生成指示受付サブルーチンを終了して、図４に係る運行経路提案処理に復帰し、ステップＳ１０５へ処理を進める。
【００４５】
なお、図４のステップＳ１０１乃至Ｓ１０４と図６のステップＳ２０１乃至Ｓ２０６とを実行するＣＰＵ１０ｄは、前述した定義手段に相当している。
【００４６】
〈対象抽出〉
ステップＳ１０５では、ＣＰＵ１０ｄは、対象抽出サブルーチンを呼び出して実行する。
【００４７】
図８は、対象抽出サブルーチンの流れを示す図である。
【００４８】
対象抽出サブルーチンの開始後、最初のステップＳ３０１では、ＣＰＵ１０ｄは、条件設定画面２２（図５参照）の原点指示ボタン２２ｇがクリックされた時点で四個目と五個目のテキストボックス２２ｄ、２２ｅに入力されていた下限値と上限値とにより規定される年齢層と、ステップＳ２０２で地図２１上に定義された複数のタイル３１の中に含まれ
る住所とを検索条件として、居住者情報管理テーブル１３（図２参照）を検索する。
【００４９】
次のステップＳ３０２では、ＣＰＵ１０ｄは、ステップＳ３０１の検索の結果、居住者情報管理テーブル１３からレコードが検出されたか否かを、判別する。そして、居住者情報管理テーブル１３からレコードが検出されなかった場合、ＣＰＵ１０ｄは、ステップＳ３０２からステップＳ３０３へ処理を分岐させる。
【００５０】
ステップＳ３０３では、ＣＰＵ１０ｄは、ウインドウ２０の操作画面用枠に、対象無しのメッセージを、一定時間表示する。一定時間経過後、ＣＰＵ１０ｄは、図８に係る対象抽出サブルーチンを離脱して、図４のステップＳ１０１へ処理を戻し、条件設定画面２２を表示ユニット１０ａに表示する。
【００５１】
一方、ステップＳ３０１の検索の結果、居住者情報管理テーブル１３からレコードが検出された場合、ＣＰＵ１０ｄは、ステップＳ３０２からステップＳ３０４へ処理を進める。
【００５２】
ステップＳ３０４では、ＣＰＵ１０ｄは、メインメモリユニット１０ｅに第１のワークテーブルを生成し、居住者情報管理テーブル１３から検出されたレコードを、この第１のワークテーブルに格納する。
【００５３】
図９は、第１のワークテーブル４１を模式的に示す図である。
【００５４】
図９と図２とを比較して明かなように、第１のワークテーブル４１の各レコードは、居住者情報管理テーブル１３の各レコードの有するフィールドの他に、「処理済」フィールドを、有している。「処理済」フィールドは、第１のワークテーブル４１に格納されたレコード１つ１つについて後述の処理を行う際に、そのレコードについて後述の処理が終わっているか否かを判別するためのフラグ情報である処理済フラグが記録されるフィールドである。なお、処理済フラグは、「０」の状態にあれば、そのレコードの処理が未だ終了していないことを意味し、「１」の状態にあれば、そのレコードの処理が終了したことを意味する。また、「処理済」フィールドには、初期値として、「０」が格納される。
【００５５】
ＣＰＵ１０ｄは、居住者情報管理テーブル１３から検出されたレコードを、第１のワークテーブル４１に格納した後、ステップＳ３０４から処理を進め、図８に係る対象抽出サブルーチンを終了して、図４に係る運行経路提案処理に復帰し、ステップＳ１０６へ処理を進める。
【００５６】
〈居住点プロット〉
ステップＳ１０６では、ＣＰＵ１０ｄは、居住点プロットサブルーチンを呼び出して実行する。
【００５７】
図１０は、居住点プロットサブルーチンの流れを示す図である。
【００５８】
居住点プロットサブルーチンの開始後、ＣＰＵ１０ｄは、第１の処理ループＬ１を実行する。第１の処理ループＬ１では、第１のワークテーブル４１（図９参照）の各レコードについて、順に、ステップＳ４０１乃至Ｓ４０９からなる処理を、実行する。
【００５９】
ステップＳ４０１では、ＣＰＵ１０ｄは、処理対象レコードの「処理済」フィールドの値（処理済フラグ）が「１」であるか否かを、判別する。そして、処理対象レコードの「処理済」フィールドの値（処理済フラグ）が「１」であった場合、ＣＰＵ１０ｄは、第１の処理ループＬ１におけるこの処理対象の回を終了する。一方、処理対象レコードの「処
理済」フィールドの値（処理済フラグ）が「１」でなかった場合（すなわち、処理済フラグが「０」であった場合）、ＣＰＵ１０ｄは、ステップＳ４０１からステップＳ４０２へ処理を分岐させる。
【００６０】
ステップＳ４０２では、ＣＰＵ１０ｄは、世帯情報管理テーブル１４（図３参照）から、処理対象レコードの「世帯識別番号」フィールドの値（世帯識別番号）に対応する住所を、読み出す。
【００６１】
次のステップＳ４０３では、ＣＰＵ１０ｄは、ポイントへの加重に関する指定が有効となっているか無効となっているかを、判別する。すなわち、ＣＰＵ１０ｄは、条件設定画面２２（図５参照）の原点指示ボタン２２ｇがクリックされた時点でチェックボックス２２ｆにチェックマークが入力されていたか否かを、判別する。そして、ＣＰＵ１０ｄは、ポイントへの加重に関する指定が無効となっていた場合（チェックマークが入力されていなかった場合）、ＣＰＵ１０ｄは、ステップＳ４０６へ処理を進める。一方、ポイントへの加重に関する指定が有効となっていた場合、ＣＰＵ１０ｄは、ステップＳ４０３からステップＳ４０４へ処理を分岐させる。
【００６２】
ステップＳ４０４では、ＣＰＵ１０ｄは、ステップＳ４０２で読み出した住所を検索条件として、世帯情報管理テーブル１４（図３参照）から、別世帯のレコード（世帯識別情報の異なるレコード）を検索する。
【００６３】
次のステップＳ４０５では、ＣＰＵ１０ｄは、ステップＳ４０４の検索の結果、世帯情報管理テーブル１４から別世帯のレコードが検出されたか否かを、判別する。そして、世帯情報管理テーブル１４から別世帯のレコードが検出されなかった場合、ＣＰＵ１０ｄは、ステップＳ４０５からステップＳ４０６へ処理を分岐させる。
【００６４】
ステップＳ４０６では、ＣＰＵ１０ｄは、ステップＳ４０２で読み出した住所とポイント数が「１」であるポイントとを含むレコードを、図示せぬ第２のワークテーブルに登録する。なお、このステップＳ４０６が初めて実行される場合、ＣＰＵ１０ｄは、メインメモリユニット１０ｅに、図示せぬ第２のワークテーブルを生成する処理も行う。
【００６５】
次のステップＳ４０７では、ＣＰＵ１０ｄは、処理対象レコードの「処理済」フィールドの値（処理済フラグ）を「０」から「１」に切り替える。
【００６６】
次のステップＳ４０８では、ＣＰＵ１０ｄは、地図２１（図７参照）を構成する複数のレイヤに重ねられる第２のユーザレイヤにおいて、ステップＳ４０２で読み出した住所に対応する箇所にドットを、描画する。ドットが描画された地図２１の一例は、図１１に示されている。ＣＰＵ１０ｄは、このようなドットの描画が完了すると、第１の処理ループＬ１におけるこの処理対象の回を終了する。
【００６７】
一方、ステップＳ４０４の検索の結果、世帯情報管理テーブル１４から別世帯のレコードが検出された場合、ＣＰＵ１０ｄは、ステップＳ４０５からステップＳ４０９へ処理を進める。
【００６８】
ステップＳ４０９では、ＣＰＵ１０ｄは、加重ポイント登録サブルーチンを呼び出して実行する。
【００６９】
図１２は、加重ポイント登録サブルーチンの流れを示す図である。
【００７０】
加重ポイント登録サブルーチンの開始後、最初のステップＳ４１１では、ＣＰＵ１０ｄ
は、図１０のステップＳ４０４の検索により世帯情報管理テーブル１４から検出された処理対象と同一住所で別世帯のレコードから世帯識別情報を読み出し、読み出した世帯識別情報と同じ世帯識別情報を持つレコードを、居住者情報管理テーブル１３（図２参照）から読み出す。
【００７１】
次のステップＳ４１２では、ＣＰＵ１０ｄは、メインメモリユニット１０ｅに第３のワークテーブルを生成し、ステップＳ４１１で居住者情報管理テーブル１３から読み出したレコードを、この第３のワークテーブルに格納する。
【００７２】
図１３は、第３のワークテーブル４３を模式的に示す図である。
【００７３】
図１３と図２とを比較して明かなように、第３のワークテーブル４３の各レコードは、居住者情報管理テーブル１３の各レコードの有するフィールドの他に、「支援可否」フィールドを、有している。「支援可否」フィールドは、その居住者が、同一の世帯に所属している対象者（ステップＳ３０１で検出されたレコードに係る居住者）を支援することができる者であるか否かを示すフラグ情報である支援可否フラグが格納されるフィールドである。なお、支援可否フラグは、「０」の状態にあれば、そのレコードに係る居住者が対象者を支援することができる者でないことを意味し、「１」の状態にあれば、そのレコードに係る居住者が対象者を支援することができる者であることを意味する。また、「支援可否」フィールドには、初期値として、「０」が格納される。
【００７４】
ＣＰＵ１０ｄは、居住者情報管理テーブル１３から読み出したレコードを、第３のワークテーブル４３に格納した後、ステップＳ４１２から処理を進め、第２の処理ループＬ２を実行する。第２の処理ループＬ２では、第３のワークテーブル４３（図１３参照）の各レコードについて、順に、同一世帯人支援可否判定サブルーチンを、実行する。
【００７５】
図１４は、同一世帯人支援可否判定サブルーチンの流れを示す図である。
【００７６】
同一世帯人支援可否判定サブルーチンの開始後、最初のステップＳ４３１では、ＣＰＵ１０ｄは、処理対象レコードの「年齢」フィールドの値（年齢）が１８歳以上であるか否かを、判別する。そして、年齢が１８歳未満であった場合、ＣＰＵ１０ｄは、ステップＳ４３１から処理を分岐させ、図１４に係る同一世帯人支援可否判定サブルーチンを終了し、図１２の第２の処理ループＬ２におけるこの処理対象の回を終了する。一方、年齢が１８歳以上であった場合、ＣＰＵ１０ｄは、ステップＳ４３２へ処理を進める。
【００７７】
ステップＳ４３２では、ＣＰＵ１０ｄは、処理対象レコードの「所得」フィールドの値（所得フラグ）が「なし」であるか「あり」であるかを、判別する。そして、所得フラグ夘が「あり」であった場合、ＣＰＵ１０ｄは、ステップＳ４３２から処理を分岐させ、図１４に係る同一世帯人支援可否判定サブルーチンを終了し、図１２の第２の処理ループＬ２におけるこの処理対象の回を終了する。一方、所得フラグが「なし」であった場合、ＣＰＵ１０ｄは、ステップＳ４３３へ処理を進める。
【００７８】
ステップＳ４３３では、ＣＰＵ１０ｄは、処理対象レコードの「年齢」フィールドの値（年齢）が２２歳以上であるか否かを、判別する。そして、年齢が２２歳以上であった場合、ＣＰＵ１０ｄは、ステップＳ４３５へ処理を進める。一方、年齢が２２歳未満であった場合、ＣＰＵ１０ｄは、ステップＳ４３３からステップＳ４３４へ処理を分岐させる。
【００７９】
ステップＳ４３４では、ＣＰＵ１０ｄは、処理対象レコードの「続柄」フィールドの値（世帯主から見た対象者の続柄）が所定のものであるか否かを、判別する。なお、本実施形態では、所定の続柄としては、「夫」、「妻」、「夫（未届）」、「妻（未届）」があ
る。そして、続柄が所定のものでなかった場合、ＣＰＵ１０ｄは、ステップＳ４３４から処理を分岐させ、図１４に係る同一世帯人支援可否判定サブルーチンを終了し、図１２の第２の処理ループＬ２におけるこの処理対象の回を終了する。一方、続柄が所定のものであった場合、ＣＰＵ１０ｄは、ステップＳ４３４からステップＳ４３５へ処理を進める。
【００８０】
ステップＳ４３５では、ＣＰＵ１０ｄは、処理対象レコードの「支援可否」フィールドの値（支援可否フラグ）を「０」から「１」に切り替える。その後、ＣＰＵ１０ｄは、図１４に係る同一世帯人支援可否判定サブルーチンを終了し、図１２の第２の処理ループＬ２におけるこの処理対象の回を終了する。
【００８１】
ＣＰＵ１０ｄは、第３のワークテーブル４３（図１３参照）の全てのレコードについて、同一世帯人支援可否判定サブルーチン（図１４参照）を実行し終えると、第２の処理ループＬ２から離脱し、図１２のステップＳ４１４へ処理を進める。
【００８２】
ステップＳ４１４では、ＣＰＵ１０ｄは、条件設定画面２２（図５参照）の原点指示ボタン２２ｇがクリックされた時点で四個目と五個目のテキストボックス２２ｄ、２２ｅに入力されていた下限値と上限値とにより規定される年齢層に年齢が含まれるレコードを、第３のワークテーブル４３の中から、抽出する。
【００８３】
次のステップＳ４１５では、ＣＰＵ１０ｄは、メインメモリユニット１０ｅに、図示せぬ第４のワークテーブルを生成し、ステップＳ４１４で抽出したレコードを、この図示せぬ第４のワークテーブルに格納する。なお、図示せぬ第４のワークテーブルのフィールド構成は、第３のワークテーブル４３（図１３参照）のそれと同じである。
【００８４】
ＣＰＵ１０ｄは、第３のワークテーブル４３から読み出したレコードを、図示せぬ第４のワークテーブルに格納した後、ステップＳ４１５から処理を進め、第３の処理ループＬ３を実行する。第３の処理ループＬ３では、図示せぬ第４のワークテーブルの各レコードについて、順に、加重ポイント決定サブルーチンとステップＳ４１７及びＳ４１８とからなる処理を、実行する。
【００８５】
図１５は、加重ポイント決定サブルーチンの流れを示す図である。
【００８６】
加重ポイント決定サブルーチンの開始後、最初のステップＳ４５１では、ＣＰＵ１０ｄは、処理対象レコードの「軽自動車」フィールドの値（軽自動車保有フラグ）が「あり」であるか「なし」であるかを、判別する。そして、軽自動車保有フラグが「あり」であった場合、ＣＰＵ１０ｄは、ステップＳ４５４へ処理を進める。一方、軽自動車保有フラグが「なし」であった場合、ＣＰＵ１０ｄは、ステップＳ４５１からステップＳ４５２へ処理を進める。
【００８７】
ステップＳ４５２では、ＣＰＵ１０ｄは、第３のワークテーブル４３（図１３参照）の中に、「支援可否」フィールドの値（支援可否フラグ）が「１」であるレコードが存在しているか否かを、判別する。すなわち、ＣＰＵ１０ｄは、処理対象レコードに係る居住者（対象者）の世帯にその居住者を支援できる居住者が存在しているか否かを、判別する。そして、第３のワークテーブル４３の中に、「支援可否」フィールドの値（支援可否フラグ）が「１」であるレコードが存在していた場合、ＣＰＵ１０ｄは、ステップＳ４５３へ処理を進める。
【００８８】
ステップＳ４５３では、ＣＰＵ１０ｄは、第３のワークテーブル４３における「支援可否」フィールドの値が「１」であるレコードの中に、「年齢」フィールドの値（年齢）が６５歳未満であるレコードが存在するか否かを、判別する。そして、第３のワークテーブ
ル４３における「支援可否」フィールドの値が「１」であるレコードの中に、「年齢」フィールドの値（年齢）が６５歳未満であるレコードが存在していなかった場合、ＣＰＵ１０ｄは、ステップＳ４５３からステップＳ４５４へ処理を分岐させる。
【００８９】
ステップＳ４５４では、ＣＰＵ１０ｄは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル１４（図３参照）から読み出し、読み出した住所と、後述の第１パターンに基づく数のポイントとを含むレコードを、図示せぬ第２のワークテーブルに登録する。なお、このステップＳ４０６が初めて実行される場合、ＣＰＵ１０ｄは、メインメモリユニット１０ｅに、図示せぬ第２のワークテーブルを生成する処理も行う。
【００９０】
図１６は、パターンの定義を概念的に示す図である。
【００９１】
図１６に示すように、本実施形態では、第１パターンから第４パターンまでが、用いられる。第１パターンでは、年齢が６５歳から６９歳までは、対象者のポイント数が「０」とされ、対象者の年齢が７０歳以上では、対象者のポイント数が「１」とされる。また、第２パターンでは、年齢が６５歳から６９歳までは、対象者のポイント数が「１．５」と重み付けされ、対象者の年齢が７０歳以上では、対象者のポイント数が「３」と、更に重み付けされる。また、第３パターンでは、年齢が６５歳から６９歳までは、対象者のポイント数が「０」とされ、対象者の年齢が７０歳以上では、対象者のポイント数が「１」とされる。また、第４パターンでは、年齢が６５歳から６９歳までは、対象者のポイント数が「１」とされ、対象者の年齢が７０歳以上では、対象者のポイント数が「２」と、重み付けされる。
【００９２】
図１５のステップＳ４５４では、ＣＰＵ１０ｄは、図１６に示した４個のパターンのうち、第１パターンに基づいて対象者のポイント数を決定し、決定したポイント数のポイントと住所とを含むレコードを、図示せぬ第２のワークテーブルに登録する。ポイントの登録が終わると、ＣＰＵ１０ｄは、図１５に係る加重ポイント決定サブルーチンを終了し、図１２のステップＳ４１７へ処理を進める。
【００９３】
一方、ステップＳ４５２において、第３のワークテーブル４３（図１３参照）の中に、「支援可否」フィールドの値（支援可否フラグ）が「１」であるレコードが存在していなかった場合（すなわち、処理対象レコードに係る居住者（対象者）の世帯にその居住者を支援できる居住者が存在していなかった場合）、ＣＰＵ１０ｄは、ステップＳ４５２からステップＳ４５５へ処理を分岐させる。
【００９４】
ステップＳ４５５では、ＣＰＵ１０ｄは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル１４（図３参照）から読み出し、読み出した住所と、図１６に示した４個のパターンのうちの第２パターンに基づく数のポイントとを含むレコードを、図示せぬ第２のワークテーブルに登録する。なお、このステップＳ４０６が初めて実行される場合、ＣＰＵ１０ｄは、メインメモリユニット１０ｅに、図示せぬ第２のワークテーブルを生成する処理も行う。ポイントの登録が終わると、ＣＰＵ１０ｄは、図１５に係る加重ポイント決定サブルーチンを終了し、図１２のステップＳ４１７へ処理を進める。
【００９５】
また、ステップＳ４５３において、第３のワークテーブル４３における「支援可否」フィールドの値が「１」であるレコードの中に、「年齢」フィールドの値（年齢）が６５歳未満であるレコードが存在していた場合（すなわち、６５歳未満の支援可能者がいた場合）、ＣＰＵ１０ｄは、ステップＳ４５６へ処理を進める。
【００９６】
ステップＳ４５６では、ＣＰＵ１０ｄは、第３のワークテーブル４３（図１３参照）において、年齢が６５歳以上で、且つ、軽自動車保有フラグが「なし」であるレコードの個数を、計数する。すなわち、ＣＰＵ１０ｄは、処理対象レコードに係る対象者と同一の世帯おいて、軽自動車を保有していない６５歳以上の居住者の人数を、計数する。
【００９７】
次のステップＳ４５７では、ＣＰＵ１０ｄは、ステップＳ４５６で計数した人数が０人であるか否かを、判別する。そして、ステップＳ４５６で計数した人数が０人であった場合、ＣＰＵ１０ｄは、ステップＳ４５８へ処理を進める。
【００９８】
ステップＳ４５８では、ＣＰＵ１０ｄは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル１４（図３参照）から読み出し、読み出した住所と、図１６に示した４個のパターンのうちの第３パターンに基づく数のポイントとを含むレコードを、図示せぬ第２のワークテーブルに登録する。なお、このステップＳ４０６が初めて実行される場合、ＣＰＵ１０ｄは、メインメモリユニット１０ｅに、図示せぬ第２のワークテーブルを生成する処理も行う。ポイントの登録が終わると、ＣＰＵ１０ｄは、図１５に係る加重ポイント決定サブルーチンを終了し、図１２のステップＳ４１７へ処理を進める。
【００９９】
一方、ステップＳ４５７において、ステップＳ４５６で計数した人数が１人以上であった場合、ＣＰＵ１０ｄは、ステップＳ４５７からステップＳ４５９へ処理を分岐させる。
【０１００】
ステップＳ４５９では、ＣＰＵ１０ｄは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル１４（図３参照）から読み出し、読み出した住所と、図１６に示した４個のパターンのうちの第４パターンに基づく数のポイントとを含むレコードを、図示せぬ第２のワークテーブルに登録する。なお、このステップＳ４０６が初めて実行される場合、ＣＰＵ１０ｄは、メインメモリユニット１０ｅに、図示せぬ第２のワークテーブルを生成する処理も行う。ポイントの登録が終わると、ＣＰＵ１０ｄは、図１５に係る加重ポイント決定サブルーチンを終了し、図１２のステップＳ４１７へ処理を進める。
【０１０１】
ステップＳ４１７では、ＣＰＵ１０ｄは、第１のワークテーブル４１（図９参照）における処理対象レコードと同じ居住者識別情報を持つレコードの「処理済」フィールドの値（処理済フラグ）を「０」から「１」に切り替える。
【０１０２】
次のステップＳ４１８では、ＣＰＵ１０ｄは、処理対象レコードに含まれる世帯識別番号に対応する住所を世帯情報管理テーブル１４（図３参照）から読み出し、地図２１（図７参照）を構成する複数のレイヤに重ねられる第２のユーザレイヤにおいて、読み出した住所に対応する箇所にドットを、描画する（図１１参照）。ＣＰＵ１０ｄは、このようなドットの描画が完了すると、第３の処理ループＬ３におけるこの処理対象の回を終了する。
【０１０３】
ＣＰＵ１０ｄは、図示せぬ第４のワークテーブルの全てのレコードについて、加重ポイント決定サブルーチン（図１５参照）とステップＳ４１７及びＳ４１８とからなる処理を実行し終えると、第３の処理ループＬ３から離脱する。その後、ＣＰＵ１０ｄは、図１２に係る加重ポイント登録サブルーチンを終了して、図１０に係る居住点プロットサブルーチンに復帰し、第１の処理ループＬ１におけるこの処理対象の回を終了する。
【０１０４】
ＣＰＵ１０ｄは、第１のワークテーブル４１（図９参照）の全てのレコードについて、ステップＳ４０１乃至Ｓ４０９からなる処理を実行し終えると、第１の処理ループＬ１から離脱し、図４に係る運行経路提案処理に復帰する。その後、ＣＰＵ１０ｄは、ステップ
Ｓ１０７へ処理を進める。
【０１０５】
なお、図４のステップＳ１０１乃至Ｓ１０３及びステップＳ１０５乃至Ｓ１０７と図８のステップＳ３０１乃至Ｓ３０４と図１０のステップＳ４０１乃至Ｓ４０９と図１２のステップＳ４１１乃至Ｓ４１８と図１４のステップＳ４３１乃至Ｓ４３５と図１５のステップＳ４５１乃至Ｓ４５９とを実行するＣＰＵ１０ｄは、前述した抽出手段に相当している。
【０１０６】
〈タイル着色〉
ステップＳ１０７では、ＣＰＵ１０ｄは、タイル着色サブルーチンを呼び出して実行する。
【０１０７】
図１７は、タイル着色サブルーチンの流れを示す図である。
【０１０８】
タイル着色サブルーチンの開始後、ＣＰＵ１０ｄは、第４の処理ループＬ４を実行する。第４の処理ループＬ４では、ＣＰＵ１０ｄは、図６のステップＳ２０２で地図２１上に定義された複数のタイル３１のそれぞれについて、順に、ステップＳ５０１乃至Ｓ５０３からなる処理を実行する。
【０１０９】
ステップＳ５０１では、ＣＰＵ１０ｄは、第３のワークテーブル４３（図１３参照）から、処理対象タイル内に住所が含まれるレコードを、抽出する。
【０１１０】
次のステップＳ５０２では、ＣＰＵ１０ｄは、ステップＳ５０１で抽出したレコードに含まれる全てのポイント数を計数する。
【０１１１】
なお、これらステップＳ５０１及びＳ５０２を実行するＣＰＵ１０ｄは、前述した計数手段に相当している。
【０１１２】
次のステップＳ５０３では、ＣＰＵ１０ｄは、複数のタイル３１の輪郭が描画されている第１のユーザレイヤにおける処理対象に対応するタイルに対し、ステップＳ５０２で計数して得たポイント総数に応じた色を着ける。例えば、ポイント総数が０〜９９では水色、１００〜１９９では黄色、２００〜２９９では橙色、３００〜３９９では赤、４００以上は深紫色のように、１００ポイントおきにポイント総数幅を事前に決めておくとともに、各ポイント総数幅に色を決めておく。色は、ポイント総数が大きくなるほど濃色になるように決めておくと良い。タイルが着色された地図２１の一例は、図１８に示されている。このようにして、処理対象タイルを着色した後、ＣＰＵ１０ｄは、第４の処理ループＬ４におけるこの処理対象の回を終了する。
【０１１３】
なお、このステップＳ５０３を実行するＣＰＵ１０ｄは、前述した第１の表示手段に相当している。
【０１１４】
ＣＰＵ１０ｄは、図６のステップＳ２０２で地図２１上に定義された複数のタイル３１の全てについて、ステップＳ５０１乃至Ｓ５０３からなる処理を実行し終えると、第４の処理ループＬ４から離脱し、ステップＳ５０４へ処理を進める。
【０１１５】
ステップＳ５０４では、ＣＰＵ１０ｄは、対象者の居住点がドットとして描画されている第２のユーザレイヤを非表示に切り替える。その後、ＣＰＵ１０ｄは、図１７に係るタイル着色サブルーチンを終了し、図４に係る運行経路提案処理に復帰する。その後、ＣＰＵ１０ｄは、ステップＳ１０８へ処理を進める。
【０１１６】
ステップＳ１０８では、ＣＰＵ１０ｄは、既存運行経路表示サブルーチンを呼び出して実行する。
【０１１７】
図１９は、既存運行経路表示サブルーチンの流れを示す図である。
【０１１８】
既存運行経路表示サブルーチンの開始後、最初のステップＳ６０１では、ＣＰＵ１０ｄは、地図閲覧ソフトウエア１２による機能を利用して、地図データ１２ａの中から、複数のタイル３１を定義した地図２１における路線バスの既存の運行経路を表示するためのレイヤデータを、取得する。
【０１１９】
次のステップＳ６０２では、ＣＰＵ１０ｄは、ステップＳ６０１で取得したレイヤデータに基づくレイヤを、地図２１に重ねて表示する。路線バスの既存の運行経路が重ねて表示された地図２１の一例は、図２０に示されている。
【０１２０】
次のステップＳ６０３では、ＣＰＵ１０ｄは、ウインドウ２０の操作画面用枠に、指示画面を表示する。図２０には、指示画面２４も示されている。指示画面２４には、運行経路案の始点と終点とをクリックにて指定するよう促すメッセージ２４ａと、１個のボタン２４ｂとが、含まれている。ボタン２４ｂは、運行経路案のノード（始点と終点と中継点）の指定の完了を指示しようとするときにクリックすべき確定ボタンである。なお、この確定ボタン２４ｂは、地図２１上に始点と終点と少なくとも１個の中継点とが指定されて初めてアクティブになるようになっている。ＣＰＵ１０ｄは、ウインドウ２０の操作画面用枠に指示画面２４を表示した後、図１９に係る既存運行経路表示サブルーチンを終了し、図４に係る運行経路提案処理に復帰する。その後、ＣＰＵ１０ｄは、ステップＳ１０９へ処理を進める。
【０１２１】
ステップＳ１０９では、ＣＰＵ１０ｄは、ノード指定受付サブルーチンを呼び出して実行する。
【０１２２】
図２１は、ノード指定受付サブルーチンの流れを示す図である。
【０１２３】
ノード指定受付サブルーチンの開始後、最初のステップＳ７０１では、ＣＰＵ１０ｄは、地図２１又は指示画面２４（図２０参照）に入力がなされるまで、待機する。そして、地図２１又は指示画面２４に入力がなされると、ＣＰＵ１０ｄは、ステップＳ７０２へ処理を進める。
【０１２４】
ステップＳ７０２では、ＣＰＵ１０ｄは、ステップＳ７０１で検出した入力が指示画面２４の確定ボタン２４ｂのクリックであるか否かを、判別する。そして、ステップＳ７０１で検出した入力が指示画面２４の確定ボタン２４ｂのクリックでなかった場合、ＣＰＵ１０ｄは、ステップＳ７０２からステップＳ７０３へ処理を分岐させる。
【０１２５】
ステップＳ７０３では、ＣＰＵ１０ｄは、ステップＳ７０１で検出した入力が地図２１への始点又は終点のクリックによる指定であるか否かを、判別する。そして、ステップＳ７０１で検出した入力が地図２１への始点又は終点のクリックによる指定でなかった場合、ＣＰＵ１０ｄは、ステップＳ７０３からステップＳ７０４へ処理を分岐させる。
【０１２６】
ステップＳ７０４では、ＣＰＵ１０ｄは、ステップＳ７０１で検出した入力が、地図２１上に定義されている複数のタイル３１の中からのドラッグによる幾つかのタイルの選択であるか否かを、判別する。そして、複数のタイル３１の中からのドラッグによる幾つかのタイルの選択でなかった場合（すなわち、入力が、地図２１への任意の中継点の指定であった場合）、ＣＰＵ１０ｄは、ステップＳ７０４からステップＳ７０５へ処理を分岐さ
せる。
【０１２７】
ステップＳ７０５では、ＣＰＵ１０ｄは、地図２１（図５参照）を構成する複数のレイヤに重ねられる第３のユーザレイヤに、指定された中継点を描画する。その後、ＣＰＵ１０ｄは、ステップＳ７０１へ処理を戻し、地図２１又は指示画面２４に入力がなされるまで待機する状態に戻る。
【０１２８】
また、ステップＳ７０１で検出した入力が地図２１への始点又は終点のクリックによる指定であった場合、ＣＰＵ１０ｄは、ステップＳ７０３からステップＳ７０６へ処理を進める。
【０１２９】
ステップＳ７０６では、ＣＰＵ１０ｄは、地図２１（図５参照）を構成する複数のレイヤに重ねられる第３のユーザレイヤに、指定された始点又は終点を描画する。その後、ＣＰＵ１０ｄは、ステップＳ７０１へ処理を戻し、地図２１又は指示画面２４に入力がなされるまで待機する状態に戻る。
【０１３０】
また、ステップＳ７０１で検出した入力が、地図２１上に定義されている複数のタイル３１の中からのドラッグによる幾つかのタイルの選択であった場合、ＣＰＵ１０ｄは、ステップＳ７０４からステップＳ７０７へ処理を進める。
【０１３１】
ステップＳ７０７では、ＣＰＵ１０ｄは、中継点自動決定サブルーチンを呼び出して実行する。
【０１３２】
図２２は、中継点自動決定サブルーチンの流れを示す図である。
【０１３３】
中継点自動決定サブルーチンの開始後、ＣＰＵ１０ｄは、第５の処理ループＬ５を実行する。第５の処理ループＬ５では、ＣＰＵ１０ｄは、複数のタイル３１の中から選択された幾つかのタイルのそれぞれについて、順に、ステップＳ７３１乃至Ｓ７３８からなる処理を、実行する。
【０１３４】
ステップＳ７３１では、ＣＰＵ１０ｄは、図示せぬ第２のワークテーブルから、処理対象タイル内に住所が含まれるレコードを抽出する。
【０１３５】
次のステップＳ７３２では、ＣＰＵ１０ｄは、重心を特定する。具体的には、ＣＰＵ１０ｄは、ステップＳ７３１で抽出したレコード内の住所から、各レコードについて緯度と経度とを特定する。続いて、ＣＰＵ１０ｄは、緯度とポイント数とを乗じた値を、各レコードについて算出し、算出した値の総和をレコード数で除算する。これにより、ＣＰＵ１０ｄは、重心の緯度を算出する。ＣＰＵ１０ｄは、経度についても同じように演算を行うことにより、重心の経度を算出する。なお、重心が示された選択タイルの例は、図２３に示されている。
【０１３６】
次のステップＳ７３３では、ＣＰＵ１０ｄは、地図２１を構成するレイヤのうち、道路の描画や経路探索などに利用される道路中心線（複数の線分からなる）が記録されているレイヤに注目し、処理対象タイル内から、所定幅員（例えば５ｍ以上）の道路の道路中心線を、検索する。
【０１３７】
次のステップＳ７３４では、ＣＰＵ１０ｄは、所定幅員の道路の道路中心線が処理対象タイル内から検出されたか否かを、判別する。そして、所定幅員の道路の道路中心線が処理対象タイル内から検出されなかった場合、ＣＰＵ１０ｄは、ステップＳ７３４からステップＳ７３５へ処理を分岐させる。
【０１３８】
ステップＳ７３５では、ＣＰＵ１０ｄは、検索範囲を、道路中心線の検索を行ったタイルの外側においてそのタイルと隣接するタイルに変更し、再度、所定幅員の道路の道路中心線を、検索する。その後、ＣＰＵ１０ｄは、ステップＳ７３４へ処理を戻す。
【０１３９】
なお、ステップＳ７３４とＳ７３５とが繰り返し行われると、道路中心線の検索範囲が、処理対象タイルの外側に順次推移していくこととなる。すなわち、所定幅員の道路の道路中心線が処理対象タイルから検出されなかった場合（ステップＳ７３３、Ｓ７３４；いいえ）、処理対象タイルの外側に隣接する８個のタイルが検索範囲とされる（図２４参照）。その８個のタイルから所定幅員の道路の道路中心線が検出されなかった場合（ステップＳ７３５、Ｓ７３４；いいえ）、その８個のタイルの外側でこれらと隣接する１６個のタイルが検索範囲とされる。このようにして検索範囲が広げられることにより、何れ、所定幅員の道路の道路中心線が検出されることとなる。この処理は、路線バスのバス停（中継点）が設置できるような比較的広い幅員を持つ幹線道路が、処理対象タイル内に存在していなくても、処理対象タイルの外側にある幹線道路が必ず抽出されることを、意味している。
【０１４０】
そして、所定幅員の道路の道路中心線が検索範囲から検出されると、ＣＰＵ１０ｄは、ステップＳ７３４からステップＳ７３６へ処理を進める。
【０１４１】
ステップＳ７３６では、ＣＰＵ１０ｄは、ステップＳ７３３又はＳ７３５の検索により検出された道路中心線（複数の線分からなる）の中から、ステップＳ７３２で処理対象タイルについて特定した重心を通る直線に対して直交する道路中心線（線分）を、抽出する。
【０１４２】
次のステップＳ７３７では、ＣＰＵ１０ｄは、ステップＳ７３６で抽出した道路中心線（線分）の中から、処理対象タイルの重心からの距離が最も短い道路中心線（線分）を、特定する。図２５を用いて具体的に説明する。図２５には、Ａ乃至Ｈの道路中心線（線分）と重心とが表記されたタイルが、例示されている。この図２５において、Ｃ、Ｅ、Ｆの道路中心線（線分）が、重心を通る直線と直交しており、各々の重心までの距離は、２００ｍ、４０ｍ、３０ｍとなっている。この場合、重心までの距離が最も短いＦの道路中心線が、ステップＳ７３７で特定される。
【０１４３】
次のステップＳ７３８では、ＣＰＵ１０ｄは、ステップＳ７３７で特定した道路中心線における重心を通る直線との交点を、中継点として決定する。図２５には、Ｃ、Ｅ、Ｆの道路中心線（線分）における重心を通る直線との交点が、それぞれ、Ｐ３、Ｐ２、Ｐ１として示されており、ステップＳ７３８では、重心までの距離が最も短いＦの道路中心線における重心を通る直線との交点Ｐ１が、特定される。その後、ＣＰＵ１０ｄは、第５の処理ループＬ５におけるこの処理対象の回を終了する。
【０１４４】
ＣＰＵ１０ｄは、複数のタイル３１の中から選択された幾つかのタイルの全てについて、ステップＳ７３１乃至Ｓ７３８からなる処理を実行し終えると、第５の処理ループＬ５から離脱し、図２２に係る中継点自動決定サブルーチンを終了する。なお、この図２２に係る中継点自動決定サブルーチンにより、選択されたタイルのそれぞれについて重心が決定されるとともに、決定された重心に基づいて、路線バスのバス停とすべき中継点が決定される（図２６参照）。その後、ＣＰＵ１０ｄは、図２１に係るノード指定受付サブルーチンに復帰し、ステップＳ７０８へ処理を進める。
【０１４５】
なお、図４のステップＳ１０９と図２１のステップＳ７０１乃至Ｓ７０４及びＳ７０７と図２２のステップＳ７３１乃至Ｓ７３８とを実行するＣＰＵ１０ｄは、前述した第１の
特定手段に相当している。
【０１４６】
ステップＳ７０８では、ＣＰＵ１０ｄは、地図２１（図５参照）を構成する複数のレイヤに重ねられる第３のユーザレイヤに、図２２に係る中継点自動決定サブルーチンで決定した中継点を描画する。その後、ＣＰＵ１０ｄは、ステップＳ７０１へ処理を戻し、地図２１又は指示画面２４に入力がなされるまで待機する状態に戻る。
【０１４７】
一方、ステップＳ７０２において、ステップＳ７０１で検出した入力が指示画面２４の確定ボタン２４ｂのクリックであった場合、ＣＰＵ１０ｄは、図２１に係るノード指定受付サブルーチンを終了し、図４に係る運行経路提案処理に復帰して、ステップＳ１１０へ処理を進める。
【０１４８】
ステップＳ１１０では、ＣＰＵ１０ｄは、運行経路案表示サブルーチンを呼び出して実行する。
【０１４９】
図２７は、運行経路案表示サブルーチンの流れを示す図である。
【０１５０】
運行経路案表示サブルーチンの開始後、最初のステップＳ８０１では、ＣＰＵ１０ｄは、ウインドウ２０の操作画面用枠に、図示せぬメッセージボックスを表示する。この図示せぬメッセージボックスには、３個のボタンが含まれている。一個目のボタンは、指定したノード（始点、終点、中継点）を通る運行経路案の表示を指示しようとするときにクリックすべき実行ボタンである。二個目のボタンは、条件設定画面２２（図５参照）を表示させようとするときにクリックすべき戻るボタンである。三個目のボタンは、ノードを指定する操作を再度行おうとするときにクリックすべき再指定ボタンである。
【０１５１】
次のステップＳ８０２では、ＣＰＵ１０ｄは、ステップＳ８０１で表示した図示せぬメッセージボックス内の３個のボタンのうちの何れかがクリックされるまで、待機する。そして、何れかのボタンがクリックされると、ＣＰＵ１０ｄは、ステップＳ８０３へ処理を進める。
【０１５２】
ステップＳ８０３では、ＣＰＵ１０ｄは、ステップＳ８０２でクリックを検出したボタンが実行ボタンであるか否かを、判別する。そして、ステップＳ８０２でクリックを検出したボタンが実行ボタンでなかった場合、ＣＰＵ１０ｄは、ステップＳ８０３からステップＳ８０４へ処理を分岐させる。
【０１５３】
ステップＳ８０４では、ＣＰＵ１０ｄは、ステップＳ８０２でクリックを検出したボタンが戻るボタンであるか否かを、判別する。そして、ステップＳ８０２でクリックを検出したボタンが戻るボタンであった場合、ＣＰＵ１０ｄは、図２７に係る運行経路案表示サブルーチンを離脱して、図４のステップＳ１０１へ処理を戻し、条件設定画面２２を表示ユニット１０ａに表示する。一方、ステップＳ８０２でクリックを検出したボタンが戻るボタンでなかった場合（すなわち、クリックされたボタンが再指定ボタンであった場合）、ＣＰＵ１０ｄは、図２７に係る運行経路案表示サブルーチンを離脱して、図４のステップＳ１０９へ処理を戻し、ノードの指定を受け付ける処理を再実行する。
【０１５４】
一方、ステップＳ８０２でクリックを検出したボタンが実行ボタンであった場合、ＣＰＵ１０ｄは、ステップＳ８０３からステップＳ８０５へ処理を進める。
【０１５５】
ステップＳ８０５では、ＣＰＵ１０ｄは、地図閲覧ソフトウエア１２の経路探索モジュール１２ｂに対し、この時点で確定しているノード（始点、終点、中継点）を引数として与え、その経路探索モジュール１２ｂから、戻り値として、運行経路案を取得する。運行
経路案のデータは、始点から終点までの道路中心線（線分）の組み合わせとなっている。
【０１５６】
なお、図４のステップＳ１１０と図２７のステップＳ８０１乃至Ｓ８０５を実行するＣＰＵ１０ｄは、前述した第２の特定手段に相当している。
【０１５７】
次のステップＳ８０６では、ＣＰＵ１０ｄは、ステップＳ８０５で取得した運行経路案を第４のユーザレイヤに描画することによって、地図２１に重ねて表示する。運行経路案が重ねて表示された地図２１の例は、図２８に示している。その後、ＣＰＵ１０ｄは、図２７に係る運行経路案表示サブルーチンを終了して、図４に係る運行経路提案処理に復帰し、ステップＳ１１１へ処理を進める。
【０１５８】
なお、ステップＳ８０６を実行するＣＰＵ１０ｄは、前述した第２の表示手段に相当している。
【０１５９】
ステップＳ１１１では、ＣＰＵ１０ｄは、保存指示受付サブルーチンを呼び出して実行する。
【０１６０】
図２９は、保存指示受付サブルーチンの流れを示す図である。
【０１６１】
保存指示受付サブルーチンの開始後、最初のステップＳ９０１では、ＣＰＵ１０ｄは、ウインドウ２０の操作画面用枠に、図示せぬメッセージボックスを表示する。図示せぬメッセージボックスには、２個のボタンが含まれている。一個目のボタンは、ステップＳ１１０で表示した運行経路案のデータを保存しようとするときにクリックすべき保存ボタンである。二個目のボタンは、運行経路案のデータを保存せずに条件設定画面２２（図５参照）を表示させようとするときにクリックすべき戻るボタンである。
【０１６２】
次のステップＳ９０２では、ＣＰＵ１０ｄは、ステップＳ９０１で表示した図示せぬメッセージボックス内の２個のボタンのうちの何れかがクリックされるまで、待機する。そして、何れかのボタンがクリックされると、ＣＰＵ１０ｄは、ステップＳ９０３へ処理を進める。
【０１６３】
ステップＳ９０３では、ＣＰＵ１０ｄは、ステップＳ９０２でクリックを検出したボタンが保存ボタンであるか否かを、判別する。そして、ステップＳ９０２でクリックを検出したボタンが保存ボタンでなかった場合、ＣＰＵ１０ｄは、ステップＳ９０３から処理を分岐させ、図２９に係る保存指示受付サブルーチンを終了して、図４に係る運行経路提案処理に復帰し、ステップＳ１０１へ処理を戻す。一方、ステップＳ９０２でクリックを検出したボタンが保存ボタンであった場合、ＣＰＵ１０ｄは、ステップＳ９０３からステップＳ９０４へ処理を進める。
【０１６４】
ステップＳ９０４では、ＣＰＵ１０ｄは、図２７のステップＳ８０５で取得した運行経路案のデータを１つのレイヤデータとしてストレージユニット１０ｃに保存する。その後、ＣＰＵ１０ｄは、図２９に係る保存指示受付サブルーチンを終了して、図４に係る運行経路提案処理に復帰し、ステップＳ１０１へ処理を戻す。
【０１６５】
《作用効果》
本実施形態の運行経路提案マシン１０では、操作者が、運行経路提案プログラム１５の実行を指示すると、地図２１と条件設定画面２２とが表示される（ステップＳ１０１、図５）。操作者が、条件設定画面２２に、タイルの大きさと、タイルの縦横の個数と、運行経路策定の際に考慮の対象となる年齢層とを入力し、その後、地図２１上において原点を指定すると、地図２１上におけるその原点の第一象限の領域に、指定された個数のタイル
３１が定義されて、それらタイルの輪郭が地図２１上に描画される（ステップＳ１０２、Ｓ１０３；いいえ、Ｓ１０４、Ｓ２０１、Ｓ２０２）。その後、操作者が、地図２１上に定義された複数のタイル３１を対象とした処理の実行を指示すると、そのタイル内に住所を持つ指定年齢層の居住者のポイント数の総数が算出され、各タイルが着色される（ステップＳ１０４、Ｓ２０３、Ｓ２０４、Ｓ２０５；はい、Ｓ１０５、Ｓ３０１、Ｓ３０２；はい、Ｓ３０４、Ｓ１０６、Ｓ４０１乃至Ｓ４０９、Ｓ１０７、Ｓ５０１乃至Ｓ５０３）。
【０１６６】
ここで、図５の条件設定画面２２のチェックボックス２２ｆにチェックマークが入力されていなかった場合、タイル内に住所を持つ指定年齢層の居住者のポイント数は、一人当たり１ポイントとなっている（ステップＳ４０３；はい、Ｓ４０６）。従って、この場合、タイル内に住所を持つ指定年齢層の居住者のポイント数の総数は、単純に居住者の総人数となっている。
【０１６７】
これに対し、図５の条件設定画面２２のチェックボックス２２ｆにチェックマークが入力されていた場合、タイル内に住所を持つ指定年齢層の居住者のポイント数は、その指定年齢層の居住者の家庭状況に応じて変化するようになっている（ステップＳ４０３；いいえ、Ｓ４０５乃至Ｓ４０９）。具体的には、まず、その指定年齢層の居住者に対し、同一住所の別世帯が存在しているか否かが確認され（ステップＳ４０４）、同一住所の別世帯が存在していなければ、その指定年齢層の居住者のポイント数は１ポイントとされる（ステップＳ４０５；いいえ、Ｓ４０６）。これに対し、同一住所の別世帯が存在していれば、その指定年齢層の居住者には同居親族がいるとして、その同居親族の状況が確認される（ステップＳ４０５；はい、Ｓ４０９）。
【０１６８】
まず、その指定年齢層の居住者は、同居親族がいたとしても、軽自動車を保有していて尚且つ７０歳未満であった場合には、ポイント数は０ポイントとされ（ステップＳ４５１；はい、Ｓ４５４、図１６）、軽自動車を保有していて７０歳以上であれば、ポイント数は１ポイントとされる。
【０１６９】
また、その指定年齢層の居住者は、軽自動車を保有していない場合には、支援可能者（２２歳以上で所得のない者、又は、１８歳から２１歳までで専業主婦か専業主夫（図１４参照））が同居親族にいるか否かが確認され（ステップＳ４５１；いいえ、Ｓ４５２）、支援可能者が同居親族にいなくて７０歳未満であれば、ポイント数が１．５ポイントとされ、支援可能者が同居親族にいなくて７０歳以上であれば、ポイント数が３ポイントとされる（ステップＳ４５１；いいえ、Ｓ４５２；いいえ、Ｓ４５５、図１６）。つまり、軽自動車も支援可能者もない場合には、交通手段の必要性が高くなるため、指定年齢層の居住者のポイント数には、重みが加わることとなる（第２パターン）。
【０１７０】
また、その指定年齢層の居住者が軽自動車を保有していない場合において、支援可能者が同居親族にいたとしても、その支援可能者が６５歳以上であれば、同一住所の全世帯は、事実上の高齢者世帯であるため、指定年齢層の居住者のポイント数は、軽自動車を保有している場合と同様のポイント数となる（ステップＳ４５１；いいえ、Ｓ４５２；はい、Ｓ４５３；いいえ、Ｓ４５４、図１６）。
【０１７１】
また、その指定年齢層の居住者が軽自動車を保有していない場合において、６５歳未満の支援可能者が同居親族にいたときには、同一住所の全世帯の中から、軽自動車を保有していな６５歳以上の居住者の人数が確認される（ステップＳ４５３；はい、Ｓ４５６）。その人数が０人であれば、支援可能者の負担が軽いため、指定年齢層の居住者のポイント数は、軽自動車を保有している場合と同様のポイント数となる。逆に、その人数が１人以上であると、支援可能者の負担が重くなるため、その指定年齢層の居住者のポイント数は
、７０歳未満であれば１ポイントとされ、７０歳以上では２ポイントとされる。つまり、軽自動車を保有してなくて６５歳未満の支援可能者がいたとしても、同一住所の全世帯に、軽自動車を保有していない６５歳以上の居住者がいれば、やはり、交通手段の必要性が高くなるため、指定年齢層の居住者のポイント数には、重みが加わることとなる（第４パターン）。
【０１７２】
このように、図５の条件設定画面２２のチェックボックス２２ｆにチェックマークが入力されていた場合、タイル内に住所を持つ指定年齢層の居住者のポイント数の総数は、単純に居住者の総人数とならず、各居住者の家庭状況に応じて加重された総人数となっている。
【０１７３】
従って、図５の条件設定画面２２のチェックボックス２２ｆにチェックマークが入力されたときと、されなかったときとで、地図２１上に定義されている複数のタイル３１の着色結果が、変わることとなる。
【０１７４】
また、複数のタイル３１が着色された後、路線バスの既存の運行経路が地図２１上に表示される（ステップＳ１０８、Ｓ６０１、Ｓ６０２）。これにより、操作者は、濃色のタイルに既存の運行経路がなかったときには、路線バスの運行経路の変更や新規路線の新設が必要だと判断することができる。
【０１７５】
また、路線バスの既存の運行経路が地図２１上に表示された後、操作者は、路線バスの運行経路案を表示させるための作業に取りかかれるようになる（ステップＳ１０９、Ｓ７０１）。その作業においては、操作者は、地図２１上へのクリックにて、運行経路案の始点と終点とを指定することができる（ステップＳ７０２；いいえ、Ｓ７０３；はい、Ｓ７０６）。また、操作者は、バス停を設置すべき任意の地点を中継点としてクリックで指定することができる（ステップＳ７０２；いいえ、Ｓ７０３；いいえ、Ｓ７０４；いいえ、Ｓ７０５）。更に、操作者は、タイルを選択することにより、そのタイル内に自動的に中継点を設定することもできる（ステップＳ７０２；いいえ、Ｓ７０３；いいえ、Ｓ７０４；はい、Ｓ７０７、Ｓ７０８）。
【０１７６】
その中継点の自動設定においては、まず、各タイルについて、重心が特定される（ステップＳ７０７、Ｓ７３１、Ｓ７３２）。ここで、図５の条件設定画面２２のチェックボックス２２ｆにチェックマークが入力されていなかった場合、タイル内に住所を持つ指定年齢層の居住者のポイント数は、一人当たり１ポイントであるので、重心は、居住者の重さが均一である場合の平衡点を意味し、従来の人口重心と同じ意味を持つこととなる。一方、図５の条件設定画面２２のチェックボックス２２ｆにチェックマークが入力されていた場合、タイル内に住所を持つ指定年齢層の居住者のポイント数は、前述したように、居住者の家庭状況に応じて加重されるため、重心は、居住者の重さが家庭状況に応じて変化した場合の平衡点を意味し、従来の人口重心とは意味合いが若干異なることとなる。
【０１７７】
換言すると、図５の条件設定画面２２のチェックボックス２２ｆにチェックマークが入力されなかったときには、各タイルの重心は、高齢者の単純な分布の偏りに基づき、図５の条件設定画面２２のチェックボックス２２ｆにチェックマークが入力されたときには、各タイルの重心は、高齢者の家庭状況を加味した分布の偏りに基づくこととなる。
【０１７８】
このようにして、各タイルについて、重心が特定されると、所定幅員の道路における重心に最も近い地点が中継点として特定される（ステップＳ７０７、Ｓ７３３乃至Ｓ７３８）。このように、各タイルについて特定される中継点は、そのタイルにおける重心に基づいていることから、そのタイル内における交通手段を必要とする指定年齢の居住者にとってできるだけ公平な地点となっている。
【０１７９】
従って、このように自動設定された中継点を用いて運行経路案を表示させれば（ステップＳ１１０、Ｓ８０１乃至Ｓ８０６）、操作者は、交通手段を必要とする居住者にとってできるだけ公平となるよう適切に配置された運行経路を知ることができる。
【０１８０】
《ユニットに関する説明》
以上に説明した本実施形態において、運行経路提案マシン１０内の各ユニット１０ａ〜１０ｅは、何れも、ソフトウエア要素とハードウエア要素とから構成されていても良いし、ハードウエア要素のみで構成されていても良い。
【０１８１】
ソフトウエア要素としては、インターフェースプログラム、ドライバプログラム、テーブル、及び、データ、並びに、これらのうちの幾つかを組み合わせたものが、例示できる。これらは、後述のコンピュータ可読媒体に格納されたものであっても良いし、ＲＯＭ［Read Only Memory］及びＬＳＩ［Large Scale Integration］などの記憶装置に固定的に組み込まれたファームウエアであっても良い。
【０１８２】
また、ハードウエア要素としては、ＦＰＧＡ［Field Programmable Gate Array］、ＡＳＩＣ［Application Specific Integrated Circuit］、ゲートアレイ、論理ゲートの組み合わせ、信号処理回路、アナログ回路、及び、その他の回路が、例示できる。このうち、論理ゲートには、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ、フリップフロップ、カウンタ回路などが、含まれていてもよい。また、信号処理回路には、信号値の加算、乗算、除算、反転、積和演算、微分、積分などを実行する回路要素が、含まれていてもよい。また、アナログ回路には、増幅、加算、乗算、微分、積分などを実行する回路要素が、含まれていてもよい。
【０１８３】
なお、前述した運行経路提案マシン１０内の各ユニット１０ａ〜１０ｅをそれぞれ構成する要素は、以上に例示したものに限定されず、これらと等価な他の要素であっても良い。
【０１８４】
《ソフトウエア及びプログラムに関する説明》
以上に説明した本実施形態において、運行経路提案マシン１０内の各ソフトウエア１１、１２、各テーブル１３、１４、及び、運行経路提案プログラム１５、並びに、前述したソフトウエア要素は、何れも、ソフトウエア部品、手続き型言語による部品、オブジェクト指向ソフトウエア部品、クラス部品、タスクとして管理される部品、プロセスとして管理される部品、関数、属性、プロシジャ（手続き）、サブルーチン（ソフトウエアルーチン）、プログラムコードの断片又は部分、ドライバ、ファームウェア、マイクロコード、コード、コードセグメント、エクストラセグメント、スタックセグメント、プログラム領域、データ領域、データ、データベース、データ構造、フィールド、レコード、テーブル、マトリックステーブル、配列、変数、パラメータなどの要素を、含んでいても良い。
【０１８５】
また、前述した運行経路提案マシン１０内の各ソフトウエア１１、１２、各テーブル１３、１４、及び、運行経路提案プログラム１５、並びに、前述したソフトウエア要素は、何れも、Ｃ言語、Ｃ＋＋、Ｊａｖａ（米国サンマイクロシステムズ社の商標）、ビジュアルベーシック（米国マイクロソフト社の商標）、Ｐｅｒｌ、Ｒｕｂｙ、その他の多くのプログラミング言語により記述されたものであっても良い。
【０１８６】
また、前述した運行経路提案マシン１０内の各ソフトウエア１１、１２、各テーブル１３、１４、及び、運行経路提案プログラム１５、並びに、前述したソフトウエア要素に含まれる命令、コード及びデータは、有線ネットワークカード及び有線ネットワークを通じて、又は、無線カード及び無線ネットワークを通じて、コンピュータ、又は、機械若しく
は装置に組み込まれたコンピュータに、送信又はローディングされても良い。
【０１８７】
前述した送信又はローディングにおいて、データ信号は、例えば搬送波に組み込まれることにより、有線ネットワーク又は無線ネットワーク上を移動する。但し、データ信号は、前述した搬送波に依らず、いわゆるベースバンド信号のまま転送されても良い。このような搬送波は、電気的、磁気的又は電磁的な形態、光、音響、又は、その他の形態で、送信される。
【０１８８】
ここで、有線ネットワーク又は無線ネットワークは、例えば、電話回線、ネットワーク回線、ケーブル（光ケーブル、金属ケーブルを含む）、無線リンク、携帯電話アクセス回線、ＰＨＳ［Personal Handyphone System］網、無線ＬＡＮ［Local Area Network］、Bluetooth（ブルートゥース特別利益団体の商標）、車両搭載型無線通信（ＤＳＲＣ［Dedicated Short Range Communication］を含む）、及び、これらのうちの何れかからなるネットワークである。そして、このデータ信号は、命令、コード及びデータを含む情報を、ネットワーク上のノード又は要素に、伝達する。
【０１８９】
なお、前述した運行経路提案マシン１０内の各ソフトウエア１１、１２、各テーブル１３、１４、及び、運行経路提案プログラム１５、並びに、前述したソフトウエア要素を構成する要素は、以上に例示したものに限定されず、これらと等価な他の要素であっても良い。
【０１９０】
《コンピュータ可読媒体に関する説明》
以上に説明した本実施形態における何れかの機能は、コード化されてコンピュータ可読媒体の記憶領域に格納されていても良い。この場合、その機能を実現するためのプログラムが、このコンピュータ可読媒体を介して、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに、提供され得る。コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータは、コンピュータ可読媒体の記憶領域からプログラムを読み出してそのプログラムを実行することによって、その機能を実現することができる。
【０１９１】
ここで、コンピュータ可読媒体とは、電気的、磁気的、光学的、化学的、物理的又は機械的な作用によって、プログラム及びデータ等の情報を蓄積するとともに、コンピュータに読み取られ得る状態でその情報を保持する記録媒体をいう。
【０１９２】
電気的又は磁気的な作用としては、ヒューズによって構成されるＲＯＭ［Read Only Memory］上の素子へのデータの書き込みが、例示できる。磁気的又は物理的な作用としては、紙媒体上の潜像へのトナーの現像が、例示できる。なお、紙媒体に記録された情報は、例えば、光学的に読み取ることができる。光学的且つ化学的な作用としては、基盤上での薄膜形成又は凹凸形成が、例示できる。なお、凹凸の形態で記録された情報は、例えば、光学的に読み取ることができる。化学的な作用としては、基板上での酸化還元反応、又は、半導体基板上での酸化膜形成、窒化膜形成、若しくは、フォトレジスト現像が、例示できる。物理的又は機械的な作用としては、エンボスカードへの凹凸形成、又は、紙媒体へのパンチの穿孔が、例示できる。
【０１９３】
また、コンピュータ可読媒体の中には、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに着脱自在に装着できるものがある。着脱自在なコンピュータ可読媒体としては、ＤＶＤ（ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭを含む）、＋Ｒ／＋ＷＲ、ＢＤ（ＢＤ−Ｒ、ＢＤ−ＲＥ、ＢＤ−ＲＯＭを含む）、ＣＤ［Compact Disk］（ＣＤ−Ｒ、ＣＤ−ＲＷ、ＣＤ−ＲＯＭを含む）、ＭＯ［Magneto Optical］ディスク、その他の光ディスク媒体、フレキシブルディスク（フロッピーディスク（フロッピーは日立製作所社の商標）を含む）、その他の磁気ディスク媒体、メモリーカード
（コンパクトフラッシュ（米国サンディスク社の商標）、スマートメディア（東芝社の商標）、ＳＤカード（米国サンディスク社、松下電器産業社、東芝社の商標）、メモリースティック（ソニー社の商標）、ＭＭＣ（米国ジーメンス社、米国サンディスク社の商標）など）、磁気テープ、及び、その他のテープ媒体、並びに、これらのうちの何れかを内蔵した記憶装置が、例示できる。記憶装置には、ＤＲＡＭ［Dynamic Random Access Memory］又はＳＲＡＭ［Static Random Access Memory］がさらに内蔵されたものもある。
【０１９４】
また、コンピュータ可読媒体の中には、コンピュータ、又は、機械若しくは装置に組み込まれたコンピュータに固定的に装着されたものがある。この種のコンピュータ可読媒体としては、ハードディスク、ＤＲＡＭ、ＳＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ［Electronically Erasable and Programmable Read Only Memory］、フラッシュメモリなどが、例示できる。
【０１９５】
前述した本実施形態に関し、更に、以下の付記を開示する。
【０１９６】
（付記１）
コンピュータを、
所定の指示を受け付けると、地図上に複数の区画を定義する定義手段、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出手段、
前記定義手段が前記地図上に定義した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出手段に抽出された居住者のポイントを計数する計数手段、
前記複数の区画のそれぞれを、前記計数手段が計数したポイント総数に応じた表示形態にて表示する第１の表示手段、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出手段に抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第１の特定手段、
前記第１の特定手段が特定した中継点を全て通る運行経路を特定する第２の特定手段、及び、
前記第２の特定手段が特定した運行経路を前記地図上に表示する第２の表示手段
として機能させる
ことを特徴とする運行経路提案プログラム。
【０１９７】
（付記２）
前記記憶手段には、居住者のそれぞれについて、年齢と住所と納税の有無を特定するための納税情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出手段は、前記居住者の中から抽出した居住者のうち、納税の無い１８歳以上の居住者が同一世帯に存在していない居住者については、ポイント数に重みを加える
ことを特徴とする付記１記載の運行経路提案プログラム。
【０１９８】
（付記３）
前記記憶手段には、居住者のそれぞれについて、年齢と住所と自家用交通手段の保有の有無を特定するための保有情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出手段は、前記居住者の中から抽出した居住者のうち、自家用交通手段を保有していない前記所定の年齢以上の居住者が同一世帯に存在している居住者については、ポイント数に重みを加える
ことを特徴とする付記１又は２記載の運行経路提案プログラム。
【０１９９】
（付記４）
前記第１の特定手段は、算出した重心に最も近い道路におけるその重心に最も近い地点を、前記公共交通手段が経由すべき中継点として特定する
ことを特徴とする付記１、２又は３記載の運行経路提案プログラム。
【０２００】
（付記５）
前記コンピュータを、更に、
前記公共交通手段の運行経路の始点とすべき地点と終点とすべき地点とを受け付ける受付手段
として機能させ、
前記第２の特定手段は、前記受付手段が受け付けた始点と、前記第１の特定手段が特定した全ての中継点と、前記受付手段が受け付けた終点とを通る運行経路を、特定する
ことを特徴とする付記１、２、３又は４記載の運行経路提案プログラム。
【０２０１】
（付記６）
所定の指示を受け付けると、地図上に複数の区画を定義する定義部、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出部、
前記定義部が前記地図上に設定した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出部に抽出された居住者のポイントを計数する計数部、
前記複数の区画のそれぞれを、前記計数部が計数したポイント総数に応じた表示形態にて表示する第１の表示部、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出部に抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第１の特定部、
前記第１の特定部が特定した中継点を全て通る運行経路を特定する第２の特定部、及び、
前記第２の特定部が特定した運行経路を前記地図上に表示する第２の表示部
を備えることを特徴とする運行経路提案システム。
【０２０２】
（付記７）
前記記憶手段には、居住者のそれぞれについて、年齢と住所と納税の有無を特定するための納税情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出部は、前記居住者の中から抽出した居住者のうち、納税の無い１８歳以上の居住者が同一世帯に存在していない居住者については、ポイント数に重みを加える
ことを特徴とする付記６記載の運行経路提案システム。
【０２０３】
（付記８）
前記記憶手段には、居住者のそれぞれについて、年齢と住所と自家用交通手段の保有の有無を特定するための保有情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記抽出部は、前記居住者の中から抽出した居住者のうち、自家用交通手段を保有していない前記所定の年齢以上の居住者が同一世帯に存在している居住者については、ポイント数に重みを加える
ことを特徴とする付記６又は７記載の運行経路提案システム。
【０２０４】
（付記９）
前記第１の特定部は、算出した重心に最も近い道路におけるその重心に最も近い地点を、前記公共交通手段が経由すべき中継点として特定する
ことを特徴とする付記６、７又は８記載の運行経路提案システム。
【０２０５】
（付記１０）
前記公共交通手段の運行経路の始点とすべき地点と終点とすべき地点とを受け付ける受付部
を更に備え、
前記第２の特定部は、前記受付部が受け付けた始点と、前記第１の特定部が特定した全ての中継点と、前記受付部が受け付けた終点とを通る運行経路を、特定する
ことを特徴とする付記６、７、８又は９記載の運行経路提案システム。
【０２０６】
（付記１１）
コンピュータが、
所定の指示を受け付けると、地図上に複数の区画を定義する定義手順、
所定の指示を受け付けると、居住者のそれぞれについて年齢と住所とが格納されている記憶手段を参照して、前記居住者の中から所定の年齢以上の居住者を抽出する抽出手順、
前記定義手順で前記地図上に設定した複数の区画のそれぞれについて、その区画に住所を有するとともに前記抽出手順で抽出された居住者のポイントを計数する計数手順、
前記複数の区画のそれぞれを、前記計数手順で計数したポイント総数に応じた表示形態にて表示する第１の表示手順、
前記複数の区画の中から任意の個数の区画が選択されると、選択された区画に住所を有するとともに前記抽出手順で抽出された居住者の住所とポイントとに基づいて重心を算出し、算出した重心に基づいて、その選択された区画内に、公共交通手段が経由すべき中継点を特定する第１の特定手順、
前記第１の特定手順で特定した中継点を全て通る運行経路を特定する第２の特定手順、及び、
前記第２の特定手順で特定した運行経路を前記地図上に表示する第２の表示手順
を実行する
ことを特徴とする運行経路提案方法。
【０２０７】
（付記１２）
前記記憶手段には、居住者のそれぞれについて、年齢と住所と納税の有無を特定するための納税情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記コンピュータが、
前記抽出手順において、前記居住者の中から抽出した居住者のうち、納税の無い１８歳以上の居住者が同一世帯に存在していない居住者については、ポイント数に重みを加えることを特徴とする付記１１記載の運行経路提案方法。
【０２０８】
（付記１３）
前記記憶手段には、居住者のそれぞれについて、年齢と住所と自家用交通手段の保有の有無を特定するための保有情報とその居住者が所属する世帯を特定するための世帯識別情報とが格納されており、
前記コンピュータが、
前記抽出手順において、前記居住者の中から抽出した居住者のうち、自家用交通手段を保有していない前記所定の年齢以上の居住者が同一世帯に存在している居住者については、ポイント数に重みを加える
ことを特徴とする付記１１又は１２記載の運行経路提案方法。
【０２０９】
（付記１４）
前記コンピュータが、
前記第１の特定手順において、算出した重心に最も近い道路におけるその重心に最も近い地点を、前記公共交通手段が経由すべき中継点として特定する
ことを特徴とする付記１１、１２又は１３記載の運行経路提案方法。
【０２１０】
（付記１５）
前記コンピュータが、更に、
前記公共交通手段の運行経路の始点とすべき地点と終点とすべき地点とを受け付ける受付手順
を実行し、
前記第２の特定手順において、前記受付手順で受け付けた始点と、前記第１の特定手順で特定した全ての中継点と、前記受付手順で受け付けた終点とを通る運行経路を、特定する
ことを特徴とする付記１１、１２、１３又は１４記載の運行経路提案方法。
【図面の簡単な説明】
【０２１１】
【図１】本実施形態の運行経路提案マシンの構成図
【図２】居住者情報管理テーブルを模式的に示す図
【図３】世帯情報管理テーブルを模式的に示す図
【図４】運行経路提案処理の流れを示す図
【図５】ウインドウ内に表示される地図と条件設定画面の一例を示す図
【図６】タイル生成指示受付サブルーチンの流れを示す図
【図７】ウインドウ内に表示される地図とメッセージボックスの一例を示す図
【図８】対象抽出サブルーチンの流れを示す図
【図９】第１のワークテーブルを模式的に示す図
【図１０】居住点プロットサブルーチンの流れを示す図
【図１１】ドットが描画された地図の一例を示す図
【図１２】加重ポイント登録サブルーチンの流れを示す図
【図１３】第３のワークテーブルを模式的に示す図
【図１４】同一世帯人支援可否判定サブルーチンの流れを示す図
【図１５】加重ポイント決定サブルーチンの流れを示す図
【図１６】パターンの定義を概念的に示す図
【図１７】タイル着色サブルーチンの流れを示す図
【図１８】タイルが着色された地図の一例を示す図
【図１９】既存運行経路表示サブルーチンの流れを示す図
【図２０】路線バスの既存の運行経路が重ねて表示された地図の一例を示す図
【図２１】ノード指定受付サブルーチンの流れを示す図
【図２２】中継点自動決定サブルーチンの流れを示す図
【図２３】重心が示された選択タイルの例を示す図
【図２４】検索範囲を１個のタイルからそのタイルの外側に隣接する８個のタイルに変更する例を示す図
【図２５】複数の道路中心線と重心とが表記されたタイルの一例を示す図
【図２６】各タイルにおける重心と中継点との関係の一例を示す図
【図２７】運行経路案表示サブルーチンの流れを示す図
【図２８】運行経路案が重ねて表示された地図の例を示す図
【図２９】保存指示受付サブルーチンの流れを示す図
【符号の説明】
【０２１２】
１０    運行経路提案マシン
１０ａ  表示ユニット
１０ｂ  入力ユニット
１０ｃ  ストレージユニット
１０ｄ  ＣＰＵ
１０ｅ  メインメモリユニット
１２    地図閲覧ソフトウエア
１２ａ  地図データ
１２ｂ  経路探索モジュール
１３    居住者情報管理テーブル
１４    世帯情報管理テーブル
１５    運行経路提案プログラム
【図１】
0005272529.tif 000002
【図２】
0005272529.tif 000003
【図３】
0005272529.tif 000004
【図４】
0005272529.tif 000005
【図５】
0005272529.tif 000006
【図６】
0005272529.tif 000007
【図７】
0005272529.tif 000008
【図８】
0005272529.tif 000009
【図９】
0005272529.tif 000010
【図１０】
0005272529.tif 000011
【図１１】
0005272529.tif 000012
【図１２】
0005272529.tif 000013
【図１３】
0005272529.tif 000014
【図１４】
0005272529.tif 000015
【図１５】
0005272529.tif 000016
【図１６】
0005272529.tif 000017
【図１７】
0005272529.tif 000018
【図１８】
0005272529.tif 000019
【図１９】
0005272529.tif 000020
【図２０】
0005272529.tif 000021
【図２１】
0005272529.tif 000022
【図２２】
0005272529.tif 000023
【図２３】
0005272529.tif 000024
【図２４】
0005272529.tif 000025
【図２５】
0005272529.tif 000026
【図２６】
0005272529.tif 000027
【図２７】
0005272529.tif 000028
【図２８】
0005272529.tif 000029
【図２９】
0005272529.tif 000030