(57)【特許請求の範囲】
【請求項１】
位置を示す点データの個数が均一になるように領域を分割する均一分割後における各領域に含まれるべき前記点データの目標個数を第１の整数により整数倍した第１の値を基準にした、前記目標個数の許容範囲を示す許容範囲率により規定される第１の区間の上限が、前記目標個数を前記第１の整数よりも大きい第２の整数により整数倍した第２の値を基準にした前記許容範囲率により規定される第２の区間の下限以上となる前記第１の整数が存在する場合、前記第１の整数を、前記許容範囲率を満たすように領域を均一分割する場合の前記均一分割後の最大分割数である最大均一分割数に設定し、当該最大均一分割数に基づいて、等分に分割する均等分割の対象領域に対し前記均等分割を停止させる点データの個数である停止条件を設定する設定部と、
前記均等分割の対象領域を点データ群が存在する領域とし、前記均等分割の対象領域内の点データの個数が前記設定部によって設定された停止条件を下回るまで、前記均等分割の対象領域を均等分割し、当該均等分割により得られた前記停止条件以上の個数の点データを有する領域を前記均等分割の対象領域にする均等分割部と、
前記均等分割部によって得られた前記停止条件を下回る個数の点データを有する領域群の各々について前記均一分割を実行する均一分割部と、
前記均一分割部によって分割された領域群に関する情報を出力する出力部と、
を有することを特徴とする分割装置。
【請求項２】
前記設定部は、
さらに、前記許容範囲率を満たす点データの個数が存在する領域の割合を示す適合率を用いて、前記最大均一分割数を設定し、当該最大均一分割数に基づいて、前記停止条件を設定することを特徴とする請求項１に記載の分割装置。
【請求項３】
前記均等分割部は、
前記均等分割の対象領域を、当該対象領域の最長辺が短くなるように均等分割することを特徴とする請求項１または２に記載の分割装置。
【請求項４】
前記均等分割部によって得られた領域群の各領域について、当該領域内の点データの個数が、前記目標個数の整数倍を基準にした許容範囲率により規定される区間内の個数である場合、前記目標個数を整数倍した整数を均一分割の分割数に決定する分割数決定部を有し、
前記均一分割部は、
前記均等分割部によって得られた均一分割の対象領域群の各対象領域を、当該各対象領域について前記分割数決定部によって決定された分割数により均一分割することを特徴とする請求項１〜３のいずれか一つに記載の分割装置。
【請求項５】
前記分割数決定部は、
前記均等分割部によって得られた均一分割の対象領域群のうち、前記目標個数の整数倍を基準にした許容範囲率により規定される区間内の個数でない特定の対象領域について、前記特定の対象領域が有する点データの個数を第３の整数により分割した場合に前記目標個数よりも低くなる前記区間外の第１の分割結果と、前記特定の対象領域が有する点データの個数を第４の整数により分割した場合に前記目標個数よりも高くなる前記区間外の第２の分割結果と、のうち、いずれか一方の分割結果を得た場合の整数を、均一分割の分割数に決定することを特徴とする請求項４に記載の分割装置。
【請求項６】
前記分割数決定部は、
前記第１の分割結果と、前記第２の分割結果と、のうち、前記目標個数に近い方の分割結果に対応する整数を、均一分割の分割数に決定することを特徴とする請求項５に記載の分割装置。
【請求項７】
均一分割の対象領域が有する点データの個数を前記分割数により割り算した割り算結果に基づいて、均一分割の対象領域を前記分割数により均一分割した各領域内の点データの個数を、当該各個数の差が最小となるように決定する領域内データ数決定部を有し、
前記均一分割部は、
均一分割の各対象領域について、均一分割後の各領域が前記領域内データ数決定部によって決定された点データの個数が存在する領域となるように均一分割することを特徴とする請求項４〜６のいずれか一つに記載の分割装置。
【請求項８】
コンピュータが、
位置を示す点データの個数が均一になるように領域を分割する均一分割後における各領域に含まれるべき前記点データの目標個数を第１の整数により整数倍した第１の値を基準にした、前記目標個数の許容範囲を示す許容範囲率により規定される第１の区間の上限が、前記目標個数を前記第１の整数よりも大きい第２の整数により整数倍した第２の値を基準にした前記許容範囲率により規定される第２の区間の下限以上となる前記第１の整数が存在する場合、前記第１の整数を、前記許容範囲率を満たすように領域を均一分割する場合の前記均一分割後の最大分割数である最大均一分割数に設定し、当該最大均一分割数に基づいて、等分に分割する均等分割の対象領域に対し前記均等分割を停止させる点データの個数である停止条件を設定し、
記憶装置に記憶されている前記均等分割の対象領域を点データ群が存在する領域とし、前記均等分割の対象領域内の点データの個数が前記停止条件を下回るまで、前記均等分割の対象領域を均等分割し、均等分割により得られた前記停止条件以上の個数の点データを有する領域を前記均等分割の対象領域にし、
前記停止条件を下回る個数の点データを有する領域群の各々について前記均等分割を実行し、
均一分割された領域群に関する情報を出力する、
処理を実行することを特徴とする分割方法。
【請求項９】
位置を示す点データの個数が均一になるように領域を分割する均一分割後における各領域に含まれるべき前記点データの目標個数を第１の整数により整数倍した第１の値を基準にした、前記目標個数の許容範囲を示す許容範囲率により規定される第１の区間の上限が、前記目標個数を前記第１の整数よりも大きい第２の整数により整数倍した第２の値を基準にした前記許容範囲率により規定される第２の区間の下限以上となる前記第１の整数が存在する場合、前記第１の整数を、前記許容範囲率を満たすように領域を均一分割する場合の前記均一分割後の最大分割数である最大均一分割数に設定し、当該最大均一分割数に基づいて、等分に分割する均等分割の対象領域に対し前記均等分割を停止させる点データの個数である停止条件を設定し、
記憶装置に記憶されている前記均等分割の対象領域を点データ群が存在する領域とし、前記均等分割の対象領域内の点データの個数が前記停止条件を下回るまで、前記均等分割の対象領域を均等分割し、均等分割により得られた前記停止条件以上の個数の点データを有する領域を前記均等分割の対象領域にし、
前記停止条件を下回る個数の点データを有する領域群の各々について前記均等分割を実行し、
均一分割された領域群に関する情報を出力する、
処理をコンピュータに実行させることを特徴とする分割プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分割装置、分割方法、および分割プログラムに関する。
【背景技術】
【０００２】
近年、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）機器の発達により位置を示す点データの収集が可能である。また、収集された点データ群から有用な知見を得る時空間データ処理が可能である。たとえば、時空間データ処理の例としては、最適領域発見、マップマッチング技術などがある。しかしながら、点データ群をそのまま扱うと処理時間がかかるという問題がある。したがって、点データ群をサンプリングし処理する場合、サンプリング方法の一つとして、点データ群をいくつかの領域に分割する方法がある。
【０００３】
領域分割の従来方法として、領域内のデータの個数が均一になるように分割する均一分割に関する技術が開示されている。たとえば、回路図を入力して回路接続データを作成し、回路分割制御部によりクラスタ数が均一な部分回路に分割する回路分割装置がある（たとえば、特許文献１を参照。）。
【０００４】
また、領域を等分に分割する均等分割に関する技術も開示されている。たとえば、解析対象物の形状をモデル化した形状モデルデータとブロック分割のためのブロック分割データを用いて、形状モデルデータの座標系に合わせて、ブロックを座標軸方向に等分割することを繰り返す数値解析用メッシュ作成装置がある（たとえば、特許文献２を参照。）。また、道路形状を表す形状ベクトルデータや事象情報等の情報伝送範囲の全体区画を複数階層の区画に分割し、各区画におけるデータ量がほぼ同程度となるように区画定義を行う位置情報伝達装置がある（たとえば、特許文献３を参照。）。また、複数の巡回ポイントを含む地域を、各作業員が効率よく巡回できるようにエリア分割するエリア分割システムがある（たとえば、特許文献４を参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−１２０３７１号公報
【特許文献２】特開平８−３２０９４７号公報
【特許文献３】特開２００３−２５４７６２号公報
【特許文献４】国際公開２００４／０３８６０１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した均一分割をおこなった場合には、領域内のデータの個数を均一にするため、分割された各領域の大きさにばらつきが生じる。このため、領域内の点データ間の最長距離が長くなる領域が形成される場合がある。このように長く形成された一つの領域は、実際に処理が必要な複数の区域を含む場合がある。このように均一分割された領域が実際に処理が必要な複数の区域にまたがった場合には、区域ごとの点データのデータ処理が困難である。たとえば、ある領域の犯罪発生地点の数を区域ごとに分析したい場合、均一分割した一つの領域が、異なる区域Ａと区域Ｂとにまたがってしまい、区域Ａと区域Ｂとの各々に注目したデータ処理が困難となる。
【０００７】
一方、均等分割を行った場合には、領域が等分に分割されるため、均等分割した領域内の点データ間の最長距離は、均一分割した領域に比べ短くなる。これにより、均一分割した領域が、複数の区域にまたがるという問題は低減される。均等分割は、領域内のデータ個数を均一にするものではなく、単に複数の領域を等分に分割するため、均等分割された各領域内の点データの個数が異なる。したがって、領域ごとにサービスを均一にするデータ処理を提供しようとしても、点データ１個あたりに割当てられるサービスの質にばらつきが生じてしまい、領域ごとにサービスを均一にすることができない。たとえば、点データを犯罪発生地点とし、領域ごとに交番を配置する計画に適用する場合、１領域あたりの犯罪発生地点の数に偏りが生じ、領域ごとに交番の処理件数が異なることになる。したがって、１件あたりの交番にかかる負荷が領域ごとに異なり、対応に差が生じることになる。
【０００８】
このように、従来の均一分割による処理だけでは各領域の大きさにばらつきが生じる一方、均等分割により処理だけでは各領域内のデータ個数にばらつきが生じるため、複数の領域の大きさを均等化させ、かつ、各領域内のデータ個数の均一化を図る、ということができない。
【０００９】
本発明は、上述した問題点を解決するため、均一分割による領域の大きさのばらつきと均等分割による領域ごとのデータ数のばらつきを抑制することができる分割装置、分割方法、および分割プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一側面によれば、位置を示す点データの個数が均一になるように領域を分割する均一分割後における各領域に含まれるべき前記点データの目標個数と、前記目標個数の許容範囲を示す許容範囲率と、前記許容範囲率を満たすように領域を均一分割する場合の前記均一分割後の最大分割数である最大均一分割数と、に基づいて、等分に分割する均等分割の対象領域に対し均等分割を停止させる点データの個数である停止条件を設定し、記憶装置に記憶されている前記均等分割の対象領域を点データ群が存在する領域とし、前記均等分割の対象領域内の点データの個数が前記停止条件を下回るまで、前記均等分割の対象領域を均等分割し、均等分割により得られた前記停止条件以上の個数の点データを有する領域を前記均等分割の対象領域にし、前記停止条件を下回る個数の点データを有する領域群の各々について前記均等分割を実行し、均一分割された領域群に関する情報を出力する分割装置、分割方法、および分割プログラムが提案される。
【発明の効果】
【００１１】
本発明の一側面によれば、均一分割による領域の大きさのばらつきと均等分割による領域ごとのデータ数のばらつきを抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施の形態にかかる領域分割処理の一例を示す説明図である。
【図２】図２は、均等分割例を示す説明図である。
【図３】図３は、均一分割例を示す説明図である。
【図４】図４は、領域内の点データ間の距離を示す説明図である。
【図５】図５は、実施の形態にかかる分割装置のハードウェア構成例を示すブロック図である。
【図６】図６は、ＤＢ（Ｄａｔａ  Ｂａｓｅ）の記憶内容の一例を示す説明図である。
【図７】図７は、分割装置の機能的構成を示すブロック図である。
【図８】図８は、均等分割停止条件Ｔと最大均一分割数ｋとの関係を示す説明図（その１）である。
【図９】図９は、均等分割停止条件Ｔと最大均一分割数ｋとの関係を示す説明図（その２）である。
【図１０】図１０は、均等分割停止条件Ｔと最大均一分割数ｋとの関係を示す説明図（その３）である。
【図１１】図１１は、分割数の決定内容例を示す説明図である。
【図１２】図１２は、本実施の形態にかかる分割装置７００による領域分割処理手順例を示すフローチャートである。
【図１３】図１３は、図１２に示した均等分割サブルーチン（ステップＳ１２０６）の詳細な処理手順例を示すフローチャートである。
【図１４】図１４は、図１３のステップＳ１３０６における均等分割例を示す説明図である。
【図１５】図１５は、図１３のステップＳ１３０７における均等分割例を示す説明図である。
【図１６】図１６は、図１２に示した均一分割サブルーチン（ステップＳ１２０７）の詳細な処理手順例を示すフローチャートである。
【図１７】図１７は、図１６に示した分割数決定サブルーチン（ステップＳ１６０４）の詳細な処理手順を示すフローチャートである。
【図１８】図１８は、図１６に示した領域内データ数決定サブルーチン（ステップＳ１６０５）の詳細な処理手順を示すフローチャートである。
【図１９】図１９は、図１６に示した平行分割サブルーチン（ステップＳ１６０６）の詳細な処理手順を示すフローチャートである。
【図２０】図２０は、領域分割の具体例を示す説明図（その１）である。
【図２１】図２１は、領域分割の具体例を示す説明図（その２）である。
【図２２】図２２は、領域分割の具体例を示す説明図（その３）である。
【図２３】図２３は、領域分割の具体例を示す説明図（その４）である。
【図２４】図２４は、領域分割の具体例を示す説明図（その５）である。
【図２５】図２５は、領域分割の具体例を示す説明図（その６）である。
【図２６】図２６は、領域分割の具体例を示す説明図（その７）である。
【図２７】図２７は、領域分割の具体例を示す説明図（その８）である。
【図２８】図２８は、領域分割の具体例を示す説明図（その９）である。
【図２９】図２９は、領域分割の具体例を示す説明図（その１０）である。
【図３０】図３０は、領域分割の具体例を示す説明図（その１１）である。
【図３１】図３１は、均一分割の表記例を示す説明図である。
【図３２】図３２は、領域分割の具体例を示す説明図（その１２）である。
【図３３】図３３は、領域分割の具体例を示す説明図（その１３）である。
【図３４】図３４は、領域分割の具体例を示す説明図（その１４）である。
【図３５】図３５は、領域分割の具体例を示す説明図（その１５）である。
【図３６】図３６は、領域分割の具体例を示す説明図（その１６）である。
【図３７】図３７は、領域分割の具体例を示す説明図（その１７）である。
【図３８】図３８は、領域分割の具体例を示す説明図（その１８）である。
【図３９】図３９は、領域分割の具体例を示す説明図（その１９）である。
【図４０】図４０は、領域分割の具体例を示す説明図（その２０）である。
【図４１】図４１は、領域分割の具体例を示す説明図（その２１）である。
【図４２】図４２は、領域分割の具体例を示す説明図（その２２）である。
【図４３】図４３は、領域分割の具体例を示す説明図（その２３）である。
【図４４】図４４は、図４３の領域分割結果における点データの分布を示すヒストグラムである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかる分割装置、分割方法、および分割プログラムの実施の形態を詳細に説明する。
【００１４】
＜領域分割例＞
図１は、本実施の形態にかかる領域分割処理の一例を示す説明図である。図１において、（Ａ）は領域分割前の状態、（Ｂ）は均等分割後の状態、（Ｃ）は均一分割後の状態を示している。（Ａ）および（Ｂ）において、各領域内の数値は、点データの個数を示している。点データとは、領域内の分析対象の位置情報を有するデータである。分析対象としては、たとえば、住居、温度や犯罪発生地点、火災発生地点、携帯端末の基地局などの観測地点、自動車や人間が携行する携帯端末などの移動体が挙げられる。
【００１５】
（Ａ）は、分割前の領域Ｒを示している。一例として領域Ｒは、１０００個の点データを含む。分割装置は、（Ａ）の状態から領域Ｒを均等分割する。均等分割とは、領域を等分に分割する分割処理である。本実施の形態では、均等分割の対象となる領域内の点データの個数が、均等分割停止条件を下回るまで、均等分割される。均等分割停止条件とは、均等分割の対象領域に対し、均等分割を行うか否かを判断する指標値である。均等分割停止条件は、利用者が、分割領域内の点データの目標個数を用いて設定される。均等分割停止条件の詳細については後述する。図１では、均等分割停止条件を「１４３」とし、点データの個数が１４３個を下回るまで、均等分割の対象領域が均等分割される。
【００１６】
（Ｂ）は、均等分割処理後の状態を示している。（Ｂ）では、領域Ｒが領域Ｒ１〜Ｒ１２に均等分割されたものとする。領域Ｒ１〜Ｒ１２内の数値は、各領域Ｒ１〜Ｒ１２内に存在する点データの個数である。たとえば、領域Ｒ３には２８個の点データが存在する。（Ｂ）において、領域Ｒ３内の黒い点は、点データを示している。
【００１７】
（Ｃ）は、（Ｂ）の均等分割処理後の状態から、均一分割処理を行った状態を示している。均一分割とは、点データの個数を均一になるように分割する分割処理である。点データの個数が均一分割数で割り切れない場合があるため、均一とは、同数に限らず、均一分割された領域内の点データの個数がそれぞれ許容範囲内に収まっている場合も含まれる。
【００１８】
（Ｃ）の各領域Ｒ１〜Ｒ１２内において、「ａ×ｂ」（ａ，ｂは整数）という表記は、「ａ個の点データが存在する領域がｂ個」という意味である。たとえば、領域Ｒ３は、「１０×１、９×２」であるため、領域Ｒ３は、１０個の点データが存在する１個の領域Ｒ３−１と、９個の点データが存在する２個の領域Ｒ３−２，Ｒ３−３と、に均一分割される。領域Ｒ３以外の領域Ｒ１，Ｒ２，Ｒ４〜Ｒ１２についても同様である。
【００１９】
このように、（Ａ）の状態から可能な限り、すなわち、分割停止条件を下回るまで均等分割が実行され、これ以上均等分割ができない状態（Ｂ）に到達した場合に、（Ｃ）の均一分割が実行される。したがって、（Ｃ）の均一分割された領域（たとえば、領域Ｒ３−１〜Ｒ３−３）では、領域内の両端の点データ間の距離が、（Ａ）から均一分割した場合に比べて短くなり、各領域内の点データの個数も均一になる。したがって、データ分析に有効活用することができる。なお、領域の形状を矩形としたが、矩形に限られない。
【００２０】
図２は、均等分割例を示す説明図である。均等分割では、横の長さｘ、縦の長さｙの領域Ｒは、ｘ、ｙのいずれか一方から２等分に分割される。図２では、まず、ｘが２等分になるように分割され、その後、ｙが２等分になるように分割される。これにより、領域Ｒは、４等分に分割される。なお、ｙから先に分割してもよい。
【００２１】
図３は、均一分割例を示す説明図である。領域Ｒ内には、ｎ個の点データが存在する。均一分割では、分割後の領域がそれぞれ分割元の点データの個数が揃うように分割される。たとえば、領域Ｒが、点データの個数がそれぞれｎ／２個となるように分割され、ｎ／２個の領域が、点データの個数がそれぞれｎ／４となるように分割される。これにより、分割された４個の領域内の点データの個数は、それぞれｎ／４個となる。分割元の点データの個数が奇数の場合は割り切れないため、分割後の２つの領域の点データの個数については、一方の領域の個数が１つ多く（または少なく）なる。
【００２２】
図４は、領域内の点データ間の距離を示す説明図である。図４に示す領域Ｒｘは、一例として矩形とする。領域Ｒｘ内の黒い点は点データを示しており、点データ間を結ぶ線は、点データ間の距離の長さを示している。点データが領域Ｒｘの対角線の両端となる領域Ｒｘの頂点に存在する場合、その対角線が点データ間の距離の最長距離となる。図１の（Ｃ）の均一分割された領域（たとえば、領域Ｒ３−１〜Ｒ３−３）では、領域内の両端の点データ間の距離が、当該領域の対角線の両端となる頂点に存在する場合であっても、領域Ｒから直接均一分割した場合に比べて短くなる。なお、図４では、領域Ｒｘを矩形としたが、矩形でない場合は、点データ間の最長距離は対角線とは限らない。たとえば、領域が楕円形状の場合は、点データ間の最長距離は長軸となる。また、領域が３角形の場合は、点データ間の最長距離は３角形の最長辺となる。
【００２３】
（分割装置のハードウェア構成例）
図５は、実施の形態にかかる分割装置のハードウェア構成例を示すブロック図である。図５において、分割装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３と、磁気ディスクドライブ５０４と、磁気ディスク５０５と、光ディスクドライブ５０６と、光ディスク５０７と、ディスプレイ５０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）５０９と、キーボード５１０と、マウス５１１と、スキャナ５１２と、プリンタ５１３と、を備えている。また、各構成部はバス５００によってそれぞれ接続されている。
【００２４】
ここで、ＣＰＵ５０１は、分割装置の全体の制御を司る。ＲＯＭ５０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。磁気ディスクドライブ５０４は、ＣＰＵ５０１の制御にしたがって磁気ディスク５０５に対するデータのリード／ライトを制御する。磁気ディスク５０５は、磁気ディスクドライブ５０４の制御で書き込まれたデータを記憶する。
【００２５】
光ディスクドライブ５０６は、ＣＰＵ５０１の制御にしたがって光ディスク５０７に対するデータのリード／ライトを制御する。光ディスク５０７は、光ディスクドライブ５０６の制御で書き込まれたデータを記憶したり、光ディスク５０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２６】
ディスプレイ５０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ５０８は、たとえば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２７】
インターフェース（以下、「Ｉ／Ｆ」と略する。）５０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク５１４に接続され、このネットワーク５１４を介して他の装置に接続される。そして、Ｉ／Ｆ５０９は、ネットワーク５１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ５０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２８】
キーボード５１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス５１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２９】
スキャナ５１２は、画像を光学的に読み取り、分割装置内に画像データを取り込む。なお、スキャナ５１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ５１３は、画像データや文書データを印刷する。プリンタ５１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ５０６、光ディスク５０７、ディスプレイ５０８、キーボード５１０、マウス５１１、スキャナ５１２、およびプリンタ５１３の少なくともいずれか１つは、なくてもよい。
【００３０】
＜ＤＢの記憶内容の一例＞
図６は、ＤＢ（Ｄａｔａ  Ｂａｓｅ）の記憶内容の一例を示す説明図である。ＤＢ６００は、分析対象となる点データ群を記憶する。ＤＢ６００は、ＩＤ項目と、位置情報項目と、属性情報項目とを有し、点データごとに各項目の値を有する。ＩＤ項目には、点データを識別する識別子ｐ１，ｐ２，…，ｐｎが格納される。位置情報項目はＸ方向の位置座標を示す位置Ｘ項目とＹ方向の位置座標を示す位置Ｙ項目を有する。位置Ｘ項目には、領域データ上での点データのＸ座標値ｘ（ｐ１），ｘ（ｐ２），…，ｘ（ｐｎ）が格納される。位置Ｙ項目には、領域データ上での点データのＹ座標値ｙ（ｐ１），ｙ（ｐ２），…，ｙ（ｐｎ）が格納される。位置情報の取得については、ＤＢ６００の管理者が手作業で入力してもよく、また、点データに対応する分析対象のコンピュータからネットワーク経由でアップロードされることとしてもよい。たとえば、自動車や携帯端末の場合は、ＧＰＳにより得られた位置情報を、分割装置が受信してＤＢ６００に格納することとしてもよい。
【００３１】
属性情報項目には、属性情報に応じた属性値ａｔ（ｐ１），ａｔ（ｐ２），…，ａｔ（ｐｎ）が格納される。属性情報とは、点データの特徴を示す情報であり、たとえば、点データが観測地点の場合、温度や、犯罪発生数、火災発生数などが挙げられる。また、点データが住居を示す場合、消費電力量や居住人数などが挙げられる。また、点データが自動車を示す場合、自動車の車種やＣＯ2排出量などが挙げられる。また、点データが携帯端末を示す場合、バッテリー残量などが挙げられる。なお、属性情報の取得については、ＤＢ６００の管理者が手作業で入力してもよく、また、点データに対応する分析対象のコンピュータからアップロードされて、分割装置がＤＢ６００に格納することとしてもよい。また、図示しないが、ＤＢ６００には点データ群が存在する領域データも格納されている。領域データは、たとえば、領域の頂点座標である。
【００３２】
＜分割装置の機能的構成例＞
図７は、分割装置の機能的構成を示すブロック図である。分割装置７００は、取得部７０１と、設定部７０２と、均等分割部７０３と、均一分割部７０４と、算出部７０５と、出力部７０６と、を有する。取得部７０１、設定部７０２、均等分割部７０３、均一分割部７０４、算出部７０５および出力部７０６は、具体的には、たとえば、図５に示したＲＯＭ５０２、ＲＡＭ５０３、磁気ディスク５０５、光ディスク５０７などの記憶装置に記憶されたプログラムをＣＰＵ５０１に実行させることにより、または、Ｉ／Ｆ５０９により、その機能を実現する。
【００３３】
取得部７０１は、各種パラメータを取得する。具体的には、たとえば、地図データなどの分割したい領域データを取得する。また、取得部７０１は、目標個数ｃや許容範囲率ｍを取得する。目標個数ｃとは、均一分割された各領域に含まれるべき点データの個数である。具体的には、目標個数ｃは、利用者が要求する分割領域内の点データの個数である。たとえば、分割領域内の点データの個数を１００個にしたい場合は、ｃ＝１００となる。また、許容範囲率ｍとは、分割装置７００により得られる分割領域内の点データの実個数と目標個数ｃとの差の許容範囲を決める率である。たとえば、最終的に１００個の点データを保持する領域に分割したい場合（ｃ＝１００）、許容範囲率ｍをｍ＝１０％とすると、点データの個数が９０〜１１０個の間にあるような領域の生成を許容することになる。許容範囲率の値域は、０≦ｍ≦１である。
【００３４】
また、取得部７０１は、適合率ｒを取得することとしてもよい。適合率ｒとは、分割した全領域数のうち、許容範囲率ｍを満たす点データの個数を保持する領域数を示す率である。たとえば、分割した全領域数が１２００個で、そのうち許容範囲率ｍを満たす点データの個数に収まっている領域数を９００個とすると、適合率は９００／１２００＝７５％となる。適合率ｒの値域は、０≦ｒ＜１である。取得部７０１は、具体的には、たとえば、利用者がキーボード５１０やマウス５１１を操作することにより、各種パラメータを取得する。また、取得部７０１は、Ｉ／Ｆ５０９から各種パラメータを取得する。
【００３５】
設定部７０２は、目標個数ｃと、許容範囲率ｍと、許容範囲率ｍを満たすように領域を均一分割する場合の均一分割後の最大分割数である最大均一分割数ｋと、に基づいて、均等分割停止条件を設定する。均等分割停止条件とは、均等分割の対象領域に対し、均等分割を行うか否かを判断する指標値である。均等分割された各領域を最大均一分割数ｋで均一分割すると、均等分割された各領域は、許容範囲率ｍを満たすように均一分割される。
【００３６】
均等分割停止条件は、できるだけ均等分割を行い、領域内の点データ間の最長距離をなるべく短くする領域を生成する点データの個数である。すなわち、均等分割停止条件を下回る点データの個数を有する領域は、領域内の点データの最長距離が、均一分割可能な程度に短くなっていることを示す。均等分割停止条件以上の点データの個数を有する領域は、均等分割停止条件を下回るまで均等分割されることになる。設定部７０２は、目標個数ｃと許容範囲率ｍを用いて均等分割停止条件Ｔを算出する。
【００３７】
均等分割停止条件Ｔは、目標個数ｃと許容範囲率ｍを用いて下記式（１）により定義される。
【００３８】
Ｔ＝ｋ（１＋ｍ）ｃ・・・（１）
【００３９】
最大均一分割数ｋは、ｋ≧１を満たす整数である。ここで、均等分割停止条件Ｔと最大均一分割数ｋとの関係について説明する。
【００４０】
図８〜図１０は、均等分割停止条件Ｔと最大均一分割数ｋとの関係を示す説明図である。図８において、数直線は、領域内の点データの個数を示す。目標個数ｃの定数倍近くで均等分割を停止することを仮定し、均等分割が停止したときの領域内の点データの個数をｘとする。そして、下記式（２）を満たす場合、領域をｋ分割することにより、分割装置７００は、許容範囲率ｍを満たすように均一分割することができる。
【００４１】
ｋｃ（１−ｍ）≦ｘ≦ｋｃ（１＋ｍ）・・・（２）
【００４２】
ｋｃ付近では、Ｔ＝ｋｃ（１＋ｍ）のときに許容範囲率ｍを満たすように分割できる確率が最も高くなる。よって、均等分割停止条件Ｔとして、上記式（１）のＴ＝ｋｃ（１＋ｍ）が採用される。また、均等分割停止条件Ｔにより、できるだけ均等分割を行い、領域内の２地点間がなるべく近くなるような領域を生成する場合の最大均一分割数ｋは、下記式（３）により定義される。
【００４３】
ｋ＝(１−ｍ)／２ｍ・・・（３）
【００４４】
上記式（３）の最大均一分割数ｋを上記式（１）に代入すると、以下のようになる。
【００４５】
Ｔ＝｛（１−ｍ）／２ｍ｝（１＋ｍ）ｃ・・・（４）
【００４６】
図９において、ｋｃ（１＋ｍ）≧（ｋ＋１）ｃ（１−ｍ）を満たす場合、すなわち、ｋｃを中心とする許容範囲と、（ｋ＋１）ｃを中心とする許容範囲と、が重複する場合、点データ数ｘの領域は、常に許容範囲率ｍを満たすような領域に均一分割される。したがって、このときの最大均一分割数ｋについてｋｃ（１＋ｍ）≧（ｋ＋１）ｃ（１−ｍ）を解くと、最大均一分割数ｋは、下記式（５）により表現される。
【００４７】
ｋ≧(１−ｍ)／２ｍ・・・（５）
【００４８】
なお、ｋは整数なので、小数点以下については切り上げを行う。したがって、式（５）を満たす場合、図９において、太矢印で示した範囲ｋｃ（１−ｍ）〜（ｋ＋１）ｃ（１＋ｍ）内の均等分割停止条件Ｔであれば、均等分割しても均一分割により許容範囲率ｍを満たす領域を生成できることになる。
【００４９】
たとえば、許容範囲率ｍがｍ=０．１、目標個数ｃがｃ＝１０の場合、式（５）に代入すると、最大均一分割数ｋは、ｋ≧５になる。ここで、ｋ＝５を式（１）に代入すると、均等分割停止条件ＴはＴ＝５×１０×（１＋０．１）＝５５となる。すなわち、均等分割の対象領域内の点データの個数が５５個以上であれば、対象領域は均等分割され、５５個を下回る場合は、対象領域はこれ以上均等分割されない。
【００５０】
なお、最大均一分割数ｋは、ｋ≧５の整数であるため、ｋ＝６，７，８，…としてもよい。ただし、最大均一分割数ｋを大きくすると、均等分割停止条件Ｔも大きくなるため、領域数を多くしたい場合は、ｋをできる限り小さくするのが好ましい。たとえば、ｋ≧５の場合は、ｋ＝５にするのが好ましい。
【００５１】
また、取得部７０１により適合率ｒが取得された場合、最大均一分割数ｋおよび均等分割停止条件Ｔは下記式（６），（７）により定義される。
【００５２】
ｋ＝１／｛４ｍ（１−ｒ）｝・・・（６）
Ｔ＝［１／｛４ｍ(１−ｒ)｝］×(１＋ｍ)×ｃ・・・（７）
【００５３】
適合率ｒは、あらかじめ取得される値であるが、領域分割を行って均等分割した領域内の点の個数が一様と仮定した場合、適合率ｒについては、下記式（８）が成立する。
【００５４】
【数１】
0005831244.tif 000002
【００５５】
図１０に示すように、ｋ’を変数とし、ｋ’≧(１−ｍ)／２ｍとする。式（８）の分母は、領域内の点データの個数がｋｃの場合の許容範囲率ｍの上限のときの点データの個数ｋｃ（１＋ｍ）である。式（８）の分子の第１項は、ｉ＝１〜ｋ’までの領域内の点データの個数がｉｃの場合の許容範囲の総和である。分子の第２項は、ｉ＝ｋ’のときの許容範囲の上限となる個数ｋ’ｃ（１＋ｍ）からｋｃ（１＋ｍ）までの範囲を示す。すなわち、分子の値は、図１０における全許容範囲の総和である。
【００５６】
式（８）にｋ’≧（１−ｍ）／２ｍを代入し、最大均一分割数ｋについて解くと、下記式（９）が得られる。
【００５７】
ｋ≧１／｛４ｍ（１−ｒ）｝・・・（９）
【００５８】
なお、ｋは整数なので、小数点以下については切り上げを行う。たとえば、許容範囲率ｍがｍ＝０．１、目標個数ｃがｃ＝１０、適合率ｒがｄ＝０．８の場合、ｋ＝１２．５となり、切り上げによりｋ＝１３となる。したがって、均等分割停止条件Ｔは、Ｔ＝（［１／｛４×０．１×（１−０．８）｝］×（１＋０．１）)×１０＝１３７．５≒１３８となる。すなわち、均等分割の対象領域内の点データの個数が１３８個以上であれば、対象領域は均等分割され、１３８個を下回る場合は、対象領域はこれ以上均等分割されない。
【００５９】
このように、設定部７０２は、目標個数ｃおよび許容範囲率ｍが取得され、適合率ｒが取得されていない場合は、式（４）により均等分割停止条件Ｔを算出する。また、設定部７０２は、目標個数ｃ、許容範囲率ｍおよび適合率ｒが取得されている場合は、式（７）により均等分割停止条件Ｔを算出する。
【００６０】
図７に戻り、均等分割部７０３は、設定部７０２によって設定された均等分割停止条件Ｔを下回るまで、均等分割の対象領域を均等分割する。具体的には，たとえば、均等分割部７０３は、ＤＢ６００から点データ群ｐ１〜ｐｎおよび当該点データ群を含む領域を取得する。そして、均等分割部７０３は、領域を１つずつ均等分割の対象領域として選択し、対象領域内の点データの個数を検出する。そして、均等分割部７０３は、検出した個数と均等分割停止条件Ｔとを比較し、検出した個数が均等分割停止条件Ｔを下回っている場合は、対象領域の均等分割をおこなわない。一方、検出した個数が均等分割停止条件Ｔ以上であれば、均等分割部７０３は、対象領域の均等分割を行う。
【００６１】
また、対象領域を均等分割する場合、均等分割部７０３は、対象領域の最長辺を等分するように分割するのが好ましい。たとえば、短辺よりも長辺を等分することにより、分割後の領域の対角線が短辺を等分するよりも短くなり、点データ間の最長距離を短くすることができる。したがって、分割した領域が異なる区域にまたがるような形状になるのを低減し、分析に利用しやすい領域を得ることができる。
【００６２】
均一分割部７０４は、点データの個数が均一になるように分割する均一分割を、均等分割部７０３によって得られた均等分割停止条件Ｔを下回る個数の点データを有する領域群の各々について実行する。具体的には、たとえば、均一分割部７０４は、分割数決定部７４１と、領域内データ数決定部７４２と、平行分割部７４３と、を有する。分割数決定部７４１は、均等分割部７０３によって分割された各領域について分割数を決定する。具体的には、たとえば、分割数決定部７４１は、均等分割部７０４によって得られた領域群の各領域について、当該領域の点データの個数が、目標個数ｃの整数倍を基準にした許容範囲率ｍにより規定される区間［ｉｃ（１−ｍ）、ｉｃ（１＋ｍ）］内の個数である場合、分割数決定部７４１は、整数ｉを均一分割の分割数ｓｐｌｉｔＮｕｍに決定する。
【００６３】
図１１は、分割数の決定内容例を示す説明図である。均等分割後の領域内の点データの個数が、許容範囲率ｍを満たす範囲である場合、分割数決定部７４１は、分割数ｓｐｌｉｔＮｕｍを最大均一分割数ｋ以下の整数（１以上）に決定する。これにより、均一分割部７０４は、均等分割された領域を、最大でもｋ個になるように均一分割することができる。一方、均等分割後の領域内の点データの個数が、許容範囲率ｍを満たす領域に入っていない場合、分割数決定部７４１は、下記式（１０）を用いて、分割数ｓｐｌｉｔＮｕｍを決定する。
【００６４】
Ｌ＝｛２ｊ（ｊ−１）／（２ｊ−１）｝×ｃ・・・（１０）
【００６５】
分割数決定部７４１は、式（１０）のＬをしきい値とし、均等分割後の領域内の点データの個数がＬを超える場合はｊ分割、超えない場合は（ｊ−１）分割を行う。分割する領域内の点データの個数をｘとする。個数ｘが許容範囲率ｍを満たす範囲に入らなかった均一分割前の領域については、均一分割後の領域の点データの個数がなるべく許容範囲率ｍを満たす範囲の個数に近くなるように均一分割する。このとき、ｊ分割と（ｊ−１）分割のうちいずれの分割を採用すれば、均一分割によって分割された領域内の点データの個数が目標個数ｃに近くなるかを考える。
【００６６】
すなわち、ｘ個の点データの個数をｊ分割した場合の点データの個数をｘ／ｊ、ｘ個の点データの個数を（ｊ−１）分割した場合の点データの個数をｘ／（ｊ−１）とする。また、ｘ／ｊから目標個数ｃまでの距離を（ｃ−ｘ／ｊ）、目標個数ｃからｘ／（ｊ−１）までの距離を｛ｘ／（ｊ−１）｝−ｃとし、短いほうの距離が、目標個数ｃに近いことになる。したがって、両距離が等しい場合のｘを求めると、下記式（１１）が得られる。
【００６７】
ｘ＝｛２ｊ（ｊ−１）／（２ｊ−１）｝×ｃ・・・（１１）
【００６８】
式（１１）をしきい値とすることにより、式（１０）が得られる。すなわち、均等分割後の領域内の点データの個数が、Ｌを超える場合は、ｊ分割した方が均一分割後の点データの個数が目標個数ｃに近くなる。したがって、分割数ｓｐｌｉｔＮｕｍは、ｊに決定される。また、均等分割後の領域内の点データの個数が、Ｌを超えない場合は、（ｊ−１）分割した方が均一分割後の点データの個数が目標個数ｃに近くなる。したがって、分割数ｓｐｌｉｔＮｕｍは、（ｊ−１）に決定される。
【００６９】
領域内データ数決定部７４２は、均一分割の対象領域が有する点データの個数を分割数ｓｐｌｉｔＮｕｍにより割り算した割り算結果に基づいて、均一分割の対象領域を分割数ｓｐｌｉｔＮｕｍにより均一分割した各領域内の点データの個数を、当該各個数の差が最小となるように決定する。均等分割部７０３によって分割された領域ごとに決定された分割数により、均等分割部７０３によって分割された各領域は、均一分割される。均等分割された領域内の点データの個数をＡnumとすると、均一分割後の点データの個数は、Ａｎｕｍ／ｓｐｌｉｔＮｕｍにより求められる。たとえば、図１の（Ｂ）では、点データを２８個有する領域Ｒ３は、点データの個数が揃うように３分割される。すなわち、領域Ｒ３の均一分割後の各領域の点データの個数は、Ａnum／ｓｐｌｉｔＮｕｍ＝２８／３≒９．３となる。
【００７０】
ただし、点データの個数は整数であるため、均一分割後の各領域の点データの個数は、小数点以下を切り捨てた最小値と小数点以下を切り上げた最大値の２つの値を用いて修正される。たとえば、上述した図１の領域Ｒ３の均一分割後の各領域の点データの個数は、Ａnum／ｓｐｌｉｔＮｕｍ＝２８／３≒９．３であるため、最小値を９個、最大値を１０個とする。
【００７１】
領域内データ数決定部７４２は、まず、最小値を分割数ｓｐｌｉｔＮｕｍ分並べた集合を生成する。領域Ｒ３の場合は、集合｛９，９，９｝となる。集合内の点データの個数の総和が、Ａnumと不一致である場合、領域内データ数決定部７４２は、集合内の最小値を最大値に変換する。たとえば、領域Ｒ３の集合｛９，９，９｝の場合、集合｛９，９，１０｝に変換される。変換後の集合についても同様に総和を求めて、領域内データ数決定部７４２は、Ａnumとの比較を行う。領域Ｒ３の集合｛９，９，１０｝の場合、総和は２８となり、Ａnumと等しくなる。したがって、領域Ｒ３から均一分割される領域は、点データの個数を１０個含む１つの領域と、点データの個数を９個含む２つの領域になる。
【００７２】
平行分割部７４３は、領域内データ数決定部７４２によって決定された領域内データ数となるように、均等分割された領域を平行に分割する。上記の例の領域Ｒ３の場合、点データの個数を１０個含む領域Ｒ３−１と、点データの個数を９個含む領域Ｒ３−２、Ｒ３−３に分割される。
【００７３】
算出部７０５は、均一分割部７０４によって分割された領域群内の領域数と、均一分割部７０４によって分割された領域群のうち点データの個数が許容範囲率ｍを満たしている領域数と、に基づいて、実際の適合率ｒｄを算出する。適合率ｒｄは、許容範囲率ｍを満たす点データの個数に収まっている領域数を、均一分割部７０４による領域分割後の総領域数で割った値である。図１の（Ｃ）の場合、許容範囲率ｍを満たす点データの個数に収まっている領域数は９６個であり、均一分割部７０４による領域分割後の総領域数は９７個である。したがって、算出部７０５は、実際の適合率ｒｄとして、９６／９７＝９９％を算出する。
【００７４】
出力部７０６は、均一分割部７０４による領域分割結果を出力する。具体的には、たとえば、図１の（Ｃ）に示した領域分割結果を出力する。また、出力部７０６は、適合率ｒが入力されている場合、適合率ｒと算出部７０５によって算出された適合率ｒｄとを出力する。適合率ｒと適合率ｒｄとを出力することにより、適合率ｒが適切な値であったか否かを利用者は把握することができる。ｒ＜ｒｄの場合、適正な分割であり、ｒ＜ｒｄでない場合、適合率ｒは適切な値でなかったことになる。したがって、利用者は、適合率ｒを変えて再度分割を実行すればよい。なお、出力形式は、ディスプレイ５０８への表示、プリンタ５１３への印刷出力、他の装置への送信、分割装置７００内の記憶装置への格納がある。
【００７５】
＜領域分割処理手順例＞
図１２は、本実施の形態にかかる分割装置７００による領域分割処理手順例を示すフローチャートである。まず、分割装置７００は、初期化により領域Ａを空にする（ステップＳ１２０１）。つぎに、分割装置７００は、取得部７０１により各種データを取得する（ステップＳ１２０２）。各種データとは、たとえば、分割対象となる領域データや、目標個数ｃ、許容範囲率ｍ、適合率ｒである。
【００７６】
つぎに、分割装置７００は、設定部７０２により、上述した最大均一分割数ｋを算出する（ステップＳ１２０３）。具体的には、たとえば、分割装置７００は、許容範囲率ｍが取得された場合には、上記式（３）により最大均一分割数ｋを算出する。また、分割装置７００は、許容範囲率ｍおよび適合率ｒが取得された場合には、上記式（６）により最大均一分割数ｋを算出する。
【００７７】
そして、分割装置７００は、設定部７０２により、算出された最大均一分割数ｋ、目標個数ｃ、および許容範囲率ｍを式（１）に与えて、均等分割停止条件Ｔを算出する（ステップＳ１２０４）。このあと、分割装置７００は、領域ＡをＡ＝Ａtarget、ＧequをＧequ＝｛｝、ｎｅｓｔＮｕｍ＝０に設定する（ステップＳ１２０５）。Ａtargetとは、分割対象となる矩形の領域である。Ｇequとは、分割後の領域の集合である。現時点では空集合である。ｎｅｓｔＮｕｍとは、均等分割の分割回数であり、均等分割される都度、インクリメントされる。ｎｅｓｔＮｕｍがしきい値ｍａｘＮｅｓｔＮｕｍを超えると、適合率ｒを満たす領域分割ができないこととなり、エラー出力される。
【００７８】
このあと、分割装置７００は、均等分割部７０３により均等分割サブルーチンを実行し（ステップＳ１２０６）、そのあとに、均一分割部７０４により均等分割された領域群について均一分割サブルーチンを実行する（ステップＳ１２０７）。均等分割サブルーチン（ステップＳ１２０６）での入力は、分割対象領域Ａtarget、均等分割前の領域の集合Ｇequ、均等分割停止条件Ｔ、均等分割回数ｎｅｓｔＮｕｍである。均等分割サブルーチン（ステップＳ１２０６）での出力は、均等分割後の領域の集合Ｇequである。また、均一分割サブルーチン（ステップＳ１２０７）での入力は、均等分割後の領域の集合Ｇequである。均一分割サブルーチン（ステップＳ１２０７）での出力は、均一分割された領域の集合Ｇである。
【００７９】
最後に、分割装置７００は、出力部７０６により、均一分割された領域の集合Ｇの出力を行う（ステップＳ１２０８）。なお、出力に先立って、分割装置７００は、集合Ｇを用いて算出部７０５により適合率ｒｄを算出し、算出された適合率ｒｄも出力してもよい。
【００８０】
図１３は、図１２に示した均等分割サブルーチン（ステップＳ１２０６）の詳細な処理手順例を示すフローチャートである。まず、分割装置７００は、ｎｅｓｔＮｕｍ＞ｍａｘＮｅｓｔＮｕｍであるか否かを判断する（ステップＳ１３０１）。ｎｅｓｔＮｕｍ＞ｍａｘＮｅｓｔＮｕｍである場合（ステップＳ１３０１：Ｙｅｓ）、適合率ｒを満たす領域分割ができないこととなり、エラー出力される。
【００８１】
一方、ｎｅｓｔＮｕｍ＞ｍａｘＮｅｓｔＮｕｍでない場合（ステップＳ１３０１：Ｎｏ）、分割装置７００は、Ｐnum≧Ｔであるか否かを判断する（ステップＳ１３０２）。Ｐnumは、分割対象領域Ａtarget内の点データの個数である。Ｐnum≧Ｔでない場合（ステップＳ１３０２：Ｎｏ）、分割対象領域Ａtarget内の点データの個数Ｐnumが均等分割停止条件Ｔを下回ったことになる。したがって、分割装置７００は、分割対象領域Ａtargetをこれ以上均等分割せずに、集合Ｇequに追加する（ステップＳ１３０３）。
【００８２】
一方、Ｐnum≧Ｔである場合（ステップＳ１３０２：Ｙｅｓ）、分割装置７００は、分割対象領域ＡtargetのＸ軸方向の長さｘＬｅｎとＹ軸方向の長さｙＬｅｎとを求める（ステップＳ１３０４）。ｘＬｅｎとｙＬｅｎは、たとえば、下記式（１２），（１３）により算出される。
【００８３】
ｘＬｅｎ＝ＲｉｇｈｔＵｐ．ｘ−ＬｅｆｔＬｏｗ．ｘ・・・（１２）
ｙＬｅｎ＝ＲｉｇｈｔＵｐ．ｙ−ＬｅｆｔＬｏｗ．ｙ・・・（１３）
【００８４】
ＲｉｇｈｔＵｐ．ｘは分割対象領域Ａtargetの右上頂点ＲｉｇｈｔＵｐのＸ座標値であり、ＬｅｆｔＬｏｗ．ｘは分割対象領域Ａtargetの左下頂点ＬｅｆｔＬｏｗのＸ座標値である。また、ＲｉｇｈｔＵｐ．ｙは分割対象領域Ａtargetの右上頂点ＲｉｇｈｔＵｐのＹ座標値であり、ＬｅｆｔＬｏｗ．ｙは分割対象領域Ａtargetの左下頂点ＬｅｆｔＬｏｗのＹ座標値である。
【００８５】
このあと、分割装置７００は、ｘＬｅｎ≧ｙＬｅｎであるか否かを判断する（ステップＳ１３０５）。ｘＬｅｎ＞ｙＬｅｎの場合、分割対象領域Ａtargetは、Ｘ軸方向に長尺な矩形である。一方、ｘＬｅｎ≧ｙＬｅｎでない場合、分割対象領域Ａtargetは、Ｙ軸方向に長尺な矩形である。ｘＬｅｎ＝ｙＬｅｎの場合は、分割対象領域Ａtargetは正方形であるが、本例ではＸ軸方向に長尺な矩形として扱う。
【００８６】
ｘＬｅｎ≧ｙＬｅｎである場合（ステップＳ１３０５：Ｙｅｓ）、分割装置７００は、分割対象領域Ａtargetを、ｘＬｅｎが等分になるように分割して（ステップＳ１３０６）、ステップＳ１３０８に移行する。これにより、分割対象領域Ａtargetから均等分割された分割領域Ａ1，Ａ2が得られる。詳細な分割例については、図１４で説明する。
【００８７】
一方、ｘＬｅｎ≧ｙＬｅｎでない場合（ステップＳ１３０５：Ｎｏ）、分割装置７００は、分割対象領域Ａtargetを、ｙＬｅｎが等分になるように分割して（ステップＳ１３０７）、ステップＳ１３０８に移行する。これにより、分割対象領域Ａtargetから均等分割された分割領域Ａ1，Ａ2が得られる。詳細な分割例については、図１５で説明する。
【００８８】
このあと、分割装置７００は、分割領域Ａ1について、ステップＳ１２０６の均等分割サブルーチンを再帰的に実行する（ステップＳ１３０８）。均等分割サブルーチン（ステップＳ１３０８）での入力は、領域Ａtarget＝Ａ1，現時点での集合Ｇequ、均等分割停止条件Ｔ、インクリメントされた均等分割回数ｎｅｓｔＮｕｍ＝ｎｅｓｔＮｕｍ＋１である。均等分割サブルーチン（ステップＳ１３０８）での出力は、均等分割後の領域の集合Ｇequである。
【００８９】
また、均等分割サブルーチン（ステップＳ１３０８）が終了すると、分割装置７００は、分割領域Ａ2について、ステップＳ１２０６の均等分割サブルーチンを再帰的に実行する（ステップＳ１３０９）。均等分割サブルーチン（ステップＳ１３０９）での入力は、領域Ａtarget＝Ａ2，現時点での集合Ｇequ、均等分割停止条件Ｔ、インクリメントされた均等分割回数ｎｅｓｔＮｕｍ＝ｎｅｓｔＮｕｍ＋１である。均等分割サブルーチン（ステップＳ１３０９）での出力は、均等分割後の領域の集合Ｇequである。
【００９０】
均等分割サブルーチン（ステップＳ１３０８）内では、ステップＳ１３０３において集合Ｇequに領域Ａtargetが追加されるか、または、再帰的に実行される均等分割サブルーチン（ステップＳ１３０９）が終了すると、ＲＥＴＵＲＮに戻り、均等分割サブルーチン（ステップＳ１３０９）に移行することになる。また、均等分割サブルーチン（ステップＳ１３０９）内では、ステップＳ１３０３において集合Ｇequに領域Ａtargetが追加されるか、または、再帰的に実行される均等分割サブルーチン（ステップＳ１３０９）が終了すると、ＲＥＴＵＲＮに戻る。
【００９１】
図１４は、図１３のステップＳ１３０６における均等分割例を示す説明図である。ステップＳ１３０６では、分割装置７００は、分割対象領域Ａtargetを、ｘＬｅｎが等分になるように分割する。具体的には、下記式（１４）〜（１８）の計算を実行する。
【００９２】
ｍｉｄＸＬｅｎ＝ｘＬｅｎ／２・・・（１４）
ｎｅｗＲｉｇｈｔＵｐ＝（ＬｅｆｔＬｏｗ．ｘ＋ｍｉｄＸＬｅｎ，ＲｉｇｈｔＵｐ．ｙ）・・・（１５）
ｎｅｗＬｅｆｔＬｏｗ＝（ＬｅｆｔＬｏｗ．ｘ＋ｍｉｄＸＬｅｎ，ＬｅｆｔＬｏｗ．ｙ）・・・（１６）
【００９３】
均等分割された領域は、下記式（１７），（１８）のように、対角しあう頂点により形成される矩形となる。
【００９４】
Ａ1＝［ＬｅｆｔＬｏｗ，ｎｅｗＲｉｇｈｔＵｐ］・・・（１７）
Ａ2＝［ｎｅｗＬｅｆｔＬｏｗ，ＲｉｇｈｔＵｐ］・・・（１８）
【００９５】
図１５は、図１３のステップＳ１３０７における均等分割例を示す説明図である。ステップＳ１３０７では、分割装置７００は、分割対象領域Ａtargetを、ｙＬｅｎが等分になるように分割する。具体的には、下記式（１９）〜（２３）の計算を実行する。
【００９６】
ｍｉｄＹＬｅｎ＝ｙＬｅｎ／２・・・（１９）
ｎｅｗＲｉｇｈｔＵｐ＝（ＬｅｆｔＬｏｗ．ｘ，ＲｉｇｈｔＵｐ．ｙ＋ｍｉｄＹＬｅｎ）・・・（２０）
ｎｅｗＬｅｆｔＬｏｗ＝（ＬｅｆｔＬｏｗ．ｘ，ＬｅｆｔＬｏｗ．ｙ＋ｍｉｄＹＬｅｎ）・・・（２１）
【００９７】
均等分割された領域は、下記式（２２），（２３）のように、対角しあう頂点により形成される矩形となる。
【００９８】
Ａ1＝［ＬｅｆｔＬｏｗ，ｎｅｗＲｉｇｈｔＵｐ］・・・（２２）
Ａ2＝［ｎｅｗＬｅｆｔＬｏｗ，ＲｉｇｈｔＵｐ］・・・（２３）
【００９９】
図１６は、図１２に示した均一分割サブルーチン（ステップＳ１２０７）の詳細な処理手順例を示すフローチャートである。分割装置７００は、まず、初期化により、均一分割後の領域の集合ＧをＧ＝｛｝に設定する（ステップＳ１６０１）。Ｇ＝｛｝は空集合を意味する。つぎに、分割装置７００は、均等分割サブルーチン（ステップＳ１２０６）により得られた集合Ｇequが空集合であるか否かを判断する（ステップＳ１６０２）。集合Ｇequが空集合でない場合（ステップＳ１６０２：Ｎｏ）、分割装置７００は、集合Ｇequから領域を１つ抽出する（ステップＳ１６０３）。抽出された領域を領域Ａとする。
【０１００】
このあと、分割装置７００は、分割数決定部７４１により、領域Ａについて、分割数決定サブルーチンを実行する（ステップＳ１６０４）。分割数決定サブルーチン（ステップＳ１６０４）では、分割装置７００は、領域Ａの分割数ｓｐｌｉｔＮｕｍを決定する。すなわち、分割数決定サブルーチン（ステップＳ１６０４）の入力は領域Ａであり、出力は分割数ｓｐｌｉｔＮｕｍとなる。これにより、領域Ａ内の点データの個数を均一に分割するための領域数が得られることになる。分割数決定サブルーチン（ステップＳ１６０４）の詳細は、図１７において説明する。
【０１０１】
つぎに、分割装置７００は、領域内データ数決定サブルーチンを実行する（ステップＳ１６０５）。領域内データ数決定サブルーチン（ステップＳ１６０５）では、分割装置７００は、分割数ｓｐｌｉｔＮｕｍで領域Ａから分割された各領域に含まれる点データの個数を決定する。領域内データ数決定サブルーチン（ステップＳ１６０５）の入力は、領域Ａ、領域Ａの分割数ｓｐｌｉｔＮｕｍであり、出力は点データ個数列ＤａｔａＮｕｍＡｒｒａｙである。点データ個数列ＤａｔａＮｕｍＡｒｒａｙとは、分割数ｓｐｌｉｔＮｕｍ分の数列である。数列の各数値は、領域Ａから均一分割される各領域に含まれる点データの個数である。たとえば、点データ個数列ＤａｔａＮｕｍＡｒｒａｙ＝｛９，９，１０｝の場合、領域Ａから均一分割される３つの領域の各点データの個数は、それぞれ９個、９個、１０個となる。領域内データ数決定サブルーチン（ステップＳ１６０５）の詳細は、図１８において説明する。
【０１０２】
つぎに、分割装置７００は、平行分割サブルーチンを実行する（ステップＳ１６０６）。平行分割サブルーチン（ステップＳ１６０６）では、分割装置７００は、領域Ａを平行に、たとえば、Ｘ軸方向に平行に分割する。分割される各領域には、点データ個数列ＤａｔａＮｕｍＡｒｒａｙ内の個数分の点データが含まれるように、均一分割される。たとえば、点データ個数列ＤａｔａＮｕｍＡｒｒａｙ＝｛９，９，１０｝の場合、領域Ａから均一分割される３つの領域は、それぞれ９個、９個、１０個の点データが含まれることになる。平行分割サブルーチン（ステップＳ１６０６）のあと、ステップＳ１６０２に戻る。ステップＳ１６０２において、集合Ｇequが空集合である場合（ステップＳ１６０２：Ｙｅｓ）、平行分割サブルーチン（ステップＳ１６０６）を終了する。平行分割サブルーチン（ステップＳ１６０６）の詳細は、図１９において説明する。
【０１０３】
図１７は、図１６に示した分割数決定サブルーチン（ステップＳ１６０４）の詳細な処理手順を示すフローチャートである。まず、分割装置７００は、領域Ａ内の点データの個数をＡnumとする（ステップＳ１７０１）。つぎに、分割装置７００は、変数ｉを初期化してｉ＝１に設定する（ステップＳ１７０２）。そして、分割装置７００は、ｉ＞ｋであるか否かを判断する（ステップＳ１７０３）。ｋは最大均一分割数である。
【０１０４】
ｉ＞ｋでない場合（ステップＳ１７０３：Ｎｏ）、分割装置７００は、領域Ａ内の点データの個数Ａnumが、許容範囲率ｍにより規定される区間に含まれるか否かを判断する（ステップＳ１７０４）。具体的には、分割装置７００は、領域Ａ内の点データの個数Ａｎｕｍが、下記式（２４）の範囲内か否かを判断する（図１１参照。）。
【０１０５】
ｉ×｛ｃ×（１−ｍ）｝≦Ａnum≦ｉ×｛ｃ×（１＋ｍ）｝・・・（２４）
【０１０６】
領域Ａ内の点データの個数Ａnumが、許容範囲率ｍにより規定される区間に含まれる場合（ステップＳ１７０４：Ｙｅｓ）、分割装置７００は、領域Ａをｉ個で均一分割できることになる。したがって、分割装置７００は、領域Ａの分割数ｓｐｌｉｔＮｕｍを、ｓｐｌｉｔＮｕｍ＝ｉに決定する（ステップＳ１７０５）。なお、ステップＳ１７０５に至る実行経路を「ルート１」と称す。これにより、分割数決定サブルーチン（ステップＳ１６０４）を終了する。
【０１０７】
一方、領域Ａ内の点データの個数Ａnumが、許容範囲率ｍにより規定される区間に含まれない場合（ステップＳ１７０４：Ｎｏ）、ｉをインクリメントして（ステップＳ１７０６）、ステップＳ１７０３に戻る。このようにして、分割装置７００は、ｉが最大均一分割数ｋを超えるまで、ｉが含まれる区間をサーチすることになる。
【０１０８】
そして、ｉ＞ｋになった場合（ステップＳ１７０３：Ｙｅｓ）、分割数は、許容範囲率ｍにより規定される区間外の値となる。その値をサーチするため、まず、分割装置７００は、変数ｊを初期化してｊ＝１にする（ステップＳ１７０７）。つぎに、分割装置７００は、ｊ＞ｋか否かを判断する（ステップＳ１７０８）。ｊ＞ｋでない場合（ステップＳ１７０８：Ｎｏ）、領域Ａ内の点データの個数Ａnumが、下記式（２５）を満たすか否かを判断する（ステップＳ１７０９）。
【０１０９】
（ｊ−１）×ｃ≦Ａnum≦ｊ×ｃ・・・（２５）
【０１１０】
そして、式（２５）を満たさない場合（ステップＳ１７０９：Ｎｏ）、ｊをインクリメントして（ステップＳ１７１０）、ステップＳ１７０８に戻り、式（２５）を満たす場合（ステップＳ１７０９：Ｙｅｓ）、ステップＳ１７１１に移行する。また、ステップＳ１７０８において、ｊ＞ｋになった場合（ステップＳ１７０８：Ｙｅｓ）、ステップＳ１７１１に移行する。すなわち、分割装置７００は、ステップＳ１７０７〜Ｓ１７１０の処理において、図１１に示した点データの個数ｘをサーチすることになる。
【０１１１】
ステップＳ１７１１では、分割装置７００は、上記式（１０）に示したしきい値Ｌを算出する（ステップＳ１７１１）。そして、分割装置７００は、領域Ａ内の点データの個数Ａnumについて、Ａnum≧Ｌか否かを判断する（ステップＳ１７１２）。Ａnum≧Ｌである場合（ステップＳ１７１２：Ｙｅｓ）、分割装置７００は、領域Ａの分割数ｓｐｌｉｔＮｕｍを、ｓｐｌｉｔＮｕｍ＝ｊに決定する（ステップＳ１７１３）。これにより、分割数決定サブルーチン（ステップＳ１６０４）を終了する。
【０１１２】
なお、ステップＳ１７１３に至る実行経路を「ルート２」と称す。一方、Ａnum≧Ｌでない場合（ステップＳ１７１２：Ｎｏ）、分割装置７００は、領域Ａの分割数ｓｐｌｉｔＮｕｍを、ｓｐｌｉｔＮｕｍ＝ｊ−１に決定する（ステップＳ１７１４）。これにより、分割数決定サブルーチン（ステップＳ１６０４）を終了する。なお、ステップＳ１７１４に至る実行経路を「ルート３」と称す。
【０１１３】
すなわち、ステップＳ１７１１〜Ｓ１７１４までの処理については、図１１に示したように、領域Ａ内の点データの個数ＡnumがＬを超える場合は、ｊ分割した方が均一分割後の点データの個数が目標個数ｃに近くなる。したがって、分割数ｓｐｌｉｔＮｕｍは、ｊに決定される。また、領域Ａ内の点データの個数ＡnumがＬを超えない場合は、（ｊ−１）分割した方が均一分割後の点データの個数が目標個数ｃに近くなる。したがって、分割数ｓｐｌｉｔＮｕｍは、（ｊ−１）に決定される。このように、分割装置７００は、許容範囲率ｍにより規定される区間から外れる場合であっても、可能な限り、領域内の点データの個数が目標個数ｃにより近い個数になる分割数を決定することができる。
【０１１４】
図１８は、図１６に示した領域内データ数決定サブルーチン（ステップＳ１６０５）の詳細な処理手順を示すフローチャートである。まず、分割装置７００は、領域Ａ内の点データの個数Ａnumを領域Ａの分割数ｓｐｌｉｔＮｕｍで割ることにより、１領域あたりの点データの個数ｕｎｉｔＯｆＤａｔａを求める。そして、分割装置７００は、ｕｎｉｔＯｆＤａｔａの小数点以下を切り捨てた値を最小値ｍｉｎ、ｕｎｉｔＯｆＤａｔａの小数点以下を切り上げた値を最大値ｍａｘとする（ステップＳ１８０１）。
【０１１５】
つぎに、分割装置７００は、最小値ｍｉｎと最大値ｍａｘのうち、領域Ａ内の点データの個数Ａnumに近い値をｆｉｒｓｔＶａｌ、他方の値をｓｅｃｏｎｄＶａｌに設定する（ステップＳ１８０２）。たとえば、上述した図１の領域Ｒ３の点データの個数は２８個、分割数ｓｐｌｉｔＮｕｍは３であるため、ｕｎｉｔＯｆＤａｔａ＝２８／３≒９．３となる。
【０１１６】
したがって、ｕｎｉｔＯｆＤａｔａ＝２８／３≒９．３の小数点以下を切り捨てた最小値ｍｉｎがｍｉｎ＝９、最大値ｍａｘがｍａｘ＝１０となる。そして、このうち、ｍａｘ＝１０が領域Ａ内の点データの個数Ａnumに近い値となるため、ｆｉｒｓｔＶａｌ＝１０、ｓｅｃｏｎｄＶａｌ＝９となる。
【０１１７】
そして、分割装置７００は、変数ｄ＝０とし、点データ個数列ＤａｔａＮｕｍＡｒｒａｙ＝｛｝とする（ステップＳ１８０３）。つぎに、分割装置７００は、ｄ＞ｓｐｌｉｔＮｕｍであるか否かを判断する（ステップＳ１８０４）。ｄ＞ｓｐｌｉｔＮｕｍでない場合（ステップＳ１８０４：Ｎｏ）、分割装置７００は、下記式（２６）により、ｆｉｒｓｔＶａｌとｓｅｃｏｎｄＶａｌを用いて、領域Ａの点データの個数ｔｍｐＴｏｔａｌを算出する（ステップＳ１８０５）。
【０１１８】
ｔｍｐＴｏｔａｌ＝ｓｅｃｏｎｄＶａｌ×ｄ＋ｆｉｒｓｔＶａｌ×（ｓｐｌｉｔＮｕｍ−ｄ）・・・（２６）
【０１１９】
式（２６）の右辺第１項は、領域Ａから均等分割される領域群のうちｄ個の領域にｓｅｃｏｎｄＶａｌ個の点データが含まれることを意味する。また、式（２６）の右辺第２項は、領域Ａから均等分割される領域群のうちｄ個の領域に（ｓｐｌｉｔＮｕｍ−ｄ）個の点データが含まれることを意味する。したがって、ｔｍｐＴｏｔａｌ＝Ａnumになった場合に、点データ個数列ＤａｔａＮｕｍＡｒｒａｙに格納される点データの個数列が確定される。
【０１２０】
具体的には、分割装置７００は、ｔｍｐＴｏｔａｌ＝Ａnumか否かを判断する（ステップＳ１８０６）。そして、ｔｍｐＴｏｔａｌ＝Ａnumでない場合（ステップＳ１８０６：Ｎｏ）、ｄをインクリメントして（ステップＳ１８０７）、ステップＳ１８０４に戻る。一方、ｔｍｐＴｏｔａｌ＝Ａnumである場合（ステップＳ１８０６：Ｙｅｓ）、分割装置７００は、点データ個数列ＤａｔａＮｕｍＡｒｒａｙに、ｓｅｃｏｎｄＶａｌをｄ個、ｆｉｒｓｔＶａｌを（ｓｐｌｉｔＮｕｍ−ｄ）個格納する（ステップＳ１８０８）。これにより、領域内データ数決定サブルーチン（ステップＳ１６０５）を終了する。なお、ステップＳ１８０４において、ｄ＞ｓｐｌｉｔＮｕｍである場合（ステップＳ１８０４：Ｙｅｓ）、領域内データ数決定サブルーチン（ステップＳ１６０５）を終了する。
【０１２１】
たとえば、上述した図１の領域Ｒ３の場合、ｆｉｒｓｔＶａｌ＝１０、ｓｅｃｏｎｄＶａｌ＝９となったため、ｄ＝０のときは、ｔｍｐＴｏｔａｌ＝０＋１０×（３−０）＝３０となり、領域Ａ内の点データの個数Ａnum（＝２８）とは異なる値となる。したがって、ｄはインクリメントされる。
【０１２２】
つぎに、ｄ＝１のときは、ｔｍｐＴｏｔａｌ＝９＋１０×（３−１）＝２９となり、領域Ａ内の点データの個数Ａnum（＝２８）とは異なる値となる。したがって、ｄはインクリメントされる。つぎに、ｄ＝２のときは、ｔｍｐＴｏｔａｌ＝９×２＋１０×（３−２）＝２８となり、領域Ａ内の点データの個数Ａnum（＝２８）と一致する。したがって、点データ個数列ＤａｔａＮｕｍＡｒｒａｙは、ＤａｔａＮｕｍＡｒｒａｙ＝｛９，９，１０｝になる。すなわち、領域Ｒ３から均一分割される領域は、点データの個数を１０個含む１つの領域と、点データの個数を９個含む２つの領域になる。
【０１２３】
図１９は、図１６に示した平行分割サブルーチン（ステップＳ１６０６）の詳細な処理手順を示すフローチャートである。まず、分割装置７００は、式（１２），（１３）を用いて、領域ＡのＸ軸方向の長さｘＬｅｎおよびＹ軸方向の長さｙＬｅｎを算出する（ステップＳ１９０１）。そして、分割装置７００は、ｘＬｅｎ≧ｙＬｅｎか否かを判断する（ステップＳ１９０２）。ｘＬｅｎ≧ｙＬｅｎである場合（ステップＳ１９０２：Ｙｅｓ）、領域Ａ内の点データ群ＰAをＸ軸方向にソートして（ステップＳ１９０３）、ステップＳ１９０５に移行する。一方、ｘＬｅｎ≧ｙＬｅｎでない場合（ステップＳ１９０２：Ｎｏ）、領域Ａ内の点データ群ＰAをＹ軸方向にソートして（ステップＳ１９０４）、ステップＳ１９０５に移行する。
【０１２４】
すなわち、ｘＬｅｎ＞ｙＬｅｎの場合は、領域ＡはＸ軸方向に長尺な矩形となるため、領域ＡはＹ軸に平行に均一分割される。本例ではｘＬｅｎ＝ｙＬｅｎの場合も同様に扱う。ｘＬｅｎ＜ｙＬｅｎの場合は、領域ＡはＹ軸方向に長尺な矩形となるため、領域ＡはＸ軸に平行に均一分割される。
【０１２５】
このあと、分割装置７００は、変数ｄを＝０とし、集合Ｐsub＝｛｝に設定する（ステップＳ１９０５）。集合Ｐsubには点データが格納される。つぎに、分割装置７００は、点データ個数列ＤａｔａＮｕｍＡｒｒａｙが空集合であるか否かを判断する（ステップＳ１９０６）。空集合である場合（ステップＳ１９０６：Ｙｅｓ）、平行分割サブルーチン（ステップＳ１６０６）を終了する。一方、空集合でない場合（ステップＳ１９０６：Ｎｏ）、分割装置７００は、点データ個数列ＤａｔａＮｕｍＡｒｒａｙから点データの個数を１つ抽出する（ステップＳ１９０７）。抽出した点データの個数をｎｕｍＯｆＳｉｚｅとする。そして、分割装置７００は、｜Ｐsub｜＝ｎｕｍＯｆＳｉｚｅであるか否かを判断する（ステップＳ１９０８）。｜Ｐsub｜は、集合Ｐsub内に格納された点データの個数である。
【０１２６】
｜Ｐsub｜＝ｎｕｍＯｆＳｉｚｅでない場合（ステップＳ１９０８：Ｎｏ）、分割装置７００は、ステップＳ１９０３またはステップＳ１９０４によるソート後の点データ群ＰＡのｄ番目の点データＰA［ｄ］を集合Ｐsubに格納して（ステップＳ１９０９）、ｄをインクリメントし（ステップＳ１９１０）、ステップＳ１９０８に戻る。ステップＳ１９０８〜Ｓ１９１０を繰り返すことにより、集合Ｐsubにはソート順の点データが蓄積される。
【０１２７】
そして、｜Ｐsub｜＝ｎｕｍＯｆＳｉｚｅになった場合（ステップＳ１９０８：Ｙｅｓ）、分割装置７００は、集合Ｐsubにより、領域Ａsubを生成して、集合Ｇに格納し（ステップＳ１９１１）、ステップＳ１９０６に戻る。具体的には、分割装置７００は、集合Ｐsub内の点データ群のうちソート順が最下位の点データと、当該点データの次のソート順の点データとの間を境界とするように、領域Ａsubを生成する。ステップＳ１９１１のあとは、ステップＳ１９０６に戻り、点データ個数列ＤａｔａＮｕｍＡｒｒａｙが空になるまでステップＳ１９０７〜Ｓ１９１１が実行される。したがって、集合Ｇには、点データ個数列ＤａｔａＮｕｍＡｒｒａｙにしたがった領域Ａsubが生成される。たとえば、上述した図１の領域Ｒ３の場合、ＤａｔａＮｕｍＡｒｒａｙ＝｛９，９，１０｝であるため、点データの個数を９個含む２つの領域と点データの個数を１０個含む１つの領域とが集合Ｇに格納される。
【０１２８】
＜領域分割例＞
つぎに、図２０〜図４３を用いて領域分割の具体例について説明する。図２０〜図４３は、領域分割の具体例を示す説明図である。なお、図２０〜図４３において、矩形で示されている領域内の点データを、領域内の点データの個数として示すことにする。領域内の左上の数値は、領域内の点データの個数である。まず、図２０は、初期状態を示している。領域Ｒには、１０００個の点データが存在するものとする。また、目標個数ｃ＝１０、許容範囲率ｍ＝０．１、適合率ｒ＝０．８、分割停止条件Ｔ＝１４３とする。図２１〜図３０までは、均等分割を示している。すなわち、分割停止条件Ｔを下回るまで、その領域について均等分割が実行される。図３０の状態では、すべての領域の点データの個数は、均等分割停止条件Ｔを下回っているため、均等分割は終了する。つぎに、図３２〜図４３に示す均一分割に移行するが、その前に、図３２〜図４３での表記について補足する。
【０１２９】
図３１は、均一分割の表記例を示す説明図である。図３１の左に示す領域は「１１×５、１０×２」と表記しているが、点データが１１個の領域が５個、点データが１０個の領域が２個という意味である。したがって、左の領域は実際には右のように均一分割されていることを示している。
【０１３０】
図３２では、領域Ｒ１について、分割数決定サブルーチン（ステップＳ１６０４）のルート２（図１７を参照）により、分割数ｓｐｌｉｔＮｕｍは、分割数ｓｐｌｉｔＮｕｍ＝４に決定される。したがって、領域Ｒ１は、点データが９個となる３個の領域と、点データが８個となる１個の領域とに均一分割される。
【０１３１】
図３３では、領域Ｒ２について、分割数決定サブルーチン（ステップＳ１６０４）のルート１（図１７を参照）により、分割数ｓｐｌｉｔＮｕｍは、分割数ｓｐｌｉｔＮｕｍ＝３に決定される。したがって、領域Ｒ２は、点データが１０個となる１個の領域と、点データが９個となる２個の領域とに均一分割される。
【０１３２】
図３４では、領域Ｒ３について、分割数決定サブルーチン（ステップＳ１６０４）のルート１（図１７を参照）により、分割数ｓｐｌｉｔＮｕｍは、分割数ｓｐｌｉｔＮｕｍ＝７に決定される。したがって、領域Ｒ３は、点データが１１個となる５個の領域と、点データが１０個となる２個の領域とに均一分割される。以下、図３５〜図４３においても、領域Ｒ４〜Ｒ１２について同様に均一分割される。図４３では、均等分割された全領域Ｒ１〜Ｒ１２の均一分割が完了する。
【０１３３】
図４４は、図４３の領域分割結果における点データの分布を示すヒストグラムである。横軸は、点データの個数であり、縦軸は、領域数である。本例の場合、点データの個数が９個〜１１個となる９６個の領域が許容範囲率ｍ＝０．１を満たしている。また、本例の適合率ｒｄはｒｄ＝９６／９７＝０．９９となり、入力された適合率ｒ＝０．８を上回っている。したがって、本例の領域分割は適切な領域分割であることが証明されることになる。なお、適合率ｒｄが適合率ｒを下回った場合は、分割装置７００は、再度適合率ｒを変更して領域分割を実行すればよい。
【０１３４】
本実施の形態にかかる領域分割は、たとえば、消防署配置計画、交番配置計画、電気供給システムなど各種サービスに適用可能である。消防署配置計画において、火事や急病人の発生地点を点データとする。消防署配置計画に適用する場合、ある都市の消防署の配置を考える。過去数か月間の火事や急病人発生場所となる点データ群を有する領域について、本実施の形態による領域分割が実行される。そして、分割により得られた領域ごとに、当該領域の中心点またはその近傍に消防署がなければ、中心点またはその近傍が消防署のあらたな配置位置として提供される。
【０１３５】
交番配置計画においては、犯罪発生地点を点データとする。交番配置計画に適用する場合、ある都市の交番の配置を考える。過去数か月間の犯罪発生場所となる点データ群を有する領域について、本実施の形態による領域分割が実行される。そして、分割により得られた領域ごとに、当該領域の中心点またはその近傍に交番がなければ、中心点またはその近傍が交番のあらたな配置位置として提供される。
【０１３６】
電気供給システムにおいては、車両や人が携行する端末などの移動体の位置を点データとし、移動体のバッテリー残量を、属性情報とする。移動体の点データや属性情報は、ＧＰＳにより取得可能とする。無線による電気供給システムにおいては、１度に送信できる端末数が決まっている中で電力ロスがないように電気を供給する必要がある。この場合、本実施の形態の領域分割により、地域内の移動体がある一定数含まれるように分割し、分割した領域内の移動体のバッテリー残量の総和が少ない領域から優先的に電気が供給される。これにより、効率の良い電気供給が実現される。
【０１３７】
以上説明したように、本実施の形態にかかる分割装置は、点データ群を持つ領域に対し、均等分割停止条件Ｔを下回るまで均等分割を行い、均等分割後の各々の領域内の点データの個数より、最終的な均一分割の分割数を決定して、最後に１度均一分割を行う。これにより、均一分割された各領域内の点データ間の最長距離が短くなり、かつ、点データの個数が均一化される。このように、均一分割された各領域内の点データ間の最長距離が短くなるため、分割された領域の大きさのばらつきを抑制し、分析したい領域が複数の区域にまたがるような状態を低減することができる。また、均一分割された領域ごとの点データの個数が均一化されるため、均一分割された領域ごとの点データの個数のばらつきを抑制し、ばらつきにより生じる誤分析が低減される。したがって、本実施の形態にかかる分割装置は、分割された領域群の利便性の向上を図ることができる。
【０１３８】
また、ｋｃ（１＋ｍ）≧（ｋ＋１）ｃ（１−ｍ）を満たす最大均一分割数ｋにより均等分割停止条件Ｔを設定することにより、均等分割後の領域を、許容範囲率ｍを満たすような領域に均一分割することができる。すなわち、均等分割停止条件Ｔを下回るまで均等分割された領域について均一分割しても、均一分割後の領域内の点データの個数は、目標個数ｃの許容範囲率ｍにより規定される区間内に収まることになる。
【０１３９】
また、均等分割停止条件Ｔの設定に際し、適合率ｒを用いることにより、均一分割後の領域群に対する領域内の点データの個数が許容範囲率ｍを満たす領域の割合が、適合率ｒを満たすように、均等分割が実行される。したがって、利用者は、利用者自身が許容する適合率ｒに応じた領域分割結果を得ることができる。
【０１４０】
また、均等分割を実行する場合、均等分割の対象領域の最長辺が短くなるように均等分割することにより、均等分割された領域内の点データ間の最長距離を短縮化することができる。
【０１４１】
また、均等分割後の領域内の点データの個数が、許容範囲率ｍにより規定される区間内である場合、均等分割後の領域を、点データの個数が最大均一分割数ｋ以下の個数となる領域に均一分割することができる。これにより、許容範囲率ｍを満たす領域が均一分割した個数分生成されることになる。
【０１４２】
また、均等分割後の領域内の点データの個数が、許容範囲率ｍにより規定される区間外である場合、均一分割後の点データの個数が目標個数に近い整数を均一分割の分割数に決定することにより、均一分割精度の低減を抑制することができる。また、分割数は、目標個数ｃをはさんで２つの整数候補（１以上の整数）が存在するが、目標個数ｃに近い方の候補を分割数に決定することにより、均一分割精度の低減を抑制することができる。
【０１４３】
また、均一分割された各領域内の点データの個数の差が最小となるように均一分割することにより、均一分割された領域間の点データの個数のばらつきが抑制される。すなわち、均一分割された領域間の点データの個数が揃うことになり、均一分割された領域内の点データの個数の均一化を図ることができる。
【０１４４】
また、均一分割後に適合率ｒｄを算出することにより、利用者は均一分割後の領域分割結果の信頼性を確認することができる。また、入力した適合率ｒがある場合、適合率ｒｄと比較することにより、利用者は均一分割後の領域分割結果の信頼性を客観的に確認することができる。
【０１４５】
なお、本実施の形態で説明した分割方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本分割プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。
【０１４６】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４７】
（付記１）位置を示す点データの個数が均一になるように領域を分割する均一分割後における各領域に含まれるべき前記点データの目標個数と、前記目標個数の許容範囲を示す許容範囲率と、前記許容範囲率を満たすように領域を均一分割する場合の前記均一分割後の最大分割数である最大均一分割数と、に基づいて、等分に分割する均等分割の対象領域に対し前記均等分割を停止させる点データの個数である停止条件を設定する設定部と、
前記均等分割の対象領域を点データ群が存在する領域とし、前記均等分割の対象領域内の点データの個数が前記設定部によって設定された停止条件を下回るまで、前記均等分割の対象領域を均等分割し、当該均等分割により得られた前記停止条件以上の個数の点データを有する領域を前記均等分割の対象領域にする均等分割部と、
前記均等分割部によって得られた前記停止条件を下回る個数の点データを有する領域群の各々について前記均一分割を実行する均一分割部と、
前記均一分割部によって分割された領域群に関する情報を出力する出力部と、
を有することを特徴とする分割装置。
【０１４８】
（付記２）前記設定部は、
前記目標個数を第１の整数により整数倍した第１の値を基準にした前記許容範囲率により規定される第１の区間の上限が、前記目標個数を前記第１の整数よりも大きい第２の整数により整数倍した第２の値を基準にした前記許容範囲率により規定される第２の区間の下限以上となる前記第１の整数が存在する場合、前記第１の整数を前記最大均一分割数に設定し、当該最大均一分割数に基づいて、前記停止条件を設定することを特徴とする付記１に記載の分割装置。
【０１４９】
（付記３）前記設定部は、
さらに、前記許容範囲率を満たす点データの個数が存在する領域の割合を示す適合率を用いて前記最大均一分割数を設定し、当該最大均一分割数に基づいて前記停止条件を設定することを特徴とする付記２に記載の分割装置。
【０１５０】
（付記４）前記均等分割部は、
前記均等分割の対象領域を、当該対象領域の最長辺が短くなるように均等分割することを特徴とする付記１〜３のいずれか一つに記載の分割装置。
【０１５１】
（付記５）前記均等分割部によって得られた領域群の各領域について、当該領域内の点データの個数が、前記目標個数の整数倍を基準にした許容範囲率により規定される区間内の個数である場合、前記目標個数を整数倍した整数を均一分割の分割数に決定する分割数決定部を有し、
前記均一分割部は、
前記均等分割部によって得られた均一分割の対象領域群の各対象領域を、当該各対象領域について前記分割数決定部によって決定された分割数により均一分割することを特徴とする付記１〜４のいずれか一つに記載の分割装置。
【０１５２】
（付記６）前記分割数決定部は、
前記均等分割部によって得られた均一分割の対象領域群のうち、前記目標個数の整数倍を基準にした許容範囲率により規定される区間内の個数でない特定の対象領域について、前記特定の対象領域が有する点データの個数を第３の整数により分割した場合に前記目標個数よりも低くなる前記区間外の第１の分割結果と、前記特定の対象領域が有する点データの個数を第４の整数により分割した場合に前記目標個数よりも高くなる前記区間外の第２の分割結果と、のうち、いずれか一方の分割結果を得た場合の整数を、均一分割の分割数に決定することを特徴とする付記５に記載の分割装置。
【０１５３】
（付記７）前記分割数決定部は、
前記第１の分割結果と、前記第２の分割結果と、のうち、前記目標個数に近い方の分割結果に対応する整数を、均一分割の分割数に決定することを特徴とする付記６に記載の分割装置。
【０１５４】
（付記８）均一分割の対象領域が有する点データの個数を前記分割数により割り算した割り算結果に基づいて、均一分割の対象領域を前記分割数により均一分割した各領域内の点データの個数を、当該各個数の差が最小となるように決定する領域内データ数決定部を有し、
前記均一分割部は、
均一分割の各対象領域について、均一分割後の各領域が前記領域内データ数決定部によって決定された点データの個数が存在する領域となるように均一分割することを特徴とする付記５〜７のいずれか一つに記載の分割装置。
【０１５５】
（付記９）前記均一分割部によって分割された領域群内の領域数と、前記均一分割部によって分割された領域群のうち点データの個数が前記許容範囲率を満たしている領域数と、に基づいて、前記均一分割部によって得られた領域群に関する適合率を算出する算出部を有し、
前記出力部は、
さらに、前記算出部によって算出された適合率を出力することを特徴とする付記１〜８のいずれか一つに記載の分割装置。
【０１５６】
（付記１０）前記点データの各々は、属性情報を有することを特徴とする付記１〜９のいずれか一つに記載の分割装置。
【０１５７】
（付記１１）コンピュータが、
位置を示す点データの個数が均一になるように領域を分割する均一分割後における各領域に含まれるべき前記点データの目標個数と、前記目標個数の許容範囲を示す許容範囲率と、前記許容範囲率を満たすように領域を均一分割する場合の前記均一分割後の最大分割数である最大均一分割数と、に基づいて、等分に分割する均等分割の対象領域に対し前記均等分割を停止させる点データの個数である停止条件を設定し、
記憶装置に記憶されている前記均等分割の対象領域を点データ群が存在する領域とし、前記均等分割の対象領域内の点データの個数が前記停止条件を下回るまで、前記均等分割の対象領域を均等分割し、当該均等分割により得られた前記停止条件以上の個数の点データを有する領域を前記均等分割の対象領域にし、
前記停止条件を下回る個数の点データを有する領域群の各々について前記均等分割を実行し、
前記均一分割された領域群に関する情報を出力する、
処理を実行することを特徴とする分割方法。
【０１５８】
（付記１２）位置を示す点データの個数が均一になるように領域を分割する均一分割後における各領域に含まれるべき前記点データの目標個数と、前記目標個数の許容範囲を示す許容範囲率と、前記許容範囲率を満たすように領域を均一分割する場合の前記均一分割後の最大分割数である最大均一分割数と、に基づいて、等分に分割する均等分割の対象領域に対し前記均等分割を停止させる点データの個数である停止条件を設定し、
記憶装置に記憶されている前記均等分割の対象領域を点データ群が存在する領域とし、前記均等分割の対象領域内の点データの個数が前記停止条件を下回るまで、前記均等分割の対象領域を均等分割し、均等分割により得られた前記停止条件以上の個数の点データを有する領域を前記均等分割の対象領域にし、
前記停止条件を下回る個数の点データを有する領域群の各々について前記均等分割を実行し、
前記均一分割された領域群に関する情報を出力する、
処理をコンピュータに実行させることを特徴とする分割プログラム。
【符号の説明】
【０１５９】
７００  分割装置
７０１  取得部
７０２  設定部
７０３  均等分割部
７０４  均一分割部
７０５  算出部
７０６  出力部
７４１  分割数決定部
７４２  領域内データ数決定部
７４３  平行分割部
【図１】
0005831244.tif 000003
【図２】
0005831244.tif 000004
【図３】
0005831244.tif 000005
【図４】
0005831244.tif 000006
【図５】
0005831244.tif 000007
【図６】
0005831244.tif 000008
【図７】
0005831244.tif 000009
【図８】
0005831244.tif 000010
【図９】
0005831244.tif 000011
【図１０】
0005831244.tif 000012
【図１１】
0005831244.tif 000013
【図１２】
0005831244.tif 000014
【図１３】
0005831244.tif 000015
【図１４】
0005831244.tif 000016
【図１５】
0005831244.tif 000017
【図１６】
0005831244.tif 000018
【図１７】
0005831244.tif 000019
【図１８】
0005831244.tif 000020
【図１９】
0005831244.tif 000021
【図２０】
0005831244.tif 000022
【図２１】
0005831244.tif 000023
【図２２】
0005831244.tif 000024
【図２３】
0005831244.tif 000025
【図２４】
0005831244.tif 000026
【図２５】
0005831244.tif 000027
【図２６】
0005831244.tif 000028
【図２７】
0005831244.tif 000029
【図２８】
0005831244.tif 000030
【図２９】
0005831244.tif 000031
【図３０】
0005831244.tif 000032
【図３１】
0005831244.tif 000033
【図３２】
0005831244.tif 000034
【図３３】
0005831244.tif 000035
【図３４】
0005831244.tif 000036
【図３５】
0005831244.tif 000037
【図３６】
0005831244.tif 000038
【図３７】
0005831244.tif 000039
【図３８】
0005831244.tif 000040
【図３９】
0005831244.tif 000041
【図４０】
0005831244.tif 000042
【図４１】
0005831244.tif 000043
【図４２】
0005831244.tif 000044
【図４３】
0005831244.tif 000045
【図４４】
0005831244.tif 000046