(57)【要約】【課題】内外判定のような球面上に存在する特定位置に関する各種の検出時に発生する問題を解決する。【解決手段】球体３００の表面に閉領域設定基準点ａ〜ｆを設定するとともに判定位置１００を設定する。極点４００を投影基準点としてこれらの点を複素平面上に立体射影する。球面上の閉領域設定基準点ａ〜ｆと、複素平面上の射影点Ａ〜Ｆとは、それぞれ同じ位相関係にあるので、球面上での判定位置１００の内外判定が、複素平面上での射影点１０１の内外判定に置き換えられる。射影点１０１を複素平面の原点に平行移動し、移動後の射影点１０１’を始点として実数軸の負方向に負値半直線１１０を設定する。移動後の射影点Ａ’〜Ｆ’により設定される各円弧ベクトルと負値半直線１１０との交差状態に基づいて内外判定を行う。【選択図】  図２
2009133798.tif 000002
【特許請求の範囲】
【請求項１】
球面上の特定位置がどのような位置にあるかを検出する位置検出方法であって、
前記球面上に閉領域を形成する複数の境界線を設定し、
前記球面上に投影基準点を設定し、
前記投影基準点と前記球面を形成する球の中心とを通る軸に垂直で且つ前記球の中心を含む平面を複素平面に設定し、
前記投影基準点を基準にして前記特定位置と前記複数の境界線とを前記複素平面上に射影し、
前記複素平面上において、前記射影した特定位置を起点とした半直線と前記射影した複数の境界線との交差状況に基づいて前記閉領域に対する前記特定位置の内外判定を行う位置検出方法。
【請求項２】
前記複素平面上において、前記射影した特定位置を前記複素平面の原点とするように、前記射影した特定位置および前記射影した複数の境界線を平行移動した後に、前記内外判定を行う、請求項１に記載の位置検出方法。
【請求項３】
前記射影した複数の境界線のそれぞれに対して、複数の直線状線分からなる交差可能性判定基準要素を設定し、
前記半直線と前記交差可能性判定基準要素との交差が検出されない境界線は、前記半直線との交差の検出を行わない、請求項１または請求項２に記載の位置検出方法。
【請求項４】
前記閉領域は、前記複数の境界線により分割される前記球面上の二つの領域の内、前記投影基準点を含まない側に設定される、請求項１〜請求項３のいずれかに記載の位置検出方法。
【請求項５】
前記複数の境界線で作られる閉曲線により分割される前記球面上の二つの領域の一方を前記閉領域として指定した後に前記内外判定を行う、請求項１〜請求項３のいずれかに記載の位置検出方法。
【請求項６】
前記投影基準点が前記閉領域に含まれる場合には、前記投影基準点を前記指定した閉領域外へ設定した後に、前記射影および前記内外判定を行う請求項５に記載の位置検出方法。
【請求項７】
前記境界線は、前記球面上の測地線である、請求項１〜請求項６のいずれかに記載の位置検出方法。
【請求項８】
球面上の特定位置がどのような位置にあるかを検出する位置検出方法であって、
前記特定位置に存在する移動体が進行する方向の先に設定された進行方向特定点と、前記移動体が進行すべき方向の先に設定された目標方向特定点とを設定し、
前記球面上に投影基準点を設定し、
前記投影基準点と前記球面を形成する球の中心とを通る軸に垂直で且つ前記球の中心を含む平面を複素平面に設定し、
前記投影基準点を基準にして前記特定位置、前記進行方向特定点、および前記目標方向特定点を前記複素平面上に射影し、
前記複素平面上において、前記射影した特定位置を起点として前記射影した進行方向特定点を終点とする進行方向ベクトルと、前記射影した特定位置を起点として前記射影した目標方向特定点を終点とする目標方向ベクトルとを設定し、
前記進行方向ベクトルと前記目標方向ベクトルとの成す角を算出する位置検出方法。
【請求項９】
前記進行方向特定点、前記目標方向特定点を通る円平面に垂直で且つ該円平面から最も遠い前記球面上の点を仮想極点に設定し、
前記投影基準点を基準にして前記仮想極点を前記複素平面上に射影し、
前記射影した仮想極点を起点として前記射影した進行方向特定点を終点とする第１方位ベクトルと、前記射影した仮想極点を起点として前記射影した目標方向特定点を終点とする第２方位ベクトルとを設定し、
前記第１方位ベクトルと前記第２方位ベクトルとの成す角を算出し、
該成す角と前記球体の半径とから前記進行方向特定点と前記目標方向特定点との前記球面上での距離を算出する請求項８に記載の位置検出方法。
【請求項１０】
球面上の特定位置がどのような位置にあるかを検出する位置検出装置であって、
前記特定位置を取得する測位手段と、
前記球面上に閉領域を形成する複数の境界線を設定する境界線設定手段と、
前記球面上に投影基準点を設定し、前記投影基準点と前記球面を形成する球の中心とを通る軸に垂直で且つ前記球の中心を含む平面を複素平面に設定し、前記投影基準点を基準にして前記特定位置と前記複数の境界線とを前記複素平面上に射影し、前記複素平面上において、前記射影した特定位置を起点とした半直線と前記射影した複数の境界線との交差状況に基づいて前記閉領域に対する前記特定位置の内外判定を行う内外判定手段と、
を備えた位置検出装置。
【請求項１１】
球面上の特定位置がどのような位置にあるかを検出する位置検出装置であって、
前記特定位置を取得する測位手段と、
前記特定位置に存在する移動体が進行する方向の先に設定された進行方向特定点と、前記移動体が進行すべき方向の先に設定された目標方向特定点とを設定する特定点設定手段と、
前記球面上に投影基準点を設定し、前記投影基準点と前記球面を形成する球の中心とを通る軸に垂直で且つ前記球の中心を含む平面を複素平面に設定し、前記投影基準点を基準にして前記特定位置、前記進行方向特定点、および前記目標方向特定点を前記複素平面上に射影し、前記複素平面上において、前記射影した特定位置を起点として前記射影した進行方向特定点を終点とする進行方向ベクトルと、前記射影した特定位置を起点として前記射影した目標方向特定点を終点とする目標方向ベクトルとを設定し、前記進行方向ベクトルと前記目標方向ベクトルとの成す角を算出する方位ズレ検出手段と、
を備えた位置検出装置。
【請求項１２】
前記方位ズレ検出手段は、
前記進行方向特定点、前記目標方向特定点を通る円平面に垂直で且つ該円平面から最も遠い前記球面上の点を仮想極点に設定し、前記投影基準点を基準にして前記仮想極点を前記複素平面上に射影し、前記射影した仮想極点を起点として前記射影した進行方向特定点を終点とする第１方位ベクトルと前記射影した仮想極点を起点として前記射影した目標方向特定点を終点とする第２方位ベクトルとを設定し、前記第１方位ベクトルと前記第２方位ベクトルとの成す角を算出し、該成す角と前記球体の半径とから前記進行方向特定点と前記目標方向特定点との前記球面上での距離を算出する、
請求項１１に記載の位置検出装置。
【請求項１３】
前記球面は球と仮定した地球の表面であり、
前記特定位置は自装置位置である、請求項１０〜請求項１２のいずれかに記載の位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、船舶の現在位置等の特定位置が所定の領域内に存在するかどうかを判定する内外判定や、船舶の航行方向が目的位置を示す方向とどれぐらいずれているかを検知する方位ズレ検知等の位置に関連する情報を検出する位置検出方法に関するものである。
【背景技術】
【０００２】
現在、船舶に対する通信システムとして、インマルサット衛星を用いた通信システムがある。インマルサットの通信システムでは、予め設定された領域毎に、従うべき送信用パラメータを放送するサービス等があり、自船が当該領域内に位置するかどうかを検知する必要がある。このような特定領域内に自船（特定位置）が存在するかどうかを判定する方法は内外判定を称され、各種の内外判定方法が開示されている（例えば、特許文献１〜特許文献３参照）。また、船舶の現在向いている方向が、船舶の向かうべき方向に対してずれていることを検出することも重要であり、どの程度ずれているかを示す方位ズレ情報を検出する方法も各種開示されている（例えば、特許文献４参照）。
【特許文献１】特開２００５−２２７９９２号公報
【特許文献２】特開平８−３２０９３８号公報
【特許文献３】特開２００１−８４３８４号公報
【特許文献４】特開平６−２６８７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述の内外判定や方位ズレ検出のように、船舶の位置検出を行う場合には、内外判定における領域の境界線の設定や、方位ズレ検出におけるコースの設定を行わなければならない。これら設定は、地球すなわち球の大きさに対して十分小さい領域や短いコースであれば、殆ど問題にはならない。しかしながら、領域が球に対して曲率半径が無視できないほど大きくなる場合には、図１９（Ａ）に示すように、各境界線やコースを曲線として取り扱う大圏型処理を行わなければ、正確な結果を得ることができない。
図１９（Ａ）は、従来の大圏型処理の内外判定用境界線の設定状態を示した概念図である。
大圏型処理は、図１９（Ａ）に示すように、地球の球面に対して、各境界設定ポイントａ〜ｆを設定し、各境界設定ポイントａ〜ｆを測地線で結ぶことにより閉領域２００を設定する。そして、この曲線である測地線に基づいて内外判定を行う。この場合、測地線による境界線と自船位置である特定位置との関係を、球面三角法演算を中心として計算する。この演算処理は、解析的には妥当であっても、逆三角関数を途中計算で用いる等の理由により演算結果の桁落ち等が発生する可能性がある。また、設定等が複雑で計算量が多くなるという問題もある。
【０００４】
このため、図１９（Ｂ）に示すような球面をメルカトール図法等で平面に投影して計算する漸長線型処理も存在する。図１９（Ｂ）は、従来の漸長線型処理の内外判定用境界線の設定状態を示した概念図である。
このような漸長線型処理の場合、一般のメルカトール図法に生じる問題と同様に、球面を長方形からなる平面に置き換えることにより、球体における地球でいう高緯度帯で境界線を定義すると、現実の感覚とは異なる境界線が定義されてしまう。また、球体を平面にすることで、球体の一部が切られるので、この切られた部分を横切る閉領域を設定する場合、一つの閉領域として定義することができない。このため、図１９（Ｂ）に示すように複数の閉領域２０１Ａ，２０１Ｂを設定しなければならず、この場合をも含んだ複雑な内外判定アルゴリズムを作成しなければならない。
【０００５】
このような問題は、内外判定だけの問題ではなく、上述の方位ズレ検出にも生じる。
【０００６】
さらに、上述の各方法では、内外判定の場合に潜在的な表裏問題を含んでいる。すなわち、球体を境界線により二つの領域に分割する場合に、いずれの領域が指定した閉領域であるかは一概には分からない。これを表裏問題と呼び、指定する閉領域が大きければ、さらに分かり難くなる。
【０００７】
したがって、この発明の目的は、上述の内外判定や方位ズレ検出のような球面上に存在する特定位置に関する各種の検出時に発生する問題を解決することができる位置検出方法を実現することにある。
【課題を解決するための手段】
【０００８】
この発明は、球面上の特定位置がどのような位置にあるかを検出する位置検出方法に関するものである。この位置検出方法では、球面上に閉領域を形成するための複数の境界線を設定する。球面上に投影基準点を設定するとともに、該投影基準点と球面を形成する球の中心とを通る軸に垂直で且つ球の中心を含む平面を複素平面に設定する。投影基準点を基準にして特定位置と複数の境界線とを複素平面上に射影する。複素平面上において、射影した特定位置を起点とした半直線と射影した複数の境界線との交差状況に基づいて閉領域に対する特定位置の内外判定を行う。
【０００９】
この方法では、球面上に設定された閉領域が等角写像となる立体射影により、複素平面上に射影される。このような射影を行うことで、球面上の閉領域と複素平面に射影された閉領域とは同じ位相となる。このため、球面上の閉領域を形成する複数の境界線同士の関係と、射影された閉領域を形成する複数の境界線同士の関係とが同じになる。同様に、球面上の特定位置も前記閉領域と同じ基準で射影される。これにより、球面上の特定位置と閉領域との関係も同位相となり、球面上での内外判定が複素平面上での内外判定へ置き換わる。この複素平面上において、特定位置を起点とする半直線を形成すると、当該半直線と各境界線との交差関係は、特定位置が閉領域内であるか閉領域外であるかによって明確に分類できる。したがって、特定位置を起点とする半直線と各境界線との交差関係を算出することで、内外判定が行われる。ここで、半直線と各境界線とは複素平面上の線であるので、交差関係すなわち交差の有無等は、半直線を示す方程式と各境界線を示すそれぞれの方程式との連立方程式の解の判定に置き換えられる。この際、この解の判定は、複素演算における四則演算で完遂されるので、簡単な演算で済む。
【００１０】
また、この発明の位置検出方法では、複素平面上において、射影した特定位置を複素平面の原点とするように、射影した特定位置および射影した複数の境界線を平行移動した後に内外判定を行う。
【００１１】
この方法では、内外判定に用いる半直線が原点起点の半直線となり、より簡素な演算で内外判定を行うことができる。
【００１２】
また、この発明の位置検出方法では、射影した複数の境界線のそれぞれに対して、複数の直線状線分からなる交差可能性判定基準要素を設定する。そして、半直線と交差可能性判定基準要素との交差が検出されない境界線は、半直線との交差の検出を行わない。
【００１３】
この方法では、各境界線に対して複数の直線状線分が設定されており、各境界線に対して、まず半直線とそれぞれの直線状線分との交差状況を検出する。この時点で、半直線との交差が検出されなければ、対応する境界線との交差の可能性が無いものとして、境界線と半直線との交差関係の検出を行わない。このように、まず直線状線分との交差を検出することで、交差の可能性が無い曲線状の境界線との交差を検出する必要が無くなる。この際、直線状線分は一次の関数であるので、二次の関数である境界線の全てに対して交差を検出するよりも、交差検出のための演算が容易になる。
【００１４】
また、この発明の位置検出方法では、閉領域は、複数の境界線で作られる閉曲線により分割される球面上の二つの領域の内、投影基準点を含まない方として定義される。
【００１５】
この方法では、境界線で分割される二つの領域の一方を閉領域として確実に定義できる。
【００１６】
また、この発明の位置検出方法では、複数の境界線により分割される球面上の二つの領域の一方を閉領域として指定した後に内外判定を行う。
【００１７】
この方法では、閉領域の設定がユーザの指定により容易に実現される。
【００１８】
また、この発明の位置検出方法では、投影基準点が閉領域に含まれる場合には、投影基準点を指定した閉領域外へ設定した後に、射影および内外判定を行う。
【００１９】
この方法では、投影基準点自身が複素平面上では無限遠点となることを鑑みて、閉領域内に投影基準点が設定されると、閉領域外へ新たな投影基準点が変更される。これにより、本の投影基準点および当該投影基準点の極近傍が特定位置や境界線上の点に設定されても、新たな投影基準点により、確実に射影が行われる。
【００２０】
また、この発明の位置検出方法は、境界線を球面の測地線とする。
【００２１】
また、この発明の位置検出方法では、特定位置に存在する移動体が進行する方向の先に設定された進行方向特定点と、移動体が進行すべき方向の先に設定された目標方向特定点とを設定する。球面上に投影基準点を設定するとともに、該投影基準点と球面を形成する球の中心とを通る軸に垂直で且つ球の中心を含む平面を複素平面に設定する。投影基準点を基準にして特定位置、進行方向特定点、および目標方向特定点を複素平面上に射影する。複素平面上において、射影した特定位置を起点として射影した進行方向特定点を終点とする進行方向ベクトルと、射影した特定位置を起点として射影した目標方向特定点を終点とする目標方向ベクトルとを設定する。進行方向ベクトルと目標方向ベクトルとの成す角を算出する。
【００２２】
この方法では、球面上に設定された移動体の進行方向に準じた進行方向ベクトルと移動体の現状位置から目的方向特定点を結ぶ目標方向ベクトルとが、複素平面上に射影される。この射影された各ベクトルは、球面上に設定された各ベクトルに対して同じ位相となる。すなわち、射影された各ベクトルの交差関係が球面上に設定された各ベクトルの交差関係を有する。また、射影された各ベクトルの交差角は、球面上に設定された各ベクトルの交差角として保存される。したがって、複素平面上に射影された各ベクトルの成す角を算出することで、球面上での方位差が算出される。
【００２３】
また、この発明の位置検出方法では、進行方向特定点、目標方向特定点を通る円平面に垂直で且つ該円平面から最も遠い球面上の点を仮想極点に設定する。投影基準点を基準にして仮想極点を前記複素平面上に射影する。射影した仮想極点を起点として射影した進行方向特定点を終点とする第１方位ベクトルと、射影した仮想極点を起点として射影した目標方向特定点を終点とする第２方位ベクトルとを設定する。第１方位ベクトルと第２方位ベクトルとの成す角を算出する。成す角と球体の半径とから進行方向特定点と目標方向特定点との球面上での距離を算出する。
【００２４】
この方法では、進行方向特定点と目標方向特定点とを結ぶ曲線状線分を含む外径を有する円平面に垂直で最遠の点が仮想極点に設定される。球体上の進行方向特定点と目標方向特定点と仮想極点との三点が設定されることで、仮想極点から進行方向特定点へのベクトルと仮想極点から目的方向特定点へのベクトルとの成す角、および球体の半径から、進行方向特定点と目標方向特定点とを結ぶ曲線状線分の長さが単純な乗算で算出される。
【発明の効果】
【００２５】
この発明によれば、内外判定や方位ズレ検出のような球面上に存在する点や線分や領域に関連する各種の検出演算を、点、線分、領域等の各要素を複素平面上の問題に置き換えることができる。この際、各要素の位相関係は維持されるので、高精度な検出結果を得ることができる。さらに、これら各種の問題は複素平面上での問題に帰結するので、前記各種の問題を簡単な複素演算で完遂することができる。
【発明を実施するための最良の形態】
【００２６】
本発明の第１の実施形態について図を参照して説明する。なお、本実施形態では、位置検出方法の一種として、内外判定を行う方法について説明する。
図１は内外判定のメインフローを示すフローチャートである。
図２は内外判定方法を説明するための説明図であり、（Ａ）は球面から複素平面への立体射影の概念を示す図であり、（Ｂ）は複素平面上での平行移動の概念を示す図である。
図３は立体射影の具体的方法を示す図であり、（Ａ）は球面から複素平面への射影の状態を示し、（Ｂ）は複素平面上に射影されたベクトルを示す図である。
図４は、図１に示した内外判定方法の各主要ブロックの処理フローをより具体的に示したフローチャートであり、（Ａ）が閉領域定義処理を示し、（Ｂ）が判定位置入力処理を示し、（Ｃ）が内外判定処理を示す。
図５は、内外判定に用いる変数テーブルのパラメータ構成を示す図である。
【００２７】
本実施形態の内外判定は、図１に示すフローチャートに準じて行われ、この処理は、例えば、情報処理装置により実行される。なお、以下の説明では、閉領域設定基準点の点数を６点に設定する例を示すが、設定する閉領域の形状等に応じて、閉領域設定基準点の点数は適宜設定すればよい。
【００２８】
情報処理装置は、内外判定処理が記された内外判定プログラムや後述するデータベース等を記憶する記憶媒体を備えるとともに、内外判定プログラムを実行するＣＰＵ等の演算処理装置を備える。また、情報処理装置は、領域を設定するための閉領域設定基準点（図２（Ａ）のａ（Ｇ１）〜ｆ（Ｇ６）参照）を入力する操作入力部や、この操作内容および操作指示内容、内外判定結果等を表示する表示部を備える。また、情報処理装置は、例えば隣接する位置等に配置された測位装置に接続しており、測位装置から得られた自装置位置（図２（Ａ）の１００（Ｈ））を取得する。なお、上述の測位装置が本発明の「測位手段」に相当し、上述の情報処理装置が本発明の「境界線設定手段」および「内外判定手段」に相当する。
【００２９】
このようなハードウエア構成およびソフトウエア構成により、次の内外判定方法が実行される。
まず、操作者が操作部を用いて内外判定開始の操作入力を行うと、内外判定開始指示が受け付けられ、内外判定処理が開始される（Ｓ１）。なお、内外判定を常時行う仕様であれば、電源オンをトリガとして内外判定を開始するようにすればよい。
【００３０】
次に、閉領域定義処理が行われる（Ｓ２）。具体的な処理フローは図４（Ａ）に示す。
操作者が所望とする閉領域を設定するための閉領域設定基準点ａ〜ｆの球面座標Ｇ１〜Ｇ６の入力を受け付ける（Ｓ２０１）。球面座標Ｇ１〜Ｇ６は、それぞれ緯度φと経度λとにより表される。これにより、球面座標Ｇｍ（ｍ＝１〜６）は、実数である経緯度（φｍ，λｍ）として入力される。入力された球面座標Ｇｍはデータベースに経緯度（φｍ，λｍ）の形で記憶される。このように設定された閉領域設定基準点ａ〜ｆをそれぞれ順に測地線ＧＬ１〜ＧＬ６で結ぶことで球面上での閉領域が設定される。この際、どの閉領域設定基準点ａ〜ｆ同士を測地線で結ぶか（例えば、閉領域設定基準点ａ，ｂ，ｃ，ｄ，ｅ，ｆの順等）は操作者から指示される。
【００３１】
球面座標Ｇｍが入力されると、複素平面への立体射影を行う（Ｓ２０２）。立体射影は、図２に示すように、球面座標Ｇｍが包含される球面を有する球体３００の対向する二極点４００，４０１の内の極点４０１を投影基準点に設定する。対向する二極点４００，４０１を結ぶ軸と直交し、球体３００の中心Ｏを含む円３０１を含む平面を複素平面に設定する。これは、地球を例にすると、Ｎ極およびＳ極の内、Ｓ極を投影基準点にして、赤道面を含む平面を複素平面に設定するものに相当する。このように、投影基準点と複素平面とが設定されることで、球体３００表面の閉領域設定基準点ａ（Ｇ１）〜ｆ（Ｇ６）が複素平面上に立体射影され、射影点Ａ（Ｐ１）〜Ｆ（Ｐ６）に変換される。射影点Ａ〜Ｆの座標は、閉領域設定基準点ａ（Ｇ１）〜ｆ（Ｇ６）の各球面座標Ｇ１〜Ｇ６から複素座標Ｐ１〜Ｐ６に変換されるが、この変換は式１により与えられる。ここで、式１において、Ｒは球体３００の球半径である。なお、この球の半径Ｒは球体３００に限るものではなく、適宜設定すればよい。
【００３２】
【数１】
2009133798.tif 000003
【００３３】
この射影は等角射影であり、各射影点Ａ〜Ｆを結んで形成される各円弧ベクトルＣＬ１〜ＣＬ６は、各閉領域設定基準点ａ〜ｆを結んで形成される測地線ＧＬ１〜ＧＬ６と同位相となる。また、円弧ベクトルＣＬ１〜ＣＬ６の成す角は、測地線ＧＬ１〜ＧＬ６の成す角と同じになる。この際、測地線を投影したベクトルは必ず円弧または直線になる。すなわち、所定有限長の半径を有する円弧か、無限長の半径を有する円弧である直線で表される。
このような座標変換が行われると、上述の閉領域設定基準点ａ〜ｆを結ぶ各測地線ＧＬ１〜ＧＬ６が複素平面上に立体射影されてなる円弧ベクトルＣＬ１〜ＣＬ６の各パラメータが算出される。円弧ベクトルＣＬ１〜ＣＬ６のパラメータは、複素数である中心座標Ｃｔ、２値で表される円弧経路フラグＲｏｔ、実数である円弧半径Ｒｃ、複素表現された半径ベクトルＺを含む。
中心座標Ｃｔ１〜Ｃｔ６は円弧ベクトルＣＬ１〜ＣＬ６のそれぞれに算出されるものであり、各円弧ベクトルＣＬ１〜ＣＬ６の複素平面上での中心座標が与えられる。そして、この中心座標Ｃｔｍ（ｍ＝１〜６）は式２により与えられる。ここで、＜Ｐｍ，Ｐｎ＞はＰｍとＰｎとの内積演算を示し、ｊは虚数単位を示す。なお、ｎは、１＜ｍ＜５であればｎ＝ｍ＋１であり、ｍ＝６であればｎ＝１である。
【００３４】
【数２】
2009133798.tif 000004
【００３５】
円弧経路フラグＲｏｔも円弧ベクトルＣＬ１〜ＣＬ６のそれぞれに対して設定されるものであり、各円弧ベクトルＣＬ１〜ＣＬ６の始点から終点への回転方向を示す。これは円弧ベクトルが、当該円弧ベクトルを含む円の短い経路側か長い経路側かをも示す。すなわち、始点および終点は、円弧ベクトルを含む円上の点であり、円上を経由して始点から終点へ到達する経路は二つ存在する。このため、投影された円弧ベクトルＣＬｍがいずれの経路のものであるかが判別され、この判別結果が円弧経路フラグＲｏｔｍとして与えられる。例えば、図３であれば、射影点Ａ、射影点Ｂを結ぶ円弧ベクトルは複素平面上で時計回りに回る短い経路（太実線）と、反時計回りに回る長い経路（二点鎖線）とが存在する。この場合、測地線ＧＬ１が射影された円弧ベクトルＣＬ１は短い経路（太実線）となるので、円弧経路フラグＲｏｔ１は、短い経路を示す「Ｓｔ」が与えられる。なお、長い経路の場合は「Ｌｇ」が与えられる。このような処理がすべての円弧ベクトルＣＬ１〜ＣＬ６に対して行われ、それぞれ円弧経路フラグＲｏｔ１〜Ｒｏｔ６として与えられる。
【００３６】
円弧半径Ｒｃｍも円弧ベクトルＣＬ１〜ＣＬ６のそれぞれに対して設定されるものであり、円弧ベクトルを含む円の半径が与えられる。円弧半径Ｒｃｍは、円弧ベクトルＣＬｍ上の射影点と、当該円弧ベクトルＣＬｍの中心座標Ｃｔｍとの距離により算出される。例えば、図３であれば、円弧半径Ｒｃ１は、射影点Ａの複素座標Ｐ１と中心座標Ｃｔ１との距離により算出される。このような処理がすべての円弧ベクトルＣＬ１〜ＣＬ６に対して行われ、それぞれ円弧半径Ｒｃ１〜Ｒｃ６として与えられる。
【００３７】
半径ベクトルＺは、円弧ベクトルＣＬ１〜ＣＬ６のそれぞれに対して二つずつ設定されるものであり、円弧ベクトルの中心から始点へ向かうベクトル、および円弧ベクトルの中心から終点へ向かうベクトルの複素表現により与えられる。例えば、図３であれば、円弧ベクトルＣＬ１に対して、中心Ｃｔ１から投影点Ａである始点（Ｐ１）へ向かう半径ベクトルＺ１１と、中心Ｃｔ１から投影点Ｂである終点（Ｐ２）へ向かう半径ベクトルＺ１２とが、複素表現で与えられる。このような処理がすべての円弧ベクトルＣＬ１〜ＣＬ６に対して行われ、円弧ベクトルＣＬ１に対して半径ベクトルＺ１１，Ｚ１２が与えられ、円弧ベクトルＣＬ２に対して半径ベクトルＺ２２，Ｚ２３が与えられ、円弧ベクトルＣＬ３に対して半径ベクトルＺ３３，Ｚ３４が与えられる。さらに、円弧ベクトルＣＬ４に対して半径ベクトルＺ４４，Ｚ４５が与えられ、円弧ベクトルＣＬ５に対して半径ベクトルＺ５５，Ｚ５６が与えられ、円弧ベクトルＣＬ６に対して半径ベクトルＺ６６，Ｚ６１が与えられる。
【００３８】
このような射影処理が終了すると、閉領域設定要件が選択される（Ｓ２０３）。閉領域設定要件とは、閉領域の設定基準がデフォルトのままでよいのか、円弧ベクトルの選択が間違っていないか、等を指定するものである。例えば、デフォルトとして投影基準点を含まない側の領域を指定閉領域とする場合には、閉領域指定の操作が行わなければ、デフォルトの投影基準点を含まない領域を閉領域として決定する。また、閉領域指定操作が行われれば、指定された領域を閉領域として決定する。このような領域指定情報は、領域選択フラグｆとして与えられる。例えば、投影基準点を含まない領域が指定されている場合は領域選択フラグｆを「１」とし、そうでない場合は領域選択フラグｆを「０」として与えられる。
【００３９】
以上のように、算出及び設定された各パラメータは、円弧ベクトルＣＬ１〜ＣＬ６のそれぞれに関連付けされて変数テーブルにデータベースとして記憶される（Ｓ２０４）。
【００４０】
閉領域定義処理Ｓ２が終了すると、判定位置入力処理が行われる（Ｓ３）。判定位置入力処理では、図４（Ｂ）に示すように、まず、判定位置１００（本発明の「特定位置」に相当）の球面座標Ｈの入力が行われる。この判定位置１００は、例えば上述の測位装置で測位された位置であり、球面座標Ｈは、閉領域設定基準点の球面座標Ｇと同様に、実数である経緯度（φ０，λ０）で入力される。そして、判定位置１００の球面座標Ｈが入力されると、閉領域設定基準点ａ〜ｆと同じ基準で複素平面上に立体射影される（Ｓ３０２）。これにより、射影点１０１の複素座標Ｓが得られる。これら球面座標Ｈ、複素座標Ｓは、変数テーブルに記憶される。
【００４１】
このように、閉領域設定基準点ａ〜ｆおよび判定点１００が入力され、射影された閉領域および射影点１０１に関する各パラメータが入力されると、内外判定処理が実行される（Ｓ４）。内外判定処理は、内外判定終了指示を受け付ければ（Ｓ５：Ｙ）、終了し、受け付けなければ継続的に行われる（Ｓ５：Ｎ→Ｓ６）。そして、閉領域の設定変更がなければ、新たに取得した判定位置に基づいて内外判定を行い（Ｓ６：Ｎ→Ｓ３）、閉領域の設定変更があれば、閉領域定義処理から内外判定を行う（Ｓ６：Ｙ→Ｓ２）。
【００４２】
次に、内外判定の詳細な処理について図４（Ｃ）および図６を参照して説明する。
図６は内外判定処理内の各ブロックの詳細なフローを示すフローチャートである。
まず、図４（Ｃ）に示すように、内外判定処理が開始されると、各円弧ベクトルＣＬ１〜ＣＬ６の中心座標Ｃｔ１〜Ｃｔ６の平行移動処理を行う（Ｓ４０１）。この平行移動は、判定位置１００の射影である射影点１０１の複素座標Ｓを複素平面の原点に平行移動するものであり、各中心座標Ｃｔ１〜Ｃｔ６のそれぞれを複素座標Ｓで減算することにより、相対中心Ｑ１〜Ｑ６が算出され、変数テーブルに記憶される。この平行移動により、図２（Ｂ）に示すように、複素平面上では、移動後射影点１０１’が複素平面の原点に位置し、射影点Ａ（Ｐ１）〜Ｆ（Ｐ６）が移動後射影点Ａ’（Ｐ１’）〜Ｆ’（Ｐ６’）に変換される。これにより、円弧ベクトルＣＬ１〜ＣＬ６も円弧ベクトルＣＬ１’〜ＣＬ６’に変換される。
【００４３】
次に、円弧ベクトルＣＬ１’〜ＣＬ６’を一つ選択する（Ｓ４０２）。ここで、全ての円弧ベクトルが読み出し済みであれば、総合得点による内外判定が行われる（Ｓ４０３：Ｎ→Ｓ４０９）。一方、選択した円弧ベクトルがまだ読み出されていないものであれば（Ｓ４０３：Ｙ）、クリッピング判定を実行する（Ｓ４０４）。
【００４４】
クリッピング判定は、図６（Ａ）に示すように、まず、クリッピング判定対象の円弧ベクトル毎に設定された判定基準要素を取得する（Ｓ４４１）。
【００４５】
図７はクリッピング判定の判定基準要素の概念を示す図であり、（Ａ）は複数線分による判定基準要素を示し、（Ｂ）は矩形による判定基準要素を示す。
これらの判定基準要素は、円弧ベクトルＣＬ１’〜ＣＬ６’が設定された時点で算出されるものであり、複数線分の場合であれば、複素平面上で円弧ベクトルＣＬｍ’よりも負側から円弧ベクトルＣＬｍ’に接する二つの直線状線分ＬＬｍ１，ＬＬｍ２により構成される。これら直線状線分ＬＬｍ１，ＬＬｍ２は円弧ベクトルＣＬｍの位置及び範囲を概略的に示す形状からなる線分で設定される。また、矩形の場合であれば、複素平面上で円弧ベクトルＣＬｍ’を内包する最小面積となる矩形ＢＴｍで設定される。
【００４６】
判定基準要素を取得すると、移動後射影点１０１’すなわち複素平面の原点から負方向に延びる負値半直線（図２（Ｂ）の１１０に相当）と、判定基準要素との交点を算出する。例えば、判定基準要素が直線状線分ＬＬｍ１，ＬＬｍ２であれば、これらと負値半直線１１０との交点を算出する（Ｓ４４２）。この交点算出処理は、複素平面上での直線状線分ＬＬｍ１，ＬＬｍ２を示す二つの一次関数と負値半直線を示す一次関数とのそれぞれ連立方程式により行われる。この連立方程式で一つでも解が存在すれば、交差可能性があることを示すフラグを設定する（Ｓ４４３：Ｙ→Ｓ４４４）。一方、解が存在しなければ、交差可能性が無いことを示すフラグを設定する（Ｓ４４３：Ｎ→Ｓ４４５）。
【００４７】
図４（Ｃ）のフローに戻り、クリッピング判定の後、交差可能性があることを示すフラグを取得すれば交点検出を行う（Ｓ４０５：Ｙ→Ｓ４０６）。一方、交差可能性が無いことを示すフラグを取得すれば、次の円弧ベクトルを選択する（Ｓ４０５：Ｎ→Ｓ４０２）。
【００４８】
交点検出（Ｓ４０６）は、円弧ベクトルＣＬｍ’と負値半直線１１０との交点を算出するものである。この際、後述する特定の状況では「内判定ブレイク」が発生し（Ｓ４０７：Ｙ）、内判定（Ｓ４１０）が決定して、内外判定処理が終了する。一方、「内判定ブレイク」が発生しなければ（Ｓ４０７：Ｎ）、得点積算処理Ｓ４０８が実行される。
【００４９】
交点検出および「内判定ブレイク」は、図６（Ｂ）に示すように、まず、円弧ベクトルＣＬｍ’と負値半直線１１０との交点候補を算出する（Ｓ４６１）。この交点候補の算出は、円弧ベクトルＣＬｍ’を含む円の方程式、すなわち、円弧ベクトルＣＬｍ’の相対中心Ｑｍおよび半径Ｒｃｍから得られる円の方程式と負値半直線１１０の方程式とからなる二元二次方程式の解を解く（解の判別をする）ことにより得られる。ここで、解が存在しなければ（Ｓ４６２：Ｎ）、交点無データを出力する（Ｓ４６７）。
【００５０】
一方、解が存在すれば（Ｓ４６２：Ｙ）、交点候補（解）の座標Ｖを算出し、当該交点候補が円弧ベクトルＣＬｍ’の線分内であるかどうかの判定を行う（Ｓ４６３）。
【００５１】
図６（Ｃ）に示すように、円弧ベクトル範囲内であることの判定は、まず、円弧ベクトルＣＬｍの半径ベクトルＺｍｍ，Ｚｍｎを平行移動した円弧ベクトルＣＬｍ’の半径ベクトルＺｍｍ’，Ｚｍｎ’を取得する。また、交点候補の座標Ｖを終点とし相対中心Ｑｍを始点とする交点ベクトルｖｍとを取得する。さらに、半径ベクトルＺｍｍ’，Ｚｍｎ’および交点ベクトルｖｍの複素共役Ｚｍｍ’＊，Ｚｍｎ’＊，ｖｍ＊を算出する。そして、終点側の半径ベクトルＺｍｎ’と始点側の半径ベクトルの複素共役Ｚｍｍ’＊との内積演算値の虚数部を算出して、符号を検出する。同様に、交点ベクトルｖｍと始点側の半径ベクトルの複素共役Ｚｍｍ’＊との内積演算値の虚数部を算出して、符号を検出する。さらに、終点側の半径ベクトルＺｍｎ’と交点ベクトルの複素共役ｖｍ＊との内積演算値の虚数部を算出して、符号を検出する（Ｓ６０１）。この処理は、解の個数に応じて行われ、解（交点候補）が二つある場合には、それぞれの交点座標Ｖｍ，Ｖｍ’に対して行われる。
【００５２】
次に、交点ベクトルｖｍに対して、Ｓ６０１の演算で検出した全ての符号が同符号であるかどうかを確認する。ここで、全ての符号が同じであるということは、図８（Ａ）に示すように、射影点座標Ｐｍ’，Ｐｎ’を含む円の短い側の円周上に交点Ｖｍが存在すること、言い換えれば、半径ベクトルＺｍｍ’を始点側端部として半径ベクトルＺｍｎ’を終点側端部とする狭い側の領域内に交点ベクトルｖｍが存在することを示す。一方で、一つの符号でも同じでないということは、図８（Ｂ）に示すように、射影点座標Ｐｍ’，Ｐｎ’を含む円の長い側の円周上に交点Ｖｍが存在すること、言い換えれば、半径ベクトルＺｍｍ’を始点側端部として半径ベクトルＺｍｎ’を終点側端部とする広い側の領域内に交点ベクトルｖｍが存在することを示す。図８は、半径ベクトルＺｍｍ’，Ｚｍｎ’と交点ベクトルｖｍとの複素平面上での位置関係の例を示す図である。
【００５３】
これに準じ、円弧ベクトルＣＬｍ’が円の短い側であるかどうかを円弧経路フラグに基づいて取得する（Ｓ６０３，Ｓ６０６）。そして、全ての符号が同じ状態で且つ円弧ベクトルＣＬｍ’が円の短い方であることを検出すると（Ｓ６０２：Ｙ→Ｓ６０３→Ｓ６０４：Ｙ）、交点有り判定をする（Ｓ６０５）。一方、全ての符号が同じ状態で且つ円弧ベクトルＣＬｍ’が円の長い方であることを検出すると（Ｓ６０２：Ｙ→Ｓ６０３→Ｓ６０４：Ｎ）、交点無し判定をする（Ｓ６０８）。また、一つの符号でも同じでない状態で且つ円弧ベクトルＣＬｍ’が円の短い方であることを検出すると（Ｓ６０２：Ｎ→Ｓ６０６→Ｓ６０７：Ｙ）、交点無し判定をする（Ｓ６０８）。一方、一つの符号でも同じでない状態で且つ円弧ベクトルＣＬｍ’が円の長い方であることを検出すると（Ｓ６０２：Ｎ→Ｓ６０６→Ｓ６０７：Ｎ）、交点有り判定をする（Ｓ６０９）。このような判定は、交点Ｖｍ’が存在する場合には、交点Ｖｍ’についても行う。
【００５４】
図６（Ｂ）に戻り、解（交点候補）が範囲内、すなわち交点有り判定が行われると（Ｓ４６４：Ｙ）、当該解が複素原点であるかどうかを検討する。ここで、解が複素原点であれば（Ｓ４６５：Ｙ）、内判定を行い（Ｓ４１０）、内外判定を終了する。一方、解が複素原点でなければ（Ｓ４６５：Ｎ）、交点有データを出力する（Ｓ４６６）。また、解（交点候補）が範囲内でない、すなわち交点無し判定が行われると（Ｓ４６４：Ｎ）、交点無データを出力する（Ｓ４６７）。以上のような処理を行うことで、交点検出および「内判定ブレイク」が行われる。
【００５５】
次に、図４（Ｃ）に戻り、「内判定ブレイク」がなければ（Ｓ４０７：Ｎ）、得点積算処理（Ｓ４０８）を行う。
【００５６】
図９は得点積算処理フローの概略フローを示すフローチャートである。
図１０は得点方法の主概念を示す図である。図１１は複素平面上で負値半直線１１０と円弧ベクトルＣＬｍ’とが一点で交差する状態と、その状態での得点を示す。
図１２は交点が一つの場合の得点積算処理フローを示すフローチャートである。
図１３は交点が二つの場合の得点積算処理フローを示すフローチャートである。
図９に示すように、得点積算処理は、交点が二つであれば交点二つ用得点計算を行う（Ｓ８０１：Ｙ→Ｓ８０２）。次に、交点が一つであれば交点一つ用得点計算を行う（Ｓ８０１：Ｎ→Ｓ８０３：Ｙ→Ｓ８０４）。そして、交点が無ければ得点を「０」とする（Ｓ８０３：Ｎ）。
【００５７】
交点の状態は、図１１（Ａ）〜（Ｐ）に示すように複数あるので、まず、負値半直線１１０と円弧ベクトルＣＬｍ’との交差状態の概念について、図１０を参照して説明する。図１０に示すように、交差状態は、円弧ベクトルＣＬｍ’の回転方向と、負値半直線１１０に対して複素平面上のどの方向から交差または接するかにより分類される。ここで、正回転は複素平面に対して反時計回りとなる円弧ベクトルＣＬｍ’の回転を示し、負回転は複素平面に対して時計回りとなる円弧ベクトルＣＬｍ’の回転を示す。
【００５８】
「正の交差」とは、円弧ベクトルＣＬｍ’が負値半直線１１０に対して、虚数軸（Ｉｍ）方向の正領域側から交差することを示す。「負の交差」とは、円弧ベクトルＣＬｍ’が負値半直線１１０に対して、虚数軸（Ｉｍ）方向の負領域側から交差することを示す。なお、交差の場合は、円弧ベクトルＣＬｍ’が負値半直線１１０を完全に交差する場合（図１１（Ａ）〜（Ｄ）参照）と、円弧ベクトルＣＬｍ’の始点もしくは終点が負値半直線１１０上に存在する場合（図１１（Ｉ）〜（Ｐ）参照）とがある。
【００５９】
また、「接する」とは、円弧ベクトルＣＬｍ’が負値半直線１１０に接する、すなわち円弧ベクトルＣＬｍ’を表す関数の極大もしくは極小が負値半直線１１０上に存在することを示す（図１１（Ｅ）〜（Ｈ）参照）。
【００６０】
そして、これらの「交差する」状態と「接する」状態との識別は、平行移動後の円弧ベクトルＣＬｍ’の中心座標Ｑの実数部Ｒｅ（Ｑｍ）と、交点座標Ｖの実数部Ｒｅ（Ｖｍ）と、を用いて行われる。また、「交差する」状態の内で、円弧ベクトルＣＬｍ’の端点が負値半直線１１０上に存在するかどうかの識別は、円弧ベクトルＣＬｍ’の始点側端点座標Ｐｍ’の虚数部Ｉｍ（Ｐｍ’）と、円弧ベクトルＣＬｍ’の終点側端点座標Ｐｎ’の虚数部Ｉｍ（Ｐｎ’）とを用いて行われる。ここで、円弧ベクトルＣＬｍ’の始点側端点座標Ｐｍ’、終点側端点座標Ｐｎ’は、円弧ベクトルＣＬｍの始点側端点座標Ｐｍ、終点側端点座標Ｐｎと、判定位置１００の射影点１０１の複素座標Ｓとにより算出され、Ｐｍ’＝Ｐｍ−Ｓで表され、Ｐｎ’＝Ｐｎ−Ｓで表される。
【００６１】
次に、交点が一つの場合、交点が二つの場合の得点方法について説明する。
（ｉ）  交点が一つの場合
交点が一つの場合の得点計算方法を図１１、図１２を参照して説明する。
【００６２】
交点が一つの場合の得点計算処理では、まず、データベースに記憶されている情報に基づいて、上述の円弧ベクトルＣＬｍ’の始点側端点座標Ｐｍ’、終点側端点座標Ｐｎ’、中心座標Ｑｍ、円弧経路フラグＲｏｔｍ、交点座標Ｖｍを取得する（Ｓ８２１）。始点側端点座標Ｐｍ’の虚数部Ｉｍ（Ｐｍ’）と終点側端点座標Ｐｎ’の虚数部Ｉｍ（Ｐｎ’）との積Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）を算出し（Ｓ８２２）、当該積Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）の値が０であるかどうかを検出する（Ｓ８２３）。このようなＳ８２２，Ｓ８２３の処理は、円弧ベクトルＣＬｍ’の始点または終点が負値半直線１１０上であるかどうかを判定するものであり、Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）＝０であれば（Ｓ８２３：Ｙ）、始点または終点が負値半直線１１０上にあることを示し、Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）≠０であれば（Ｓ８２３：Ｎ）、始点または終点が負値半直線１１０上に無いことを示す。
【００６３】
次に、中心座標Ｑの実数部Ｒｅ（Ｑｍ）と交点座標Ｖの実数部Ｒｅ（Ｖｍ）とを取得し（Ｓ８２４，Ｓ８２４’）する。
【００６４】
（ｉ−１）始点または終点が負値半直線１１０上に無い場合（Ｓ８２３：Ｎの場合）
中心座標Ｑの実数部Ｒｅ（Ｑｍ）と交点座標Ｖの実数部Ｒｅ（Ｖｍ）とが同じ、すなわちＲｅ（Ｑｍ）＝Ｒｅ（Ｖｍ）であるかどうかを判定する。Ｒｅ（Ｑｍ）＝Ｒｅ（Ｖｍ）であれば（Ｓ８２５：Ｙ）、円弧ベクトルＣＬｍ’が負値半直線１１０に接すると判定する。この場合の円弧ベクトルＣＬｍ’と負値半直線１１０との関係は図１１（Ｅ）〜（Ｈ）のいずれかとなり、得点「０」を与える。
【００６５】
一方、Ｒｅ（Ｑｍ）≠Ｒｅ（Ｖｍ）であれば（Ｓ８２５：Ｎ）、円弧ベクトルＣＬｍ’が負値半直線１１０に交差すると判定する。交差が判定されると、円弧経路フラグＲｏｔｍに基づく回転方向と、中心座標Ｑｍの実数部Ｒｅ（Ｑｍ）と交点座標Ｖｍの実数部Ｒｅ（Ｖｍ）との大小関係とを用い、図１０の関係に基づいて、正の交差であるかどうかが判定される（Ｓ８２６）。そして、正の交差、すなわち、図１１（Ａ），（Ｃ）のいずれかの状態であれば（Ｓ８２６：Ｙ）、得点「＋１」を与える（Ｓ８２７）。一方、負の交差、すなわち、図１１（Ｂ），（Ｄ）のいずれかの状態であれば（Ｓ８２６：Ｎ）、得点「−１」を与える（Ｓ８２８）。
【００６６】
（ｉ−２）始点または終点が負値半直線１１０上に有る場合（Ｓ８２３：Ｙの場合）
円弧経路フラグＲｏｔｍに基づく回転方向と、中心座標Ｑの実数部Ｒｅ（Ｑｍ）と交点座標Ｖの実数部Ｒｅ（Ｖｍ）との大小関係とを用い、図１０の関係に基づいて、正の交差であるかどうかが判定される（Ｓ８２９）。なお、この場合、正確には交差しておらず、円弧ベクトルの始点または終点のいずれか一方で負値半直線１１０に接している状態となる。ここで、始点で負値半直線１１０に接している状態を端点発射と称し、終点が負値半直線１１０に接している状態を端点着地と称する。そして、正の交差に対応する正の端点発射または正の端点着地、すなわち図１１（Ｉ）〜（Ｌ）のいずれかの状態であれば（Ｓ８２９：Ｙ）、得点「＋０．５」を与える（Ｓ８３０）。一方、負の交差に対応する負の端点発射または負の端点着地、すなわち図１１（Ｍ）〜（Ｐ）のいずれかの状態であれば（Ｓ８２９：Ｎ）、得点「−０．５」を与える（Ｓ８３１）。
【００６７】
（ｉｉ）  交点が二つの場合
交点が二つの場合の得点計算方法を、図１３、図１４を参照して説明する。
図１４は複素平面上で負値半直線１１０と円弧ベクトルＣＬｍ’とが二点で交差する状態と、その状態での得点の例を示す。
【００６８】
交点が二つの場合、円弧ベクトルＣＬｍ’は負値半直線１１０に必ず二点で交わるので、負値半直線１１０に接する場合を考える必要はない。また、二つの交点のそれぞれで円弧ベクトルＣＬｍ’と負値半直線１１０とが交差すれば、得点は「０」になる。ただし、二つの交点の少なくとも一つが円弧ベクトルＣＬｍ’の始点または終点である場合は、上述の二つの場合に該当せず、所定の得点を与えなければならない。
【００６９】
交点が二つの場合の得点計算処理では、まず、データベースに記憶されている情報に基づいて、円弧ベクトルＣＬｍ’の始点側端点座標Ｐｍ’、終点側端点座標Ｐｎ’を取得する（Ｓ８５１）。始点側端点座標Ｐｍ’の虚数部Ｉｍ（Ｐｍ’）と終点側端点座標Ｐｎ’の虚数部Ｉｍ（Ｐｎ’）との積Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）を算出し（Ｓ８５２）、当該積Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）の値が０であるかどうかを検出する（Ｓ８５３）。このようなＳ８２５２，Ｓ８５３の処理は、円弧ベクトルＣＬｍ’の始点または終点が負値半直線１１０上であるかどうかを判定するものであり、Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）＝０であれば（Ｓ８５３：Ｙ）、始点または終点の少なくとも一方が負値半直線１１０上にあることを示し、Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）≠０であれば（Ｓ８２３：Ｎ）、始点または終点が負値半直線１１０上に無いことを示す。
【００７０】
Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）≠０の場合は（Ｓ８２３：Ｎ）、例えば図１４（Ａ）の状態を示し、上述のように得点は「０」が与えられる。
【００７１】
Ｉｍ（Ｐｍ’）＊Ｉｍ（Ｐｎ’）＝０の場合（Ｓ８２３：Ｙ）、Ｉｍ（Ｐｍ’）＝０であるかどうかを判定し、Ｉｍ（Ｐｍ’）＝０であれば変数ｙ＝Ｉｍ（Ｐｎ’）とおき、Ｉｍ（Ｐｍ’）≠０であれば変数ｙ＝Ｉｍ（Ｐｍ’）とおく（Ｓ８５４）。これにより、始点が負値半直線１１０上にあるか、終点が負値半直線１１０上にあるかを区別する。このような区別の後、ｙ＝０であるかどうかを判定する。この処理で負値半直線１１０上であることが判別した端点と反対の端点が負値半直線１１０上にあるかどうかを判定する。ｙ＝０であれば（Ｓ８５５：Ｙ）、始点、終点ともに負値半直線１１０上にあると判定する。これは、例えば図１４（Ｂ）に示すような状態であり、得点「０」が与えられる。
【００７２】
ｙ≠０の場合（Ｓ８５５：Ｎ）、ｙ＝Ｉｍ（Ｐｍ’）であればｆ＝＋１とおき、ｙ＝（Ｐｎ’）であればｆ＝−１とおく（Ｓ８５６）。次に、ｙ＞０であるかどうかを判定する。これにより、上述の処理で負値半直線１１０上であることが判別した端点と反対の端点が負値半直線１１０に対して虚数軸方向の正側にあるか負側にあるかを判定する。ｙ＞０でなければ（Ｓ８５５：Ｎ）、前記反対側の端点が負側にあると判定する。これは、例えば図１４（Ｃ），（Ｄ）に示すような状態であり、得点として「−０．５＊ｆ」が与えられる。一方、ｙ＞０であれば（Ｓ８５５：Ｙ）、前記反対側の端点が正側にあると判定する。これは、例えば図１４（Ｅ），（Ｆ）に示すような状態であり、得点として「＋０．５＊ｆ」が与えられる。
【００７３】
このように算出された得点は、円弧ベクトルＣＬｍ毎にデータベースに記憶される。
【００７４】
図４に戻り、以上のような処理が全ての円弧ベクトルＣＬｍに対して行われると、総合得点による内外判定を行う（Ｓ４０９）。総合得点とは、全ての円弧ベクトルＣＬｍの得点を加算したものであり、得点結果が「０」であれば内判定を行い、「０」でなければ外判定を行う。
【００７５】
以上のように、本実施形態の処理を行うことで、逆三角関数等の複雑な演算処理を行うことなく、容易な演算処理で内外判定を行うことができる。この際、桁落ち等の演算上の誤差が発生することがないので、高精度且つ確実に内外判定を行うことができる。
【００７６】
次に、第２の実施形態について図を参照して説明する。なお、本実施形態では、位置検出方法の一種として、方位ズレ算出方法について説明する。
以下に示す方位ズレの算出は、第１の実施形態と同様のハードウエア構成からなり、本実施形態では、測位装置が本発明の「測位手段」に相当し、情報処理装置が本発明の「特定点設定手段」および「方位ズレ検出手段」に相当する。
【００７７】
図１５は方位ズレの概念を説明する図である。
現在位置１００に船舶等の移動体が存在する場合、球体ＳＰ上において、現在の航行コース上にある進行方向指定位置１０２（本発明の「進行方向特定点」に相当する。）と目標位置１０３（本発明の「目標方向特定点」に相当する。）とを設定する。そして、現在位置１００から進行方向指定位置１０２へ向かう測地線と、現在位置１００から目標位置１０３へ向かう測地線との成す角をズレ方位角θとする。また、進行方向指定位置１０２と目標位置１０３との測地線に準じた距離をクロストラックエラーＸＴＥとする。これらズレ方位角θとクロストラックエラーＸＴＥとが方位ズレとなる。
【００７８】
図１６は方位ズレの算出フローチャートであり、（Ａ）はズレ方位角θの算出フローであり、（Ｂ）はクロストラックエラーＸＴＥの算出フローである。
【００７９】
（ｉ）ズレ方位角θの算出（図１６（Ａ）参照）
ズレ方位角θを算出する場合、まず、現在位置１００、現在の航行コース上の進行方向指定位置１０２、目標位置１０３を球面座標で入力する（Ｓ９１１）。次に、第１の実施形態に示したのと同様の方法を用いてように、現在位置１００、進行方向指定位置１０２、目標位置１０３を球面上から複素平面上へ立体射影する（Ｓ９１２）。
図１７は複素平面上の射影現在位置１０１、射影進行方向指定位置１２１、射影目標位置１３１の関係を示す図である。
図１７に示すように、ズレ方位角θは、射影現在位置１０１を始点とし射影進行方向指定位置１２１を終点とする円弧ベクトルＣＬ０２（本発明の「進行方向ベクトル」に相当する。）と、射影現在位置１０１を始点とし射影目標位置１３１を終点とする円弧ベクトルＣＬ０３（本発明の「目標方向ベクトル」に相当する。）の成す角θに置き換えられる。
【００８０】
次に、円弧ベクトルＣＬ０２を含む円Ｃｉｒ０２の中心座標Ｃｔ０２と、円弧ベクトルＣＬ０３を含む円Ｃｉｒ０３の中心座標Ｃｔ０３とを算出する（Ｓ９１３）。そして、中心座標Ｃｔ０２を始点とし射影現在位置１０１を終点とする半径ベクトルＣｔＬ０２と、中心座標Ｃｔ０３を始点とし射影現在位置１０１を終点とする半径ベクトルＣｔＬ０３とを算出する。接弦定理より、上述の成す角θは半径ベクトルＣｔＬ０２と半径ベクトルＣｔＬ０３との成す角に置き換えられ、これがズレ方位角θとなる。
【００８１】
したがって、半径ベクトルＣｔＬ０２、ＣｔＬ０３の内積を用いて、ズレ方位角θは、式３で算出される（Ｓ９１４）。
【００８２】
【数３】
2009133798.tif 000005
【００８３】
このような処理により、ズレ方位角θを容易に算出することができる。
【００８４】
（ｉｉ）クロストラックエラーＸＴＥの算出（図１６（Ｂ）参照）
図１８は、クロストラックエラーＸＴＥ算出方法を説明する図であり、（Ａ）が仮想極１４０の設定方法を示し、（Ｂ）が立体射影後における複素平面上の射影仮想極位置１４１、射影進行方向指定位置１２２、射影目標位置１３２の関係を示す図である。
【００８５】
クロストラックエラーＸＴＥを算出する場合も、まず、現在位置１００、現在の航行コース上の進行方向指定位置１０２、目標位置１０３を球面座標で入力する（Ｓ９１１）。次に、図１８（Ａ）に示すように、球体ＳＰに対して、球体ＳＰと同じ径からなり進行方向指定位置１０２および目標位置１０３を通る円を設定する。この際、この円は球体ＳＰの球面に沿って形成する。さらに、この円に対して垂直な軸上にあり、且つ円から最も遠い球面上の二つの点の一方を仮想極１４０に設定する（Ｓ９２１）。
【００８６】
次に、前記進行方向指定位置１０２および目標位置１０３を通る円に対して、仮想極１４０と対向する側の極を投影基準点として、当該円を含む平面を複素平面に設定して、第１の実施形態やズレ方位角θ算出方法と同様に、立体射影を行う（Ｓ９２２）。なお、投影基準点はこの極に限らず適宜設定すればよい。また、このような立体射影による射影進行方向指定位置１２２、射影目標位置１３２は、上述のズレ方位角θの算出時の射影進行方向指定位置１２１、射影目標位置１３１に対して、それぞれの複素平面間の関係に準じたメビウス変換を行うことにより、容易に算出することができる。
【００８７】
次に、射影仮想極位置１４１を始点とし射影進行方向指定位置１２２を終点とする円弧ベクトルＣＬ４２（本発明の「第１方位ベクトル」に相当する。）を設定するとともに、射影仮想極位置１４１を始点とし射影目標位置１３２を終点とする円弧ベクトルＣＬ４３（本発明の「第２方位ベクトル」に相当する。）を設定する。そして、円弧ベクトルＣＬ４２を含む円Ｃｉｒ４２の中心座標Ｃｔ４２と、円弧ベクトルＣＬ４３を含む円Ｃｉｒ４３の中心座標Ｃｔ４３とを算出する（Ｓ９２３）。
【００８８】
ここで、図１８（Ｂ）に示すように、射影仮想極位置１４１を始点とし射影進行方向指定位置１２２を終点とする円弧ベクトルＣＬ４２と、射影仮想極位置１４１を始点とし射影目標位置１３１を終点とする円弧ベクトルＣＬ４３との成す角を開き角ψとする。この開き角ψは、接弦定理から、中心座標Ｃｔ４２を始点とし射影仮想極位置１４１を終点とする半径ベクトルＣｔＬ４２と、中心座標Ｃｔ４３を始点とし射影仮想極位置１４１を終点とする半径ベクトルＣｔＬ４３との成す角と同じになる。したがって、半径ベクトルＣｔＬ４２，ＣｔＬ４３の式４に示す内積演算より成す角を算出する（Ｓ９２４）。
【００８９】
【数４】
2009133798.tif 000006
【００９０】
開き角ψが算出されると、クロストラックエラーＸＴＥは、球体の半径Ｒとして、式５から算出される（Ｓ９２５）。
【００９１】
ＸＴＥ＝Ｒ＊ψ          −（式５）
このように、クロストラックエラーＸＴＥについても容易な演算で算出することができる。
【００９２】
以上のように、上述の方法を用いることで、確実且つ高精度な演算処理で内外判定や方位ズレ検出を行うことができる。この際、例えば内外判定であれば指定する閉領域の大きさを大きく取ることもできる。
【００９３】
また、上述の方法を用いることで、投影基準点を除けば、基本的に設定不可能な特異点を無くすことができる。なお、投影基準点を円弧ベクトルに含む場合には、投影基準点を変更して円弧ベクトルに含まないようにすればよく、結局的に特異点を含まない簡素な演算に帰結させることができる。
【００９４】
また、上述の方法では、各円弧ベクトルが自身と交わらない、所謂ジョルダン曲線の場合のみを示したが、当該方法では、ジョルダン曲線に限ることなく任意の曲線であっても演算を行うことができる。
【００９５】
また、上述の説明では、球体の場合を例に説明したが、楕円体についても上述の構成および処理を適用することができる。この場合、楕円面上の点を球面上に投影し、当該投影した点および線を用いて、上述の処理を行えばよい。これにより、楕円面に対しても、内外判定や方位ズレの算出を簡易に行うことができる。
【図面の簡単な説明】
【００９６】
【図１】内外判定のメインフローを示すフローチャートである。
【図２】内外判定方法を説明するための説明図である。
【図３】立体射影の具体的方法を示す図である。
【図４】図１に示した内外判定方法の各主要ブロックの処理フローをより具体的に示したフローチャートである。
【図５】内外判定に用いるデータベースのパラメータ構成を示す図である。
【図６】内外判定処理内の各ブロックの詳細なフローを示すフローチャートである。
【図７】クリッピング判定の判定基準要素の概念を示す図である。
【図８】半径ベクトルＺｍｍ’，Ｚｍｎ’と交点ベクトルｖｍとの複素平面上での位置関係の例を示す図である。
【図９】得点積算処理フローの概略フローを示すフローチャートである。
【図１０】得点方法の主概念を示す図である。
【図１１】図１１は複素平面上で負値半直線１１０と円弧ベクトルＣＬｍ’とが一点で交差する状態と、その状態での得点を示す。
【図１２】交点が一つの場合の得点積算処理フローを示すフローチャートである。
【図１３】交点が二つの場合の得点積算処理フローを示すフローチャートである。
【図１４】複素平面上で負値半直線１１０と円弧ベクトルＣＬｍ’とが二点で交差する状態と、その状態での得点の例を示す。
【図１５】方位ズレの概念を説明する図である。
【図１６】方位ズレの算出フローチャートである。
【図１７】複素平面上の射影現在位置１０１、射影進行方向指定位置１２１、射影目標位置１３１の関係を示す図である。
【図１８】クロストラックエラーＸＴＥ算出方法を説明する図である。
【図１９】従来技術の問題点を説明するための説明図である。
【符号の説明】
【００９７】
ａ〜ｆ−閉領域設定基準点、Ａ〜Ｆ−射影点、１００−判定位置、１０２−進行方向指定位置、１０３−目標位置、１０１−射影現在位置、１１０−負値半直線、１２１，１２２−射影進行方向指定位置、１３１，１３２−射影目標位置、１４０−仮想極、１４１−射影仮想極、２００，２０１Ａ，２０１Ｂ−閉領域、３００，ＳＰ−球体、４００，４０１−極点、
【図１】
2009133798.tif 000007
【図２】
2009133798.tif 000008
【図３】
2009133798.tif 000009
【図４】
2009133798.tif 000010
【図５】
2009133798.tif 000011
【図６】
2009133798.tif 000012
【図７】
2009133798.tif 000013
【図８】
2009133798.tif 000014
【図９】
2009133798.tif 000015
【図１０】
2009133798.tif 000016
【図１１】
2009133798.tif 000017
【図１２】
2009133798.tif 000018
【図１３】
2009133798.tif 000019
【図１４】
2009133798.tif 000020
【図１５】
2009133798.tif 000021
【図１６】
2009133798.tif 000022
【図１７】
2009133798.tif 000023
【図１８】
2009133798.tif 000024
【図１９】
2009133798.tif 000025